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

Linux-arm64平台下Selenium可用运行配置咨询

树莓派Ubuntu环境下Selenium浏览器自动化适配问题

我写了一个简单程序,能按设定间隔用Firefox打开并关闭网站,在Intel Mac OS Ventura上运行正常,但在搭载Ubuntu 22.04.3 LTS的树莓派上始终找不到兼容的Selenium、geckodriver/chromedriver与Firefox/Chromium版本组合,无法正常运行。

Mac端可行配置

  • Selenium 4.11.2
  • geckodriver v0.33.0
  • Firefox 115.0.3

Firefox适配尝试

经确认,Selenium Manager在linux-arm64架构下无法工作,而树莓派正采用该架构。即使在代码中指定驱动路径且驱动已加入系统PATH,仍会收到Selenium提示找不到驱动的错误,开发者指出内置的Selenium Manager是问题根源。由于Selenium Manager在Selenium 4.6版本引入,我回退至Selenium 4.5并适配代码,但又出现驱动与Firefox版本不兼容的错误,尝试多种版本组合均未解决。

Chrome/Chromium适配尝试

转而尝试Chrome时发现,谷歌未提供linux-arm64版本的chromedriver,于是使用第三方发布的不同版本chromedriver,并回退Chromium版本,虽能启动Chromium浏览器,但程序仍无法完全正常运行。期间查阅大量Stack Overflow相关问题的解答,均未起到帮助。

Mac端可正常运行的代码

import datetime, logging, time
from selenium import webdriver

logger = logging.getLogger('selenium')
logger.setLevel(logging.DEBUG)
handler = logging.FileHandler("handler.log")
logger.addHandler(handler)
logging.getLogger('selenium.webdriver.remote').setLevel(logging.DEBUG)
logging.getLogger('selenium.webdriver.common').setLevel(logging.DEBUG)
logging.basicConfig(filename="program.log", level=logging.INFO)
timeStarted = datetime.datetime.now()
logging.info(
    timeStarted.strftime("%m/%d/%Y, %H:%M:%S")
    + "   started on https://google.com"
)
# Program starts here
while True:
    timeOfRequest = datetime.datetime.now()
    try:
        browser = webdriver.Firefox()
        browser.get("https://google.com")
        logging.info(
            timeOfRequest.strftime("%m/%d/%Y, %H:%M:%S")
            + "   Success"
        )
    except:
        logging.exception(
            timeOfRequest.strftime("%m/%d/%Y, %H:%M:%S") + "   Something went wrong"
        )
    time.sleep(810)
    browser.quit()
    time.sleep(30)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 17:33:19