Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/363.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
Selenium Java:保证程序退出时chromedriver.exe关闭_Java_Selenium_Automated Tests_Selenium Chromedriver_Zombie Process - Fatal编程技术网

Selenium Java:保证程序退出时chromedriver.exe关闭

Selenium Java:保证程序退出时chromedriver.exe关闭,java,selenium,automated-tests,selenium-chromedriver,zombie-process,Java,Selenium,Automated Tests,Selenium Chromedriver,Zombie Process,我正在用Java自动化谷歌Chrome。当我的程序退出时,内存中会留下一个chromedriver.exe实例。我知道我可以使用driver.quit()中的finally块关闭当前实例。但是,如果Java应用程序在任何时候(如在调试会话期间)被终止,那么当然不会执行此清理 我正在寻找一种解决方案,使chromedriver.exe成为Java进程的子进程,因此当Java进程退出时,子进程也会自动终止。解决方案,如Runtime.getRuntime().exec(“taskkill/F/IM

我正在用Java自动化
谷歌Chrome
。当我的程序退出时,内存中会留下一个
chromedriver.exe
实例。我知道我可以使用
driver.quit()
中的
finally
块关闭当前实例。但是,如果
Java
应用程序在任何时候(如在调试会话期间)被终止,那么当然不会执行此清理

我正在寻找一种解决方案,使
chromedriver.exe
成为
Java
进程的子进程,因此当
Java
进程退出时,子进程也会自动终止。解决方案,如
Runtime.getRuntime().exec(“taskkill/F/IM chromedriver.exe”)
kill all
chromedriver.exe
实例,但这可能会打乱系统上的其他
Selenium
进程,这并不理想。此外,这也不会阻止强制终止进程。

您可以使用“Selenium Grid”-它有一个清理周期,每XXX个时间段清理所有空闲会话(默认值为5分钟)——

通过这种方式,selenium服务器将负责调用driver.quit()[这是终止进程的首选方式-即使Java程序被终止。

您可以使用“selenium Grid”-它有一个清理周期,每XXX个时间(默认值为5分钟)清理所有空闲会话-

这样,您的selenium服务器将负责调用driver.quit()[这是终止进程的首选方法-即使您的Java程序被终止