Python Selenium 执行完毕后彻底关闭 ChromeDriver 进程的方法
本文介绍如何在Python中使用Selenium时彻底关闭ChromeDriver进程,避免残留进程导致系统卡顿。通过Service类管理驱动生命周期,使用quit()而非close(),以及利用os模块调用taskkill命令强制结束进程,提供完整代码示例与注意事项。
问题背景与优化目标
在多次运行自动化脚本后,发现系统中存在大量残留的chromedriver进程,导致电脑运行卡顿。因此,决定对脚本进行优化,确保每次执行完毕后能正确清理这些进程。
这个问题困扰了作者很长时间,通过百度和谷歌搜索发现,大部分解决方案都是针对Java语言的。经过对Java和Selenium结合使用的研究,最终找到了在Python中执行完毕后关闭chromedriver进程的方法。
使用Service类管理驱动生命周期
在Python中,控制chromedriver开启和关闭的包是Service。
from selenium.webdriver.chrome.service import Service
在创建Service对象时,需要将chromedriver.exe的路径写入Service的参数中。需要调用其命令行方法,否则可能会报错。然后启动驱动即可。
c_service = Service('xxx')
c_service.command_line_args()
c_service.start()
driver = webdriver.Chrome()
driver.get(http://www.baidu.com)
正确关闭驱动的方法:quit与close的区别
在关闭驱动时,应使用quit()方法,而不是close()。
close()方法仅关闭当前页面,而quit()方法会退出驱动并关闭所有关联的窗口。
最后,在脚本执行完毕后,调用quit()方法关闭驱动。
driver.quit();c_service.stop()
替代方案:使用os模块强制结束进程
如果觉得麻烦,也可以直接使用Python的os模块执行以下两条命令来结束进程。
os.system('taskkill /im chromedriver.exe /F')
os.system('taskkill /im chrome.exe /F')
以上这篇关于Python Selenium执行完毕后关闭ChromeDriver进程的示例,就是小编分享给大家的全部内容了,希望能给大家提供参考,也希望大家多多支持本站。
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













