14

我在 OS Sierra 上,我正在运行 Python 3.5.2。我已经安装了 selenium,我正在关注一本名为“用 Python 自动化无聊的任务”的书

我的代码是

from selenium import webdriver
>>> browser = webdriver.Firefox()

我不断收到错误

Traceback (most recent call last):
File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/selenium/webdriver/common/service.py", line 64, in start
stdout=self.log_file, stderr=self.log_file)
File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/subprocess.py", line 947, in __init__
restore_signals, start_new_session)
File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/subprocess.py", line 1551, in _execute_child
raise child_exception_type(errno_num, err_msg)
FileNotFoundError: [Errno 2] No such file or directory: 'geckodriver'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "<pyshell#1>", line 1, in <module>
browser = webdriver.Firefox()
File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/selenium/webdriver/firefox/webdriver.py", line 135, in __init__
self.service.start()
File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/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. 

我已经广泛搜索了我的问题的解决方案。很多人都有同样的问题..但没有一个解决方案有效。我在我的 Python 文件夹中到处都复制了 geckodriver。我试过使用终端,也试过在代码中指定路径,但它仍然给我错误。我希望有人能帮助我。很抱歉,如果这是错误的格式,我不知道我在做什么。

4

3 回答 3

18

我遇到了同样的问题,这是我解决它的方法:

  1. geckodriver这里下载
  2. 提取并解压缩并将geckodriver文件移动到/usr/local/bin/目录
  3. Firefox使用 selenium webdriver运行 python 程序。
于 2016-11-03T02:06:48.060 回答
4

您需要将二进制文件添加到您的$PATH. 您可以通过以下方式执行此操作:

export PATH=$PATH:/path/to/geckodriver
于 2016-11-02T21:28:14.880 回答
2

“我的 Python 文件夹中到处都复制了 geckodriver。” 确保运行时在其中一个路径中找到 geckodriver 可执行文件:

import sys
print sys.path

问题应该得到解决。

于 2016-11-02T21:30:49.893 回答