如何在Selenium/Python中回退ChromeDriver版本并禁用其自动更新?
解决ChromeDriver与Chrome 109不兼容及自动更新问题
一、回退ChromeDriver至支持Chrome 109的版本
Chrome 109对应的ChromeDriver版本为109.0.5414.74,可通过以下方式回退:
- 手动替换法:下载对应Windows x64版本的ChromeDriver压缩包,解压后替换掉当前脚本调用的ChromeDriver可执行文件,确保路径与脚本指定一致。
- 指定版本安装法:通过ChromeDriverManager直接安装固定版本,代码示例:
from webdriver_manager.chrome import ChromeDriverManager # 安装ChromeDriver 109版本 driver_path = ChromeDriverManager(driver_version="109.0.5414.74").install()
二、阻止ChromeDriverManager自动更新(重点)
要彻底避免自动下载高版本驱动,可采用以下方案:
- 代码强制指定版本:每次调用ChromeDriverManager时,明确传入
driver_version参数固定为109.0.5414.74,工具会直接使用该版本,不会检测最新版。完整示例:
from selenium import webdriver from webdriver_manager.chrome import ChromeDriverManager # 固定使用ChromeDriver 109版本 driver = webdriver.Chrome(ChromeDriverManager(driver_version="109.0.5414.74").install())
- 设置环境变量锁定版本:在Windows系统中添加环境变量
CHROMEDRIVER_VERSION,值设为109.0.5414.74。此后ChromeDriverManager会优先读取该变量指定的版本,无需在代码中重复指定。 - 复用本地缓存驱动:第一次安装固定版本后,记录驱动的本地路径,后续脚本直接引用该路径实例化ChromeDriver,跳过版本检查:
from selenium import webdriver # 直接使用已安装的ChromeDriver 109路径(替换为你实际的路径) driver = webdriver.Chrome(executable_path="C:\\Users\\你的用户名\\.wdm\\drivers\\chromedriver\\win32\\109.0.5414.74\\chromedriver.exe")
额外提醒:再次确认Chrome浏览器自动更新已彻底禁用——可通过修改注册表(HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Google\Chrome下添加AutoUpdateCheckPeriodMinutes值为0)或禁用Google Update服务,防止Chrome版本意外升级导致再次不兼容。
内容的提问来源于stack exchange,提问作者Aladdin
相关产品推荐
相关产品推荐

