2016-10-06 42 views
2

私はJavaでSelenium Web Driver APIを使用しています。 Webドライバを実行するたびに、自動的にtmp Firefoxプロファイルが作成され、tmpプロファイルに関連するすべてのドライバ関連コードが実行されます。SeleniumにWebDriverで永続的なFirefoxプロファイルを使用させるには?

私の問題は、この質問で作成された余分なスペースではありません:How to stop Selenium from creating temporary Firefox Profiles using Web Driver?と、私はtmpプロファイルで使用されているリソースをクリアするためにdriver.quitを呼び出すことができます。

私の問題は、永久的なFirefoxプロファイルを使用して、次回このFFプロファイルを起動するときに、以前のプロファイルのすべてのCookieとキャッシュを継承することです。毎回手動でクッキーを保存して追加することができますが、これは面倒です。

Firefoxにtmpプロファイルを作成せず、Firefoxを通常のプロファイルを使用して通常閲覧しているように起動させる方法はありますか?私はちょうど私が通常のユーザーのようにブラウズしていたかのようにそれを起動したい。

ありがとうございました

答えて

0

一般に、セレンはクロスセッションCookieをサポートしていません。

最も簡単な方法は、シリアル化を使用することです。 セレンのクッキーの周りにラッパークラスを作成し、それをシリアライズ可能にする必要があります。クラスCookiesManagerを作成するには、2つのメソッドがあります:SaveSession() - シリアル化されたファイルから復元するためにSaveおよびRestoreSession()を実行します。

もう1つの方法は、いくつかのクッキー情報をいくつかのクッキーファイルに保存することです。 Like .... CsvまたはXML。 このようにサンプルを見ることができます:Keep user logged in - save cookies using web driver ただし、C#のみです。

特定のプロファイルの使用

:あなたは、以下の方法により、Firefoxのプロファイルマネージャを実行する必要がFirefoxのためのいくつかの追加のプロファイルを作成する

​​

を:firefox.exe -p

+0

おかげで、これは私の質問に答えていません。私は、Seleniumに永続的なFFプロファイルを正確に使用させ、クッキーの保存と復元を避ける方法を知りたい。 –

関連する問題