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

EC2上Chrome与ChromeDriver版本一致却遇Selenium版本不兼容报错

问题分析与解决思路

核心原因

undetected_chromedriver(简称uc)自带ChromeDriver自动管理机制,即便你显式指定了executable_path,部分版本的uc仍会忽略该参数,自动下载并使用它判定的“匹配版本”(此处错误下载了110版本),导致与本地109版本的Chrome不兼容。

验证步骤

  1. 检查uc后台下载的ChromeDriver:

    • 查看uc默认缓存目录,执行命令:
      ls ~/.undetected_chromedriver
      
    • 若存在110版本的ChromeDriver文件,即可确认uc自动下载并优先使用了该版本。
  2. 确认uc版本兼容性:

    • 不同版本的uc对executable_path参数的处理逻辑存在差异,部分旧版本存在参数失效的bug。

解决办法

方法1:正确指定uc的Driver路径

注意uc的参数名与原生Selenium不同,需使用driver_executable_path而非executable_path:

import undetected_chromedriver as uc
driver = uc.Chrome(options=options, driver_executable_path='/usr/bin/chromedriver')

方法2:禁用uc的自动下载机制

通过环境变量禁止uc自动下载ChromeDriver:

import os
import undetected_chromedriver as uc

os.environ['UC_DOWNLOAD_DISABLE'] = '1'
driver = uc.Chrome(options=options, driver_executable_path='/usr/bin/chromedriver')

方法3:清理uc缓存并重新指定

  1. 删除uc默认缓存目录:
    rm -rf ~/.undetected_chromedriver
    
  2. 重新运行脚本并确保正确传入driver_executable_path参数。

方法4:调整uc版本

若上述方法无效,尝试升级或降级到兼容版本:

# 升级到最新版
pip install --upgrade undetected-chromedriver

# 降级到指定兼容版本(示例:3.5.5)
pip install undetected-chromedriver==3.5.5

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 02:55:40