首页 文章

无法使用Python安装Selenium WebDriver

提问于
浏览
3

我想在我的Mac上安装带有Python的Selenium WebDriver . 我用这个命令:

sudo easy_install selenium

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

蟒蛇

from selenium import webdriver
driver = webdriver.Firefox()

我收到以下错误 . 我究竟做错了什么?

回溯(最近一次调用最后一次):文件“”,第1行,在文件“/Library/Python/2.7/site-packages/selenium-3.0.0.b3-py2.7.egg/selenium/webdriver/firefox/ webdriver.py“,第68行,在init self.service.start()文件”/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

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

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

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

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

    以下shell脚本将从Mozilla的repo下载最新的 geckodriver 并将其放在 usr/local/bin 中,因此可以在PATH上找到它:

    #!/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后运行此脚本)

相关问题