0

我正在測試一個需要登錄的應用程序。當我單擊「Keep Me Logged In」按鈕時,使用SafariDriver會按預期自動登錄每個新創建的SafariDriver實例,但是當我使用FirefoxDriver或ChromeDriver時,我每次都會要求提供憑據,就好像我從未登錄過使用該瀏覽器之前(當我有手動和使用webdriver)。是否需要啓用某些設置,以便FireFox和Chrome保持我的登錄狀態?WebDriver - 「讓我呆在裏面」

+0

你有關閉瀏覽器選項中勾選後,清除緩存和Cookie ? – Saifur

+0

@Saifur我不這麼認爲,當我手動重新啓動瀏覽器時,我保持登錄狀態。請問哪裏可以查看這些選項? –

+0

請參見[this](https://support.mozilla.org/en-US/kb/delete-browsing-search-download-history-firefox)。 Chrome [this](https://productforums.google.com/forum/#!topic/chrome/1302XTQSUWM) – Saifur

回答

3

發生這種情況是因爲WebDriver爲每個會話創建一個新的FireFox配置文件。這些配置文件包括緩存/書籤/插件等,以獲取更多信息,請參閱documentation。 FirefoxDirver允許您使用特定配置文件啓動FireFox。這可以通過使用下面的代碼來完成:

FirefoxProfile ff = new FirefoxProfile(new File("/Path/to/profile/directory")); 
driver = new FirefoxDriver(ff); 

我會更新的答案,如果我發現在鉻做到這一點的方式

+1

哦,是的。我誤解了你的問題。我以爲你不希望瀏覽器保存cookie。是的,這是正確的方式 – Saifur

+0

似乎有一些關於如何在chrome中執行此操作的信息:http://stackoverflow.com/questions/14480717/load-chrome-profile-using-selenium-webdriver我還沒有時間來嘗試自己強硬 –

相關問題