ChromeDriver版本兼容问题求助:121版无法适配Chrome 120
解决思路
强制指定匹配当前Chrome版本的ChromeDriver
报错核心是ChromeDriver版本(121)与浏览器版本(120.0.6099.227)不兼容,可修改代码指定对应版本的驱动:webdriver_service = Service(ChromeDriverManager(driver_version="120.0.6099.109").install())注:
120.0.6099.109是对应Chrome 120.0.6099.227的ChromeDriver版本,可根据实际浏览器小版本调整。关闭Chrome自动更新
多次运行后触发浏览器自动更新,是导致版本不匹配的常见原因。关闭方式:- Windows:通过组策略编辑器禁用Chrome自动更新;或修改注册表
HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Google\Chrome,新建DWORD值AutoUpdateCheckPeriodMinutes并设为0。 - macOS:终端执行
defaults write com.google.Chrome AutoUpdateCheckPeriodMinutes -int 0;或在系统偏好设置中禁用Chrome的自动更新项。 - Linux:修改Chrome更新源配置,或停止并禁用Chrome更新服务。
- Windows:通过组策略编辑器禁用Chrome自动更新;或修改注册表
改用undetected-chromedriver的内置驱动管理
undetected-chromedriver本身具备自动匹配驱动的能力,无需手动依赖ChromeDriverManager,简化代码:# 删除原有的Service相关代码,直接初始化 driver = uc.Chrome(options=options)动态匹配浏览器版本
在代码中添加逻辑,自动获取当前Chrome版本并下载对应驱动:from webdriver_manager.core.os_manager import ChromeType from webdriver_manager.core.utils import get_browser_version_from_os # 获取当前Chrome版本 chrome_version = get_browser_version_from_os(ChromeType.CHROME) # 安装对应版本的驱动 webdriver_service = Service(ChromeDriverManager(driver_version=chrome_version).install())
内容的提问来源于stack exchange,提问作者John Foux
相关产品推荐
相关产品推荐

