Selenium中有一個.delete_all_visible_cookies
方法。我驚訝地發現Webdriver中的.delete_all_cookies
是私有API的一部分,因此無法通過@driver實例訪問。刪除Webdriver中的cookies
這對IE來說是一個問題,因爲它不會像FF那樣在新的測試運行中啓動乾淨的瀏覽器。
Selenium中有一個.delete_all_visible_cookies
方法。我驚訝地發現Webdriver中的.delete_all_cookies
是私有API的一部分,因此無法通過@driver實例訪問。刪除Webdriver中的cookies
這對IE來說是一個問題,因爲它不會像FF那樣在新的測試運行中啓動乾淨的瀏覽器。
據我所知,你必須選擇:
當創建IE實例使用的功能參數:
DesiredCapabilities帽= DesiredCapabilities.internetExplorer(); caps.setCapability(CapabilityType.ForSeleniumServer.ENSURING_CLEAN_SESSION,true); WebDriver驅動程序=新InternetExplorerDriver(caps);
一旦被初始化,您可以使用:
driver.manage()deleteAllCookies()
不幸的是,我是不是能夠通過webdriver的手段來解決這個問題。最後,我所做的只是在運行測試之前從命令行中刪除cookie。該生產線是
RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 2
憎恨IE的另一個原因...... – craastad
這部分代碼創建一個選擇對象,並設置清潔會話屬性爲true,並且通過它,而創建一個驅動程序實例資源管理器的驅動程序。適用於我。
InternetExplorerOptions options = new InternetExplorerOptions();
options.EnsureCleanSession = true;
return new InternetExplorerDriver(Config.IEDriverPath, options);
一般而言,您應該在答案本身中包含您的代碼的解釋,而不是在評論中。 –
IN IEDRIVER 2.53.1 該IE可以通過使用
capabilities.setCapability(InternetExplorerDriver.ENABLE_ELEMENT_CACHE_CLEANUP, true);
似乎是一個溶液刪除緩存。尋找一個Ruby的等價物。 – Yulia
根據這個,你可以做相當於Ruby的功能 - > http://selenium.googlecode.com/svn/trunk/docs/api/rb/Selenium/WebDriver.html – jasalguero
我仍然無法找到解。可用的功能是http://selenium.googlecode.com/svn/trunk/docs/api/rb/Selenium/WebDriver/Remote/Capabilities.html。沒有clean_session或clear_cookies或類似的顯示。我迷路了......我相信很多開發者都面臨這個問題。你如何解決它? – Yulia