无法使用Selenium打开Firefox浏览器

时间:2017-03-11 07:59:43

标签: python selenium firefox ubuntu-14.04

当我尝试使用python脚本在Ubuntu Linux 14.04上打开firefox浏览器时收到此错误消息:

File "seleniumtest.py", line 3, in <module>
browser = webdriver.Firefox()
File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/firefox/webdriver.py", line 145, 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 1327, in _execute_child
raise child_exception
OSError: [Errno 8] Exec format error

示例代码为:

from selenium import webdriver
browser = webdriver.Firefox()
browser.get('https://www.google.com')

已安装geckodriver等依赖项。

wget https://github.com/mozilla/geckodriver/releases/download/v0.13.0/geckodriver-v0.13.0-linux64.tar.gz
tar -xvzf geckodriver-v0.13.0-linux64.tar.gz
rm geckodriver-v0.13.0-linux64.tar.gz
chmod +x geckodriver
cp geckodriver /usr/local/bin/

添加“executable_path =”/ usr / local / bin / geckodriver“后,输出如下:

File "seleniumtest.py", line 3, in <module>
browser = webdriver.Firefox(executable_path="/usr/local/bin/geckodriver")
File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/firefox/webdriver.py", line 145, 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 1327, in _execute_child
raise child_exception
OSError: [Errno 8] Exec format error

3 个答案:

答案 0 :(得分:0)

您应该提供已安装的geckodriver的位置:

browser = webdriver.Firefox(executable_path="/path/to/geckodriver")

答案 1 :(得分:0)

使用Firefox有一种替代方法。我们可以使用Chromium。这些是设置步骤:

sudo apt-get --yes --force-yes install chromium-browser xvfb unzip

wget -N http://chromedriver.storage.googleapis.com/2.26/chromedriver_linux32.zip
unzip chromedriver_linux32.zip
chmod +x chromedriver

sudo mv -f chromedriver /usr/local/share/chromedriver
sudo ln -s /usr/local/share/chromedriver /usr/local/bin/chromedriver
sudo ln -s /usr/local/share/chromedriver /usr/bin/chromedriver

答案 2 :(得分:0)

如果使用的是Mac OS,请确保已在终端机中运行了此命令

chmod a+x geckodriver