我已經採用的webdriver寫入一個測試的情況下,我關閉瀏覽器中的一種方法,並再次我打開瀏覽器不能夠調用問題用的webdriver測試用例
driver.close();
我通過上述命令關閉瀏覽器再次打開瀏覽器我driver.get(url)
但我得到錯誤 「錯誤與遠程瀏覽器,它可能已經死了溝通」
我已經採用的webdriver寫入一個測試的情況下,我關閉瀏覽器中的一種方法,並再次我打開瀏覽器不能夠調用問題用的webdriver測試用例
driver.close();
我通過上述命令關閉瀏覽器再次打開瀏覽器我driver.get(url)
但我得到錯誤 「錯誤與遠程瀏覽器,它可能已經死了溝通」
如果你真的想導航到新的URL之前關閉瀏覽器,然後執行:
driver.quit();
driver = new FirefoxDriver();
driver.get(url);
但是,爲什麼你要在第一時間瀏覽到新的URL之前關閉瀏覽器?
我能想到的兩個或者一個原因:
你想要去與你的瀏覽器歷史記錄清理下一個URL。
如果確實如此,那麼deleteAllCookies
將完成這項工作。
您不能進入下一個URL,因爲某些彈出警報阻止了您這樣做。
如果確實如此,那麼close
不是quit
都可以完成這項工作。
我認爲這將是一個巨大的性能打擊! –
OP在導航到新URL之前關閉瀏覽器的原因是什麼?我可以考慮以下兩種選擇中的任何一種:1.轉到具有清除歷史記錄的下一個URL(爲此,「deleteAllCookies」可以正常工作)。 2.一些彈出提示(爲此,既不'close'也不''將幫助)。 –
+1進行評論。請用相同的方法更新POST。 –
那麼你殺了瀏覽器與driver.close();
爲了使用驅動程序,您必須創建一個使用一些新的像driver = new FirefoxDriver(capabilities);
「關閉」只關閉當前窗口不關閉驅動程序。 –
@APaul不要忘記,如果只有一個瀏覽器窗口打開,'close()'試圖像'quit()'那樣操作。語義略有不同,特別是對於IE和Chrome,但是去Firefox,他們更接近於同樣的東西。在任何情況下,僅在打開一個瀏覽器窗口的情況下調用'close()'會使會話失效,並強制您創建一個新的瀏覽器實例。 – JimEvans
+1 @JimEvans。我認爲大多數用戶並沒有使用多個窗口。 –
移動回答評論。
我想我得到了你的問題。儘管你已經調用了close(),它只能關閉當前窗口,但如果你想在多個窗口之間切換,你應該使用它。
對於你的情況只是不關閉驅動程序,它會使用相同的窗口來打開url。
You have to use following way if you want to close the current browser and open
a new one:
webDriver.Close();
//Goto the Target website
WebDriver.Navigate().GoToUrl("url");
And you can use following way if you want to close the browser and kill the
web driver:
webDriver.Close();
webDriver.Quit();
請提供代碼。這應該工作。除非你在驅動程序上調用了quit()。 –