Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何修复[警告]:连接到Chrome时超时,正在重试_Java_Selenium_Web Scraping_Selenium Chromedriver - Fatal编程技术网

Java 如何修复[警告]:连接到Chrome时超时,正在重试

Java 如何修复[警告]:连接到Chrome时超时,正在重试,java,selenium,web-scraping,selenium-chromedriver,Java,Selenium,Web Scraping,Selenium Chromedriver,我通过基于Java的selenium以循环方式访问网站。有些网站会立即崩溃,所以我得到了错误信息 [1618982990.911][WARNING]: Timed out connecting to Chrome, retrying... 过了一会儿 所以我认为这不是一个selenium问题,因为如果我因为js错误而手动访问该站点,即使是chrome也会崩溃,比如说无响应的网站 我的问题是,每当一个站点崩溃时,chromedriver和chrome实例都会保持活动状态,这样我在短时间内就会有很

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

[1618982990.911][WARNING]: Timed out connecting to Chrome, retrying...
过了一会儿

所以我认为这不是一个selenium问题,因为如果我因为js错误而手动访问该站点,即使是chrome也会崩溃,比如说无响应的网站

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

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


感谢有任何解决方案或想法

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


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

我为任何感兴趣的人找到了一个解决方法。首先设置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");}