You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

树莓派环境下Python Selenium适配Chromium驱动失败问题求助

解决树莓派上Chromium与Selenium驱动不兼容的问题

这个OSError: [Errno 8] Exec format error错误本质是你下载的chromedriver是针对x86架构(PC版Chrome)编译的,而树莓派是ARM架构,两者二进制格式不匹配导致的。针对你的Chromium 98.0.4758.106版本,这里有几个靠谱的解决方案:

方案1:通过系统包管理器安装适配的驱动(最推荐)

树莓派的官方软件源里已经包含了和系统自带Chromium版本完全匹配的chromedriver,直接用apt安装即可:

  1. 更新软件源索引:
    sudo apt update
    
  2. 安装对应驱动:
    sudo apt install chromium-chromedriver
    
  3. 修改你的Python代码,使用系统默认的驱动路径,并指定Chromium的二进制文件位置:
    import requests
    from selenium import webdriver
    from selenium.webdriver.chrome.service import Service
    
    session_requests = requests.session()
    # 系统安装的chromedriver路径
    ser = Service("/usr/lib/chromium-browser/chromedriver")
    op = webdriver.ChromeOptions()
    # 指定Chromium的执行文件位置,避免驱动误找Chrome
    op.binary_location = "/usr/bin/chromium-browser"
    # 如果你是在无桌面环境下运行树莓派,建议添加以下无头模式参数
    # op.add_argument("--headless")
    # op.add_argument("--no-sandbox")
    # op.add_argument("--disable-dev-shm-usage")
    driver = webdriver.Chrome(service=ser, options=op)
    

这种方式能保证驱动和Chromium版本完全同步,不会出现兼容性问题,而且维护起来最省心。

方案2:手动下载ARM架构的对应版本chromedriver

如果因为某些原因无法使用apt安装(比如需要特定版本),可以手动下载适配ARM架构的chromedriver:

  1. 找到对应你Chromium版本(98.0.4758.106)的ARM版chromedriver(注意要选ARM32或ARM64,根据你的树莓派系统架构)
  2. 将下载的压缩包解压到树莓派的某个目录,比如/home/pi/Downloads/
  3. 给驱动文件添加执行权限:
    chmod +x /home/pi/Downloads/chromedriver
    
  4. 同样在代码里指定Chromium的二进制位置,并使用这个手动下载的驱动路径即可。

为什么不推荐使用Chrome的workaround?

树莓派的硬件更适合轻量的Chromium,Chrome的ARM版本不仅资源占用高,而且并非官方长期支持的版本,后续可能出现更多兼容性问题,完全没必要舍近求远。

内容的提问来源于stack exchange,提问作者DGBMenno

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.28 20:49:05