我正在尝试使用Selenium开发工具Java API,对于多种API方法,我正在使用java.util.concurrent.TimeoutException
。
例如,我正在尝试使用Network.clearBrowserCache
,它应该可以在chromedriver文档中起作用:https://chromedevtools.github.io/devtools-protocol/tot/Network/
我正在使用以下代码调用clearBrowserCache
:chromeDriver.getDevTools().send(Network.clearBrowserCache())
它失败,但是同时如果我使用其他devTools命令,例如:chromeDriver.getDevTools().send(Browser.getVersion())
它正确返回数据。
最佳答案
尝试先调用createSession
,再调用clearBrowserCache
。
使用您的设置,可以正常工作:
chromeDriver.getDevTools().createSession();
chromeDriver.getDevTools().send(Network.clearBrowserCache())
这会产生java.util.concurrent.TimeoutException
:chromeDriver.getDevTools().send(Network.clearBrowserCache())
您可以使用以下代码段验证浏览器缓存是否已清除:
ChromeDriver driver = new ChromeDriver();
driver.get("https://refreshyourcache.com/en/cache-test/");
Thread.sleep(2000);
driver.getDevTools().createSession();
driver.getDevTools().send(Network.clearBrowserCache());
driver.get("https://refreshyourcache.com/en/cache-test/");
Thread.sleep(5000);
如果运行代码,则测试浏览器中显示的页面将显示以下图像:如果对行
driver.getDevTools().send(Network.clearBrowserCache());
进行注释,则会得到不同的结果:关于java - 将开发工具与selenium-java-4.0.0和chromedriver v85一起使用时发生超时异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63830485/