我通过基于java的selenium循环访问网站。有些网站即时崩溃,所以我得到的错误
[1618982990.911][WARNING]: Timed out connecting to Chrome, retrying...
过了一会儿。
所以这不是 selenium 的问题,我想,因为即使chrome崩溃,如果我手动访问该网站,因为js错误,说无响应的网站
我的问题是,每当一个站点崩溃时,chromedriver和chrome示例都会保持活动状态,这样在很短的时间内我就有很高的cpu使用率。
如果示例被冻结,我可以告诉selenium退出吗?但我不知道这应该是怎么可能的,如果它没有得到答案从铬了?
感谢任何解决方案或想法
2条答案
按热度按时间zour9fqk1#
有时使用某些windows版本驱动程序。quit()不会终止我遇到的chrome进程。因此,如果driver.quit不起作用,那么在脚本结束时,可以使用java代码终止chrome进程(如果存在)。
请参考stackoverflow链接,如果java中存在该进程,则该链接包含终止该进程的代码,并将chrome进程传递给它。
x6492ojm2#
我为任何有兴趣的人找到了一个解决办法。首先设置pageloadtimeout,然后在抛出异常时强制终止任何chrome示例。