Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/323.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/17.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 Mozilla FireFox(无响应)-Selenium WebDriver通过driver.quit()命令拒绝死亡_Java_Windows_Selenium_Firefox_Process_Windows 10 - Fatal编程技术网

Java Mozilla FireFox(无响应)-Selenium WebDriver通过driver.quit()命令拒绝死亡

Java Mozilla FireFox(无响应)-Selenium WebDriver通过driver.quit()命令拒绝死亡,java,windows,selenium,firefox,process,windows-10,Java,Windows,Selenium,Firefox,Process,Windows 10,我的程序并行启动几十个WebDriver实例,并在满足某些条件或我手动终止程序时终止它们。在任何给定的时间,我可能有4打活动的WebDriver实例,为了杀死我调用的不需要的实例: driver.quit() 如果driver.quit()通过PID通过Runtime.getRuntime().exec()taskkill命令抛出异常I killWebDriver 大多数活动驱动程序都会被此调用破坏(当我退出程序时)。然而,通常有少数(1-3个)会挂起消息Mozilla FireFox(没有响应

我的程序并行启动几十个
WebDriver
实例,并在满足某些条件或我手动终止程序时终止它们。在任何给定的时间,我可能有4打活动的
WebDriver
实例,为了杀死我调用的不需要的实例:

driver.quit()

如果
driver.quit()通过PID通过
Runtime.getRuntime().exec()taskkill
命令抛出异常I kill
WebDriver

大多数活动驱动程序都会被此调用破坏(当我退出程序时)。然而,通常有少数(1-3个)会挂起消息
Mozilla FireFox(没有响应)
。他们永远不会死

我无法确定问题的根本原因,因为我用来杀死
WebDriver
的命令通常都在工作。关于类似的问题,我已经研究了几个线程,但是我觉得没有一个线程能够解决我的问题,因为,如上所述,我使用的命令一般都能工作——只是不能在所有实例上工作。据我所知,任何司机的操作方式都没有区别。另外,当我调用
driver.quit()
时,不会引发任何错误/异常。因此,当命令起作用或不起作用时,它看起来完全是随机的

是什么原因导致Firefox像这样挂起而不响应
quit()
命令


谢谢

您正处于正确的轨道上,但当满足某些条件时,不要手动终止程序,而是使用:

driver.quit();
您可以在中找到详细的讨论


如果您需要强制终止Firefox进程,您也可以通过
getRuntime().exec()
使用
taskkill()
(windows)命令,如下所示:

Runtime.getRuntime().exec("taskkill /F /IM firefox.exe /T");
您可以在中找到详细的讨论


如果Mozilla FireFox挂起消息
Mozilla FireFox(无响应)
实际上意味着有什么东西停止了Mozilla FireFox进程


解决方案 根据本文,有多种方法可以解决此问题(Windows 10),如下所示:

Runtime.getRuntime().exec("taskkill /F /IM firefox.exe /T");
  • 关闭Mozilla FireFox(如果经典方式不起作用,请通过任务管理器关闭程序)
  • 重新启动系统
  • 更新系统图形卡驱动程序:Firefox可能会因为图形卡驱动程序过时而遇到问题。您需要确保系统运行在最新的驱动程序更新上
  • 从Firefox禁用硬件加速:硬件加速功能也与图形卡相关。在某些情况下,根据特定的图形卡设置,当使用硬件加速时,Firefox可能会进入冻结循环。因此,请关闭此功能

感谢您的回复,但是我已经在调用driver.quit()(当我写关于手动终止程序时,这只是调用driver.quit()的信号,所以您可以忽略这一部分)我的问题是,虽然调用driver.quit后大多数实例都被销毁,但总有1或2个“挂起”。通过任务管理器手动关闭实例无法实现自动化的全部目的。对我来说,全天候“看护”服务器也是不现实的,因为每小时都会启动和销毁数十个实例。期待您的见解。谢谢