在树莓派 3 上使用 selenium 和 chromedriver 时出错 - Raspbian Jessie
Posted
技术标签:
【中文标题】在树莓派 3 上使用 selenium 和 chromedriver 时出错 - Raspbian Jessie【英文标题】:Error using selenium with chromedriver on raspberry Pi 3 - Raspbian Jessie 【发布时间】:2017-07-18 11:21:42 【问题描述】:我尝试执行这个 ::
from selenium import webdriver
import time
import smtplib
from email.MIMEMultipart import MIMEMultipart
from email.MIMEText import MIMEText
import schedule
from datetime import datetime
driver = webdriver.Chrome('/home/pi/Documents/chromedriver')
driver.get('http://google.com')
time.sleep(5)
这是我得到的错误:
Traceback (most recent call last):
File "test2.py", line 12, in <module>
driver = webdriver.Chrome('/home/pi/Documents/chromedriver') # Optional arg$
File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/chrome/webdriver.py", line 62, in __init__
self.service.start()
File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/common/service.py", line 74, in start
stdout=self.log_file, stderr=self.log_file)
File "/usr/lib/python2.7/subprocess.py", line 710, in __init__
errread, errwrite)
File "/usr/lib/python2.7/subprocess.py", line 1335, in _execute_child
raise child_exception
OSError: [Errno 8] Exec format error
有人知道怎么解决吗? 我也试过用 firefox 和 xvfb 暂时没有成功。
这是在 '.bashrc' 中定义的路径:
export $PATH=$PATH:/home/pi/Documents/chromedriver
【问题讨论】:
尝试在 raspian 像素上使用 chromedriver 时遇到同样的错误。 【参考方案1】:不确定这是否会对您有所帮助,但我使用此帮助程序脚本在我的 Ubuntu 机器上设置了我的 selenium 环境(树莓派应该足够相似)。安装 setupdriver.sh
echo "removing chromium-browser"
sudo apt-get purge chromium-browser
rm ~/.config/chromium/ -rf
echo "removing chrome"
sudo apt-get purge google-chrome-stable
rm ~/.config/google-chrome/ -rf
sudo apt-get install libxss1 libappindicator1 libindicator7
wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
sudo dpkg -i google-chrome*.deb
echo "installing Chrome"
echo "getting libxi6"
sudo apt-get install libxi6 libgconf-2-4
echo "getting chromedriver2.27"
wget -N https://chromedriver.storage.googleapis.com/2.27/chromedriver_linux64.zip
echo "unzipping chromedriver2.27"
unzip chromedriver_linux64.zip
echo "exe chromedriver"
chmod +x chromedriver
echo "removing /usr/local/share/chromedriver"
sudo rm -rf /usr/local/share/chromedriver
echo "removing /usr/local/bin/chromedriver"
sudo rm -rf /usr/local/bin/chromedriver
echo "removing /usr/bin/chromedriver"
sudo rm -rf /usr/bin/chromedriver
echo "moving chromedriver to local/share"
sudo mv -f chromedriver /usr/local/share/chromedriver
echo "linking to bin"
sudo ln -s /usr/local/share/chromedriver /usr/local/bin/chromedriver
echo "linking to local bin"
sudo ln -s /usr/local/share/chromedriver /usr/bin/chromedriver
所以尝试将该代码复制到 shell 文件中。 chmod +x
文件,然后sh filename.sh
或者您可以将每个步骤直接复制到终端中。
【讨论】:
谢谢你的脚本,我试过了,还是没解决,还是一样的错误 似乎 chromedriver 不适用于 ARM 架构......太糟糕了:( 我找到了这个驱动程序,它可以工作github.com/electron/electron/releases/download/v1.6.0/…【参考方案2】:我不得不使用这个旧版驱动程序:
https://github.com/electron/electron/releases/download/v1.6.0/chromedriver-v2.21-linux-armv7l.zip
【讨论】:
【参考方案3】:根据这篇文章,the command to install chromedriver 如下:
sudo apt-get install chromium-chromedriver
您将在系统中获得 74.0.3729.157 版本的 ChromeDriver。
【讨论】:
以上是关于在树莓派 3 上使用 selenium 和 chromedriver 时出错 - Raspbian Jessie的主要内容,如果未能解决你的问题,请参考以下文章
在树莓派2代B型/3代 上安装Fedora23 - Installing Fedora 23 on Raspberry Pi 2 model B or Raspberry Pi 3