树莓派Chromium与ChromeDriver版本不匹配致Selenium报错求解
树莓派Selenium部署Chromium驱动版本不匹配修复指南
问题现状
- 环境基础:树莓派设备,当前安装的
chromium-browser版本为86.0.4240.197,调用的配套chromedriver版本为87.0.4280.66 - 驱动初始化代码:
driver = webdriver.Chrome(options = options, executable_path ='/usr/lib/chromium-browser/chromedriver')
- 运行触发的完整报错:
selenium.common.exceptions.SessionNotCreatedException: Message: session not created: This version of ChromeDriver only supports Chrome version 87Current browser version is 86.0.4240.197 with binary path /usr/bin/chromium-browser
- 已尝试的无效操作:曾对照公开版本列表尝试降级安装与86版本chromium匹配的chromedriver,但本地系统软件源中无法检索到对应可安装的安装包,无法通过常规apt源命令完成版本降级。
可执行修复方案
方案1:手动替换匹配版本的chromedriver(无需依赖系统源)
- 核心逻辑:跳过系统软件源的版本限制,直接下载与当前
chromium-browser 86.0.4240.197版本匹配的arm架构chromedriver文件,替换原有版本不匹配的驱动
注意:必须选择与树莓派系统架构匹配的arm版本驱动,误下载x86架构文件会导致驱动无法正常启动 - 操作步骤:
- 先对原有高版本chromedriver做备份,避免替换出错无法回滚:
sudo cp /usr/lib/chromium-browser/chromedriver /usr/lib/chromium-browser/chromedriver.bak - 下载对应arm架构、86版本段的chromedriver压缩包,解压后为文件添加执行权限:
sudo chmod +x chromedriver - 将解压完成的chromedriver文件覆盖到原有驱动路径
/usr/lib/chromium-browser/chromedriver - 校验驱动版本是否匹配:执行
/usr/lib/chromium-browser/chromedriver --version,确认输出的版本号为86.0.4240.x段,与当前chromium-browser版本一致 - 重新运行原有Python驱动初始化代码,即可正常创建浏览器会话。
- 先对原有高版本chromedriver做备份,避免替换出错无法回滚:
方案2:反向升级chromium-browser到匹配当前chromedriver的版本
如果手动检索适配arm架构的旧版chromedriver存在难度,可以反向调整浏览器版本适配现有驱动:
- 操作步骤:
- 执行软件源更新与版本升级命令:
sudo apt update && sudo apt upgrade chromium-browser - 升级完成后执行
chromium-browser --version,确认版本号更新到87.0.4280.x段,与现有chromedriver版本匹配 - 无需修改原有Python业务代码,直接运行即可解决版本不匹配的报错。
- 执行软件源更新与版本升级命令:
内容的提问来源于stack exchange,提问作者Matthias Petersen
相关产品推荐
相关产品推荐

