树莓派5运行Splinter基础脚本报错,寻求解决方案
树莓派5虚拟环境中运行Splinter脚本报错的解决思路
问题详情
在树莓派5的Python虚拟环境中运行基础Splinter脚本时触发错误,脚本代码如下:
from splinter import Browser browser = Browser('chrome') # Visit Google browser.visit("https://www.google.com") # # import time # time.sleep(10) # Close the browser browser.quit()
报错核心片段:
python3.11/site-packages/selenium/webdriver/common/driver_finder.py", line 38, in get_path path = SeleniumManager().driver_location(options) if path is None else path ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File python3.11/site-packages/selenium/webdriver/common/selenium_manager.py", line 86, in driver_location args = [str(self.get_binary()), "--browser", browser] ^^^^^^^^^^^^^^^^^
已执行排查操作:
- 确认splinter、selenium等依赖库安装无异常
- 在其他虚拟环境中运行脚本,问题未解决
期望实现:浏览器正常启动并打开Google.com页面
解决思路
1. 适配ARM架构的Chrome/Chromium与ChromeDriver
树莓派为ARM架构,需确保浏览器和驱动版本匹配且适配ARM:
- 先确认已安装Chromium(树莓派官方源默认支持):执行
chromium --version查看版本号 - 下载对应版本的ARM版ChromeDriver,解压后放到系统PATH目录(如
/usr/local/bin/),或在脚本中显式指定路径:from splinter import Browser browser = Browser('chrome', executable_path='/usr/local/bin/chromedriver')
2. 切换为Firefox(GeckoDriver)测试
Firefox对ARM架构的兼容性更稳定,可尝试替换:
- 安装依赖:
sudo apt install firefox-esr geckodriver - 修改脚本:
from splinter import Browser browser = Browser('firefox') browser.visit("https://www.google.com") browser.quit()
3. 禁用Selenium Manager自动驱动查找
Selenium Manager在ARM环境下可能存在兼容性问题,可手动规避:
- 运行脚本前设置环境变量:
export SELENIUM_MANAGER_SKIP=true - 或直接在脚本中指定驱动路径,避免依赖自动查找逻辑
4. 排查浏览器启动权限与依赖
在虚拟环境中直接执行chromium或firefox命令,确认浏览器能正常启动,排除权限不足或系统依赖缺失问题。
5. 调整依赖库版本
尝试降级/升级selenium或splinter版本,规避版本兼容性问题:
- 安装指定版本selenium:
pip install selenium==4.8.3(该版本的Selenium Manager对ARM支持相对稳定) - 安装适配版本splinter:
pip install splinter==0.19.0
内容的提问来源于stack exchange,提问作者Sotana 1
相关产品推荐
相关产品推荐

