适配树莓派3B(Raspbian系统)的Windows编写Selenium脚本改造问询
树莓派3B(Raspbian)适配Selenium脚本改造指南
我完全懂你这种从Windows跨到树莓派踩坑的心情——毕竟平台差异真的能把好好的脚本折腾得头疼,尤其是Selenium和浏览器驱动这块,Raspbian的环境确实和Windows不一样,咱们一步步来搞定它。
一、先搞定Chromium与Chromedriver的版本匹配
你已经下载chromium-chromedriver是个好开头,但树莓派上有个铁规则:Chromium浏览器和chromedriver版本必须完全一致,不然肯定跑不起来。
- 先在终端检查当前Chromium版本:
chromium-browser --version - 再检查chromedriver版本:
chromedriver --version - 如果版本不匹配,直接用apt重新安装同步版本,比手动下载靠谱多了:
sudo apt install chromium-browser chromium-chromedriver
二、修改脚本里的Selenium核心配置
Windows上的ChromeDriver路径和调用方式在树莓派上完全不适用,得改这几个关键地方:
- 指定Chromium的二进制路径(树莓派默认路径):
/usr/bin/chromium-browser - 指定chromedriver的路径(默认路径):
/usr/lib/chromium-browser/chromedriver - 加上树莓派必备的无头模式(无桌面运行更省资源,就算有桌面也推荐开),示例代码如下:
from selenium import webdriver from selenium.webdriver.chrome.options import Options chrome_options = Options() chrome_options.add_argument('--headless') # 启用无头模式 chrome_options.add_argument('--no-sandbox') # 绕过沙箱限制,树莓派环境必需 chrome_options.add_argument('--disable-dev-shm-usage') # 解决内存不足报错 chrome_options.binary_location = '/usr/bin/chromium-browser' driver = webdriver.Chrome(executable_path='/usr/lib/chromium-browser/chromedriver', options=chrome_options)
三、解决依赖与权限问题
- 树莓派可能缺一些底层依赖库,如果运行时提示缺少
libxss之类的,直接用apt安装:sudo apt install libxss1 libappindicator1 libindicator7 - 确保脚本有权限访问chromedriver,必要时给驱动加可执行权限:
sudo chmod +x /usr/lib/chromium-browser/chromedriver
四、先做个最小测试验证环境
先写个极简脚本确认环境没问题,再迁移原脚本逻辑:
from selenium import webdriver from selenium.webdriver.chrome.options import Options options = Options() options.add_argument('--headless') options.binary_location = '/usr/bin/chromium-browser' driver = webdriver.Chrome(executable_path='/usr/lib/chromium-browser/chromedriver', options=options) driver.get("https://www.google.com") print(driver.title) driver.quit()
如果能输出Google,说明环境已经没问题了,接下来就可以逐步把你原来的脚本逻辑迁移过来啦。
内容的提问来源于stack exchange,提问作者Lorcank11
相关产品推荐
相关产品推荐

