2016-10-06 25 views
2

我正在使用Selenium Web Driver API和Java。每當我運行Web Driver時,它都會自動創建一個tmp Firefox配置文件並執行所有與tmp配置文件相關的驅動程序相關代碼。如何強制Selenium使用WebDriver使用永久性Firefox配置文件?

我的問題不是這個問題所產生的額外空間:How to stop Selenium from creating temporary Firefox Profiles using Web Driver?,我知道我可以調用driver.quit來清除tmp配置文件使用的資源。

相反,我的問題是我想使用永久性的Firefox配置文件,以便下次啓動此FF配置文件時,我繼承了之前配置文件的所有cookie和緩存。我知道我可以每次手動保存和添加cookie,但這很乏味。

那麼,有什麼辦法可以強制Firefox不創建tmp配置文件並啓動Firefox,就好像我正在使用永久配置文件正常瀏覽一樣?我只是希望它啓動,就像我正在瀏覽像普通用戶一樣。

謝謝

回答

0

通常Selenium不支持跨會話cookie。

最簡單的方法是使用序列化。 你需要圍繞硒的cookie創建包裝類,並使其可序列化。並創建類CookiesManager,其中將有2個方法:SaveSession() - 保存和RestoreSession() - 從序列化文件恢復。

另一種方法是將一些cookie信息保存到某個臨時cookie文件中。像.... Csv或XML。 這種方式的示例,你可以看到這裏:Keep user logged in - save cookies using web driver 但只適用於c#。


使用特定的配置文件:

​​

創建火狐則需要通過以下方式運行Firefox的配置文件管理器的一些額外的配置文件:firefox.exe -p

+0

感謝但這並不回答我的問題。我想知道如何強制Selenium使用永久FF配置文件,以避免保存和恢復Cookie。 –

相關問題