【问题标题】:chromedriver clear cache - javachromedriver 清除缓存 - java
【发布时间】:2016-02-05 09:41:31
【问题描述】:

如何清除 java 中 chromedriver 新实例的缓存?我正在尝试这个,但我不太确定还能做什么?是否可以创建一个 javascript hack 来清除我可以从驱动程序调用的 JS 中的缓存?

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;
}

【问题讨论】:

  • 默认情况下,selenium 会启动具有空缓存的完全干净的配置文件。您的本地存储和 cookie 也将一清二楚。您能否详细说明您要解决的实际问题是什么?
  • @alecxe 不太确定,因为我正在尝试访问一个网站,但我无法访问它,因为我之前已经登录过......我只是想确保安全并确保其清晰.
  • 谢谢,这是私人网站还是公共网站?换句话说,你能让我们重现问题吗?
  • @alecxe 抱歉,私人内部网站......所以很遗憾。
  • 好的,没问题,你在 Firefox 中看到同样的行为吗?

标签: javascript java selenium selenium-chromedriver


【解决方案1】:

默认情况下,selenium 会启动一个完全干净的配置文件,其中包含空缓存、本地存储和 cookie。你实际上是 browsing privately 与 selenium。

首先,您的代码中存在问题 - 您没有将 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);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-11-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-25
    相关资源
    最近更新 更多