geckodriver可执行文件需要在路径中

Hea*_*Qiu 11 python

我已经阅读了之前有关此主题的问题并试图遵循建议,但我仍然会遇到错误.在终端上,我跑了

export PATH=$PATH:/Users/Conger/Documents/geckodriver-0.8.0-OSX
Run Code Online (Sandbox Code Playgroud)

我也试过了

    export PATH=$PATH:/Users/Conger/Documents/geckodriver
Run Code Online (Sandbox Code Playgroud)

当我运行以下Python代码时

from selenium import webdriver
from selenium.webdriver.firefox.firefox_binary import FirefoxBinary
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities


firefox_capabilities = DesiredCapabilities.FIREFOX
firefox_capabilities['marionette'] = True
firefox_capabilities['binary'] = '/Users/Conger/Documents/Firefox.app'

driver = webdriver.Firefox(capabilities=firefox_capabilities)
Run Code Online (Sandbox Code Playgroud)

我仍然收到以下错误

Python - testwebscrap.py:8
Traceback (most recent call last):
  File "/Users/Conger/Documents/Python/Crash_Course/testwebscrap.py", line 11, in <module>
    driver = webdriver.Firefox(capabilities=firefox_capabilities)
  File "/Users/Conger/miniconda2/lib/python2.7/site-packages/selenium/webdriver/firefox/webdriver.py", line 135, in __init__
    self.service.start()
  File "/Users/Conger/miniconda2/lib/python2.7/site-packages/selenium/webdriver/common/service.py", line 71, in start
    os.path.basename(self.path), self.start_error_message)
selenium.common.exceptions.WebDriverException: Message: 'geckodriver' executable needs to be in PATH. 

Exception AttributeError: "'Service' object has no attribute 'process'" in <bound method Service.__del__ of <selenium.webdriver.firefox.service.Service object at 0x1006df6d0>> ignored
[Finished in 0.194s]
Run Code Online (Sandbox Code Playgroud)

sot*_*any 41

你可以降低你的硒值

pip install selenium == 2.53.6

这解决了我的问题

  • 除了降级之外还有更好的选择吗? (4认同)
  • 好的,这是最好的解决方案 (2认同)

Ava*_*joe 8

在mac上:

brew install geckodriver
Run Code Online (Sandbox Code Playgroud)

Homebrew是Mac OS X中最受欢迎的软件包管理器,您需要在Mac上安装XCode,然后才能从终端访问.

如果需要,您可以按照本教程学习

  • 您应该添加关于自制软件的注释/链接(理想情况下,如果需要,可以安装它). (4认同)

Jac*_*ssn 7

我刚刚从这里下载了最新版本的geckodriver(我有win7) 并在python目录中添加了exe文件(已经在PATH中)


小智 6

首先我们知道gekodriver是Firefox的驱动引擎,我们知道它 driver.Firefox()用于打开Firefox浏览器,它会调用gekodriver引擎,所以我们需要给gekodirver一个可执行的权限.所以我们下载最新的gekodriver解压缩tar包,并把gekodriver放在/usr/bin/ ok,这是我的答案,我已经测试过了.