【发布时间】:2019-09-22 18:10:51
【问题描述】:
我在 Java 中使用 Selenium 来自动化 Google Chrome。当我的程序退出时,chromedriver.exe 实例会留在内存中。我知道我可以在例如使用driver.quit() finally 块关闭当前实例。但是,如果 Java 应用程序在任何时候(例如在调试会话期间)被终止,则当然不会执行此清理。
我正在寻找使chromedriver.exe 成为Java 进程的子进程的解决方案,因此当Java 进程退出时,子进程也会自动终止。像Runtime.getRuntime().exec("taskkill /F /IM chromedriver.exe"); 这样的解决方案会杀死所有chromedriver.exe 实例,但这可能会扰乱系统上的其他Selenium 进程,这并不理想。此外,这也不适用于强制终止进程。
【问题讨论】:
标签: java selenium automated-tests selenium-chromedriver zombie-process