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

如何解决无界面树莓派运行Selenium v.4.35.0的报错问题?

树莓派无界面运行Selenium 4.35.0问题解决

问题背景

已在无界面树莓派上安装Chromium、Chromedriver(文件均位于/usr/bin/),使用Selenium 4.35.0时出现两个报错:

  • 直接初始化webdriver.Chrome()抛出NoSuchDriverException
  • 指定Chromedriver路径后抛出SessionNotCreatedException,附带未知堆栈跟踪

问题原因

  1. NoSuchDriverException:Selenium 4.x的自动驱动管理机制未识别到树莓派上的Chromium浏览器路径,无法自动匹配驱动。
  2. SessionNotCreatedException:未配置无界面运行参数、Chromium与Chromedriver版本不匹配,或缺少树莓派环境必要的启动参数。

解决步骤

1. 确认版本匹配

先检查Chromium和Chromedriver的主版本是否一致:

chromium-browser --version
chromedriver --version

两者主版本号必须完全相同(例如均为118.x),若版本不匹配,需重新下载对应版本的Chromedriver。

2. 配置完整启动参数

使用ChromeOptions指定无界面模式、浏览器二进制路径及树莓派专属参数,修正后的代码如下:

from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.chrome.options import Options

# 配置Chrome选项
options = Options()
options.add_argument("--headless=new")  # 无界面模式(Selenium 4.10+推荐)
options.add_argument("--no-sandbox")    # 绕过沙箱(树莓派普通用户需加)
options.add_argument("--disable-dev-shm-usage")  # 避免内存不足问题
options.binary_location = "/usr/bin/chromium-browser"  # 指定Chromium路径

# 指定驱动服务
service = Service("/usr/bin/chromedriver")

# 初始化驱动
driver = webdriver.Chrome(service=service, options=options)

# 后续操作示例
driver.get("https://example.com")
print(driver.title)
driver.quit()

3. 检查权限

确保chromedriver有可执行权限:

sudo chmod +x /usr/bin/chromedriver

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 09:22:45