"WebDriverException: 'geckodriver' executable needs to be in PATH" 错误,而 'driver = webdriver.Firefox()' 通过 Selenium

"WebDriverException: 'geckodriver' executable needs to be in PATH" error while 'driver = webdriver.Firefox()' through Selenium

对于那里的专家,我 运行 使用 Spyder(在 Mac 上)在 Python 中编写了以下代码:

>from selenium import webdriver
>from selenium.webdriver.common.keys import Keys
>driver = webdriver.Firefox()

我收到以下错误:

>Traceback (most recent call last):
>
>  File "<ipython-input-4-fd567e24185f>", line 1, in <module>
>    driver = webdriver.Firefox()
>
>  File "/Users/liminfang/anaconda3/lib/python3.6/site->packages/selenium/webdriver/firefox/webdriver.py", line 160, in __init__
>    self.service.start()
>
>  File "/Users/liminfang/anaconda3/lib/python3.6/site->packages/selenium/webdriver/common/service.py", line 83, in start
>    os.path.basename(self.path), self.start_error_message)
>
>WebDriverException: 'geckodriver' executable needs to be in PATH. 

请注意,我已经通过执行

添加了 'geckodriver' 可执行文件到 PATH
>export PATH=$PATH:/Users/liminfang/anaconda3/geckodriver 

在终端中。我重新启动了我的电脑,但错误仍然存​​在。有人知道这里发生了什么吗?请帮忙。谢谢!

geckodriver.exe 放入 脚本文件夹 然后调用 webdriver.Firefox

driver = webdriver.Firefox(firefox_binary=binary, firefox_profile=fp, executable_path='geckodriver.exe')

我有 52.0.2(64 位)和 Geckodriver 0.15.0-win64,它正在运行!

这个错误信息...

WebDriverException: 'geckodriver' executable needs to be in PATH. 

...表示在您在 PATH 变量中提到的目录中找不到 GeckoDriver

解决方案

当您使用 ipython 时,您可以从 mozilla/geckodriver 下载最新的 GeckoDriver 并将其放置在任何地方在你的系统内。在初始化新的 WebDriver/WebClient 会话时传递 absolute GeckoDriver 的路径二进制通过executable_path参数如下:

from selenium import webdriver
driver = webdriver.Firefox(executable_path='/path/to/geckodriver')