我的程序并行启动数十个WebDriver
实例,并在满足某些条件或手动终止该程序时将其杀死。在任何给定时间,我可能有4打活动的WebDriver
实例,并杀死我打电话给的不需要的实例:
driver.quit();
如果driver.quit();
抛出异常,我将通过WebDriver
命令用PID杀死Runtime.getRuntime().exec() taskkill
。
大多数活动驱动程序都通过此调用销毁(退出程序时)。但是,通常只有极少数(1-3)与消息Mozilla FireFox (Not Responding)
一起“挂起”。他们永远不会死。
由于我用来杀死WebDriver
的命令通常可以正常工作,因此我无法确定问题的根本原因。我已经查看了关于类似问题的SO上的多个线程,但是我觉得它们都没有解决我的问题的原因,因为如上所述,我使用的命令通常都可以工作-并非在所有实例上都有效。据我所知,任何驱动程序的操作方式都没有区别。另外,当我调用driver.quit()
时,不会引发任何错误/异常。因此,当该命令有效和无效时,它似乎纯粹是随机的。
是什么原因导致Firefox像这样挂起而无法响应quit()
命令?
谢谢!