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

Chromedriver超时求助:原正常Selenium/Python脚本现无法连接渲染器

解决思路与方案

看起来你遇到了挺棘手的问题——原本跑的好好的Selenium脚本放了一个月就连不上Chrome渲染器了,试了不少办法都没用。结合你的环境和报错信息,我整理了几个针对性的排查方向,你可以逐一试试:

1. 调整Chrome启动参数,排除冲突

你的现有参数里可能有些干扰项,也缺了几个常用的兼容性参数,建议改成这样试试:

from selenium.webdriver.chrome.options import Options
from selenium import webdriver

options = Options()
# 用原始字符串避免转义问题
options.binary_location = r'C:\Program Files\Google\Chrome\Application\googlechrome.exe'
# 添加关键兼容参数
options.add_argument('--no-sandbox')  # 禁用沙箱,避免Windows下的权限限制
options.add_argument('--disable-dev-shm-usage')  # 解决内存不足相关的启动问题
options.add_argument('--remote-debugging-port=9222')  # 指定固定调试端口,避免端口分配失败
options.add_argument('--start-maximized')
# 规避Chrome的自动化检测,有时候会影响连接
options.add_experimental_option('excludeSwitches', ['enable-automation'])
options.add_experimental_option('useAutomationExtension', False)

chrome_driver_binary = r"C:\Program Files\Chromedriver\chromedriver.exe"
# 日志路径用f-string更清晰,同样注意转义
driver = webdriver.Chrome(
    chrome_driver_binary, 
    options=options, 
    service_args=[
        "--disable-gpu",
        "--readable-timestamp",
        f"--log-path=C://DOCS//python//{className}_{memberName}_TEST_chromedriver.log"
    ]
)

小提醒:路径字符串一定要加r前缀(原始字符串),不然Windows的反斜杠容易被当成转义字符,引发隐性问题。

2. 清理残留进程,排查端口占用

有时候停用期间,Chrome或者Chromedriver的后台进程没彻底关掉,占着端口导致新的连接失败:

  • 打开任务管理器,找到所有chrome.exe和chromedriver.exe进程,全部结束掉,再重新跑脚本。
  • 要是指定了调试端口(比如上面的9222),可以用命令行检查端口是否被占用:
netstat -ano | findstr :9222

如果有结果,记下PID,在任务管理器里找到对应进程结束就行。

3. 手动指定用户数据目录,解决权限问题

Chromedriver自动生成的临时用户数据目录(就是日志里的scoped_dirxxx)可能因为系统Temp文件夹权限不足,导致Chrome初始化失败:

  • 自己建一个有完全控制权限的目录,比如C:\Users\VB\Documents\ChromeTestProfile,然后在参数里指定:
options.add_argument(r'--user-data-dir=C:\Users\VB\Documents\ChromeTestProfile')

第一次运行会生成新的Chrome配置,后续可以一直用这个目录,避免临时目录的权限坑。

4. 排查杀毒软件/防火墙的干扰

停用期间可能装了新的杀毒软件,或者Windows更新改了防火墙规则,挡住了Chromedriver和Chrome的通信:

  • 先临时关掉杀毒软件和系统防火墙,跑脚本试试能不能正常启动。
  • 如果能行,就把chromedriver.exe和chrome.exe添加到杀毒软件的信任列表,同时在防火墙里允许它们的网络请求。

5. 再次验证版本兼容性,更新Selenium

虽然你退回了Chrome86,但还是再确认下细节:

  • Chrome版本86.0.4240.75对应的Chromedriver确实是86.0.4240.22,这个匹配是对的,但可以重新下载一遍Chromedriver,确保文件没损坏。
  • 试试把Selenium升级到3.x分支的最新版(比如3.141.59),有时候旧版Selenium和新一点的Chrome会有隐性兼容问题:
pip install selenium==3.141.59

6. 检查系统环境的隐性变更

停用期间可能的Windows更新、Python环境变更(比如虚拟环境失效)也可能导致问题:

  • 确认你的Python虚拟环境是激活状态,依赖包都没丢,可以用pip list检查Selenium版本是否正确。
  • 要是之前用的是全局Python环境,试试重新安装一遍Selenium依赖。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.11 07:49:49