我正在尝试在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中。
答案 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
(通过pip
或easy_install
安装selenium后运行此脚本)