无法使用Python安装Selenium WebDriver

时间:2016-10-13 17:45:14

标签: python selenium-webdriver

我正在尝试在Mac上安装带有Python的Selenium WebDriver。我用了这个命令:

sudo easy_install selenium

之后,我尝试了以下简单测试:

from selenium import webdriver
driver = webdriver.Firefox()

我收到以下错误。我做错了什么?

  

追踪(最近一次通话):     文件"",第1行,in     File" /Library/Python/2.7/site-packages/selenium-3.0.0.b3-py2.7.egg/selenium/webdriver/firefox/webdriver.py" ;,第68行,初始化       self.service.start()File" /Library/Python/2.7/site-packages/selenium-3.0.0.b3-py2.7.egg/selenium/webdriver/common/service.py",第71行,开始       os.path.basename(self.path),self.start_error_message)   selenium.common.exceptions.WebDriverException:消息:' geckodriver'可执行文件需要在PATH中。

2 个答案:

答案 0 :(得分:1)

如果您调用不带任何参数的selenium驱动程序,则webdriver可执行文件的路径必须位于系统PATH环境变量中。

或者,您可以明确指定路径:

driver = webdriver.Firefox("path/to/the/FireFoxExecutable")

答案 1 :(得分:0)

错误告诉您它无法找到geckodriver geckodriver 是您必须安装以控制Firefox的附加组件。它不包含在硒包中,因此必须单独安装。

以下shell脚本将从Mozilla的repo中下载最新的 geckodriver 并将其放在usr/local/bin中,以便在您的路径中找到它:

#!/bin/sh
url=$(curl -s "https://api.github.com/repos/mozilla/geckodriver/releases/latest" | python -c "import sys, json; r = json.load(sys.stdin); print [a for a in r['assets'] if 'linux64' in a['name']][0]['browser_download_url'];")
curl -L -o geckodriver.tar.gz $url
tar -xzf geckodriver.tar.gz
chmod +x geckodriver
sudo mv geckodriver /usr/local/bin

(通过pipeasy_install安装selenium后运行此脚本)