2015-11-04 547 views
2

如何清除java中一個新的chromedriver實例的緩存?我正在嘗試這個,但我不太確定還有什麼可以做的?是否有可能創建一個JavaScript hack清除JS中的緩存,我可以從我的驅動程序調用?chromedriver清除緩存 - java

private static WebDriver makeDriver() { 
    DesiredCapabilities capabilities = DesiredCapabilities.chrome(); 
    capabilities.setCapability(CapabilityType.ForSeleniumServer.ENSURING_CLEAN_SESSION, true); 
    System.setProperty("webdriver.chrome.driver", "chromedriver.exe"); 
    ChromeDriver driver = new ChromeDriver(); 
    driver.manage().deleteAllCookies(); 
    return driver; 
} 
+0

默認情況下,具有空緩存的完全清理配置文件由硒啓動。您的本地存儲和cookies也會很清晰。您能否詳細說明您正在嘗試解決的實際問題? – alecxe

+0

@alecxe不太確定,因爲我試圖去一個網站,我無法訪問它,因爲我以前登錄過......我只是想安全並確保它清晰。 – Ben

+0

謝謝,這是一個私人或公共網站?換句話說,你能否爲我們提供可重現的問題? – alecxe

回答

5

默認情況下,一個完全乾淨的輪廓空緩存,本地存儲,餅乾由硒解僱了。你實際上是含有硒的browsing privately

首先,有一個在您的代碼有問題 - 你是不是通過你DesiredCapabilities實例的webdriver的構造(未盡管測試):

ChromeDriver driver = new ChromeDriver(capabilities); 

你也可以嘗試forcing the "incognito" mode

DesiredCapabilities capabilities = DesiredCapabilities.chrome(); 

capabilities.setCapability(CapabilityType.ForSeleniumServer.ENSURING_CLEAN_SESSION, true); 
capabilities.setCapability("chrome.switches", Arrays.asList("--incognito")); 

ChromeDriver driver = new ChromeDriver(capabilities); 
+0

謝謝我認爲隱身模式也解決了它。 – Ben