python selenium 执行完毕关闭chromedriver进程

因为使用多次以后发现进程中出现了很多chromedriver的残留,造成卡顿,所以决定优化一下。

这个问题困扰了楼主很久,百度谷歌查来查去都只有java,后面根据java和selenium结合看找出了python如何执行完把chromedriver进程关闭

Python的话控制chromedriver的开启和关闭的包是Service

from selenium.webdriver.chrome.service import Service

创建的时候需要把chromedriver.exe的位置写在Service的XXX部分,需要调用他的命令行方法,不然报错然后启动就可以了

c_service = Service('xxx')
c_service.command_line_args()
c_service.start()
driver = webdriver.Chrome()
driver.get("http://www.baidu.com")

关闭的时候用quit而不是采用close

close只会关闭当前页面,quit会推出驱动别切关闭所关联的所有窗口

最后执行完以后就关闭

driver.quit();c_service.stop()


嫌麻烦也可以直接使用python的os模块执行下面两句话结束进程

os.system('taskkill /im chromedriver.exe /F')
os.system('taskkill /im chrome.exe /F')



### 如何在 Python Selenium 脚本执行完毕后自动关闭浏览器 当使用 PythonSelenium 进行自动化操作时,默认情况下,如果未设置特定选项,在脚本结束前不会自动关闭浏览器窗口。然而,可以通过显式调用 `quit()` 方法来实现这一功能。 以下是具体实现方式: #### 显式关闭浏览器 通过调用 WebDriver 提供的 `quit()` 方法可以在脚本执行结束后关闭所有由该实例启动的浏览器窗口[^1]。此方法不仅会终止当前活动的浏览器标签页,还会完全退出整个浏览器进程及其关联资源。 ```python from selenium import webdriver driver = webdriver.Chrome() # 假设已安装 ChromeDriver 并配置好路径 try: driver.get('https://www.example.com') # 访问目标网页 finally: driver.quit() # 确保无论发生什么情况都会关闭浏览器 ``` 这段代码展示了如何确保即使出现异常也能正常关闭浏览器的过程[^2]。 #### 利用上下文管理器简化控制流 另一种优雅的方式是利用 Python 的上下文管理协议 (Context Manager),这使得我们可以更简洁地处理资源释放问题而无需手动编写 try-finally 结构: ```python from selenium import webdriver with webdriver.Chrome() as driver: driver.get('https://www.example.com') # 当 with 块结束时, 驱动程序会被自动销毁并连带关闭所开启的所有浏览器实例. ``` 这种方法更加紧凑且不易遗忘清理工作,推荐作为最佳实践之一采用[^3]. 另外需要注意的是,对于无界面模式下的运行(即 headless mode), 即使设置了 quit(), 实际上也可能因为某些后台服务或者守护线程的存在而导致物理上的进程残留现象存在一定的概率性事件;因此建议定期监控系统状态以防止潜在泄漏风险的发生[^4].
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值