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

Python中使用driver.quit()仍无法完全关闭Chrome WebDriver进程怎么办?

解决Chrome WebDriver进程残留问题的实用方案
  • 确保Chrome与WebDriver版本完全匹配
    版本不兼容是进程残留的常见诱因。从Chrome设置中查看浏览器版本,下载对应主版本号的ChromeDriver(比如Chrome 118.x对应ChromeDriver 118.x),保证两者版本完全一致。

  • 用try-finally保证driver.quit()执行
    脚本中途抛出异常时,driver.quit()可能未被调用,导致进程残留。用try-finally块包裹驱动操作,确保无论是否报错都会执行退出逻辑:

    from selenium import webdriver
    
    driver = None
    try:
        driver = webdriver.Chrome()
        # 你的页面解析逻辑代码
    finally:
        if driver is not None:
            driver.quit()
    
  • 显式终止Chrome相关进程
    若driver.quit()无效,可在退出后调用系统命令强制杀死残留进程:

    • Windows系统:
      import os
      os.system('taskkill /F /IM chrome.exe /T')
      
    • Linux/macOS系统:
      import os
      os.system('pkill -f "chrome.*--remote-debugging-port"')
      

    注意:该命令会杀死所有匹配的Chrome进程,若有正在正常使用的Chrome窗口需谨慎操作。

  • 配置ChromeOptions优化进程管理
    添加以下启动参数,降低进程残留概率:

    from selenium import webdriver
    from selenium.webdriver.chrome.options import Options
    
    chrome_options = Options()
    chrome_options.add_argument('--no-sandbox')
    chrome_options.add_argument('--disable-dev-shm-usage')
    chrome_options.add_argument('--disable-gpu')
    chrome_options.add_experimental_option('detach', False)  # 禁止浏览器与驱动分离
    
    driver = webdriver.Chrome(options=chrome_options)
    # 解析逻辑代码
    driver.quit()
    
  • 避免误用driver.close()
    driver.close()仅关闭当前标签页,不会终止整个浏览器和驱动进程,务必使用driver.quit()完成完全退出操作。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 06:42:05