Selenium Java:保证程序退出时chromedriver.exe关闭
我正在用Java自动化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
谷歌Chrome
。当我的程序退出时,内存中会留下一个chromedriver.exe
实例。我知道我可以使用driver.quit()
中的finally
块关闭当前实例。但是,如果Java
应用程序在任何时候(如在调试会话期间)被终止,那么当然不会执行此清理
我正在寻找一种解决方案,使chromedriver.exe
成为Java
进程的子进程,因此当Java
进程退出时,子进程也会自动终止。解决方案,如Runtime.getRuntime().exec(“taskkill/F/IM chromedriver.exe”)
kill allchromedriver.exe
实例,但这可能会打乱系统上的其他Selenium
进程,这并不理想。此外,这也不会阻止强制终止进程。您可以使用“Selenium Grid”-它有一个清理周期,每XXX个时间段清理所有空闲会话(默认值为5分钟)——
通过这种方式,selenium服务器将负责调用driver.quit()[这是终止进程的首选方式-即使Java程序被终止。您可以使用“selenium Grid”-它有一个清理周期,每XXX个时间(默认值为5分钟)清理所有空闲会话-
这样,您的selenium服务器将负责调用driver.quit()[这是终止进程的首选方法-即使您的Java程序被终止