2

有没有办法使用 selenium API 或 javascript 清除 chromedriver 缓存?

我已经尝试过以下方法:

ChromeOptions options = new ChromeOptions();
                options.addArguments("user-data-dir=" + pathOfChromeProfile);
                //options.addArguments("-incognito");
                options.addArguments("-disable-cache");

                DesiredCapabilities capabilities = DesiredCapabilities.chrome();
                capabilities.setCapability(CapabilityType.ForSeleniumServer.ENSURING_CLEAN_SESSION, true);
                capabilities.setCapability(ChromeOptions.CAPABILITY, options);
                capabilities.setCapability(CapabilityType.SUPPORTS_APPLICATION_CACHE, false);

我还尝试了 Java 脚本,我必须与隐身模式中不可用的扩展进行交互,因此它不是一个选项。

我也会欣赏 SafariDriver 的类似解决方案。

4

1 回答 1

3

是的 - 每次都使用新的配置文件。

每个测试都应该有自己的 WebDriver 实例。不要“共享浏览器”。如果您共享浏览器,则不会清除缓存。相反,让每个测试启动自己的浏览器 - 自动从新缓存开始。

于 2015-12-07T18:02:56.333 回答