问题描述
这里有两个问题 1.无法清除缓存和 2. 启动边缘浏览器时总是出现恢复弹出窗口。 是否有任何可用的边缘选项/功能?
使用的边缘选项:
EdgeOptions options = new EdgeOptions();
capabilities.setCapability("applicationCacheEnabled",false);
options.merge(capabilities);
options.addArguments("--no-default-browser-check");
options.addArguments("--disable-extensions");
options.addArguments("test-type");
options.addArguments("--remote-debugging-port=9222");
options.setExperimentalOption("prefs",preferences);
options.addArguments("--disable-session-crashed-bubble");
options.addArguments("--disable-application-cache");
options.addArguments("--disable-gpu");
options.addArguments("--disable-dev-shm-usage");
options.addArguments("--no-sandBox");
options.addArguments("--ignore-certificate-errors");
目前正在使用 taskkill 在打开新的边缘浏览器以实现自动化之前关闭任何现有浏览器
rt.exec("taskkill /im msedge.exe /f /t");
为了清除缓存 -> 使用下面的命令启动 clearbrowserData
edge://settings/clearbrowserData
清除缓存
解决方法
您可以自动执行页面 edge://settings/clearBrowserData
以清除浏览数据。模拟点击页面中的立即清除按钮来清除缓存,如下所示:
driver.get("edge://settings/clearBrowserData");
driver.findElement(By.id("clear-now")).sendKeys(Keys.ENTER);
关于恢复弹出窗口,您是否正确关闭并销毁了 WebDriver 和 Web Client 实例?如果您在代码中正确关闭它们,我认为恢复弹出窗口不会出现。您需要在代码末尾使用 driver.quit()
以确保在完成自动化后正确关闭实例。您也可以参考this thread了解更多信息。