【问题标题】:How to fix [WARNING]: Timed out connecting to Chrome, retrying如何修复 [警告]:连接到 Chrome 时超时,正在重试
【发布时间】:2021-07-15 07:14:00
【问题描述】:

我通过基于 Java 的 selenium 循环访问网站。一些网站立即崩溃,所以我得到了错误

[1618982990.911][WARNING]: Timed out connecting to Chrome, retrying...

过了一会儿。

所以这不是我认为的硒问题,因为如果我因为 js 错误而手动访问该网站,甚至 chrome 也会崩溃,说网站不合理

我的问题是,每次网站崩溃时,chromedriver 和 chrome 实例都会保持活动状态,这样我在短时间内就会有很高的 CPU 使用率。

如果它被冻结,我可以告诉 selenium 退出实例吗?但我不知道如果它不再从 chrome 得到答案,这应该怎么可能?

感谢任何解决方案或想法

【问题讨论】:

    标签: java selenium web-scraping selenium-chromedriver


    【解决方案1】:

    有时使用某些 Windows 版本 driver.quit() 不会杀死我遇到的 chrome 进程。 因此,在脚本结束时,如果 driver.quit 不起作用,您可以使用 java 代码终止 chrome 进程。

    请参考stackoverflow链接,如果Java中存在该进程,则该链接具有终止进程并将chrome进程传递给它的代码。

    【讨论】:

      【解决方案2】:

      我为任何有兴趣的人找到了一种解决方法。首先设置 pageLoadTimeout,然后在抛出异常时强制终止任何 chrome 实例。

       try{
      driver.manage().timeouts().pageLoadTimeout(10, TimeUnit.SECONDS);
      //some excecution code....
      }
      
      catch (Exception e) {
              System.out.println("Error. Closing");
              driver.quit();
              Runtime.getRuntime().exec("taskkill /F /IM chrome.exe");}
      

      【讨论】:

        猜你喜欢
        • 2020-07-08
        • 2020-03-06
        • 1970-01-01
        • 2014-08-26
        • 2015-03-28
        • 2016-02-04
        • 2020-12-05
        • 2014-11-21
        • 1970-01-01
        相关资源
        最近更新 更多