树莓派上ChromeDriver与Chromium版本不兼容致Selenium运行异常
解决树莓派上Chromium 56与ChromeDriver版本不匹配的问题
我之前在树莓派上折腾Selenium自动化时,也碰到过一模一样的Chromium和ChromeDriver版本不对齐的问题,给你几个亲测有效的解决思路:
1. 手动下载对应架构的ChromeDriver 56版本
Chromium和ChromeDriver的版本号是严格对应的,你需要的是56.0.2924.84版本的arm架构ChromeDriver:
- 先确认树莓派的硬件架构,运行命令:
一般树莓派3/4是uname -marmv7l,新一点的型号可能是aarch64。 - 找到对应版本的arm版ChromeDriver归档包,解压后把
chromedriver文件移动到系统可执行目录:sudo mv chromedriver /usr/local/bin/ sudo chmod +x /usr/local/bin/chromedriver - 最后在你的Python脚本里指定Chromium的路径(树莓派上默认路径是
/usr/bin/chromium-browser)和ChromeDriver路径:from selenium import webdriver from selenium.webdriver.chrome.options import Options opts = Options() opts.binary_location = '/usr/bin/chromium-browser' driver = webdriver.Chrome( executable_path='/usr/local/bin/chromedriver', options=opts )
2. 适配树莓派的无头运行参数(必加,除非你有桌面环境)
树莓派大多是无头运行,记得给Chromium加上这些参数避免报错:
opts.add_argument('--headless') opts.add_argument('--no-sandbox') opts.add_argument('--disable-dev-shm-usage') opts.add_argument('--disable-gpu') # 老版本Chromium可能需要这个
3. 关于apt无法升级Chromium的说明
你遇到的apt-get upgrade提示已是最新版本,是因为树莓派官方源里对应系统版本的Chromium停更了(Chromium 56对应的应该是Raspbian Stretch系统)。如果不想换系统,手动找对应ChromeDriver是最省心的方案,升级系统反而可能带来更多依赖兼容问题。
内容的提问来源于stack exchange,提问作者yoyoyoyo123




