使用Selenium调用Chrome时ChromeDriver版本不匹配报错如何修复?
问题根因
- 错误日志明确指出版本不匹配:你本地安装的ChromeDriver仅支持Chrome 89版本,而Chrome浏览器默认开启了自动更新,当前版本已经升级到95.0.4638.69,两者版本无法适配导致会话创建失败。
- 之前重装未解决的常见原因:要么是你下载的ChromeDriver仍然是旧版本,要么是系统环境变量中存在多个ChromeDriver的路径,Selenium默认调用的还是旧版本的ChromeDriver文件。
可行修复方案
方案一:使用webdriver-manager自动管理驱动(推荐)
不需要手动下载匹配版本的ChromeDriver,工具会自动识别当前Chrome版本并下载对应驱动,彻底避免版本不匹配问题。
- 先安装webdriver-manager模块:
pip install webdriver-manager
- 修改你代码中初始化driver的部分即可:
from selenium import webdriver from webdriver_manager.chrome import ChromeDriverManager # 替换原来的driver = webdriver.Chrome() driver = webdriver.Chrome(ChromeDriverManager().install())
方案二:手动下载对应版本ChromeDriver
- 确认你当前Chrome的版本是95.0.4638.69,下载对应版本号的ChromeDriver文件。
- 下载完成后,有两种配置方式可选:
- 方式1:将ChromeDriver文件放到系统环境变量已包含的路径下(比如macOS的/usr/local/bin目录),覆盖旧的ChromeDriver文件
- 方式2:代码中直接指定ChromeDriver的绝对路径,避免调用到旧版本:
driver = webdriver.Chrome(executable_path="/替换为你实际存放ChromeDriver的路径/chromedriver")
提示:macOS系统下首次运行手动下载的ChromeDriver如果弹出无法验证开发者的提示,进入「系统设置-隐私与安全性」,在安全性板块点击「仍要允许」即可正常使用。
可选补充方案:固定Chrome版本避免后续再次出现该问题
如果不想每次Chrome自动更新都出现驱动不匹配的问题,可以关闭Chrome的自动更新功能,固定当前使用的Chrome版本,后续配套使用对应版本的ChromeDriver即可。
内容的提问来源于stack exchange,提问作者ANONBxlyn
相关产品推荐
相关产品推荐

