java - 将开发工具与selenium-java-4.0.0和chromedriver v85一起使用时发生超时异常

标签 java selenium selenium-chromedriver google-chrome-devtools selenium4

我正在尝试使用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())它正确返回数据。

  • Chrome版本是:85.0.4183.39
  • Chromedriver版本是:85.0.4183.87
  • Selenium-java版本是:4.0.0-alpha-6
  • 最佳答案

    尝试先调用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);
    
    如果运行代码,则测试浏览器中显示的页面将显示以下图像:
    enter image description here
    如果对行driver.getDevTools().send(Network.clearBrowserCache());进行注释,则会得到不同的结果:
    enter image description here

    关于java - 将开发工具与selenium-java-4.0.0和chromedriver v85一起使用时发生超时异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63830485/

    相关文章:

    python - 运行 ChromeDriver 的多个实例

    java - 在函数内创建/调用函数

    java - TYPE_INT_ARGB 图像未正确显示

    java - Jackson ObjectMapper 在转换为 POJO 时忽略某些键

    java - JAX-RS消耗json问题

    python - 使用 Python 和 WebDriver 断言/验证ElementPresent?

    javascript - 将 PhantomJS 与 Selenium Webdriver 和 Python 结合使用

    python - 使用selenium(python)抓取网页

    c# - (C#) 如何隐藏 Selenium Webdriver 控制台应用程序,同时还提供驱动程序的自定义路径?

    c# - Selenium Chrome 60 Headless 处理基于 HTTPS 的基本身份验证 SAML 对话框