You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

macOS Catalina 10.15.3下Python-Selenium启动的Chrome无法关闭及Dock残留求助

解决MacOS Catalina下Selenium启动的Chrome进程残留问题

我之前在Catalina上也碰到过一模一样的问题,折腾了好几个方案才搞定,给你分享几个可行的解决办法:

1. 脚本内主动正常关闭浏览器(最推荐)

别依赖外部杀进程,在Python脚本结束前一定要调用driver.quit(),而不是driver.close()。close()只是关闭当前标签页,quit()会彻底终止Chrome浏览器进程和chromedriver进程,从根源避免残留。示例代码:

from selenium import webdriver

driver = webdriver.Chrome()
# 你的业务代码...

# 脚本结束前执行
driver.quit()

2. 调整Chrome启动参数,强制随chromedriver退出

Catalina上Chrome的进程管理逻辑有变化,你可以给Chrome加个实验性参数,确保chromedriver退出时Chrome也跟着关闭:

from selenium import webdriver

options = webdriver.ChromeOptions()
# 禁止Chrome在chromedriver退出后留在后台
options.add_experimental_option("detach", False)
# 可选:加上这个参数避免一些权限相关的进程残留问题
options.add_argument("--no-sandbox")

driver = webdriver.Chrome(options=options)

3. 更精准的命令行杀进程

如果必须用终端杀进程,pkill -f python只能杀Python进程,但Chrome的主进程可能还在跑。试试直接针对Chrome相关进程下手:

  • 杀chromedriver进程:pkill -f chromedriver
  • 杀Chrome主进程:pkill -f "Google Chrome"
  • 合并执行(用单引号避免shell解析问题):pkill -f 'chromedriver|Google Chrome'

4. 修复Dock图标残留(治标)

有时候进程已经被杀死,但Dock里的Chrome图标还残留,这是Catalina的Dock缓存问题,执行下面的命令重启Dock就能解决:

killall Dock

内容的提问来源于stack exchange,提问作者Yun

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.07 00:54:05