Mac上的Python中的Selenium - Geckodriver可执行文件需要在PATH中

9 python firefox selenium selenium-chromedriver selenium-webdriver

我是编程的新手,大约2个月前开始使用Python,并且正在浏览Sweigart的Python文本自动化无聊的东西.我正在使用Spyder 3并且已经安装了selenium模块和Firefox浏览器.我在python文件中使用了以下代码

from selenium import webdriver
browser = webdriver.Firefox()
browser.get('http://inventwithpython.com')
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

Message: 'geckodriver' executable needs to be in PATH.
Run Code Online (Sandbox Code Playgroud)

除了进入终端并使用它安装之外,我还下载了geckodriver.exe

brew install geckodriver
Run Code Online (Sandbox Code Playgroud)

奇怪的是,如果我进入终端并键入"python"然后将代码放入,它可以工作,但不是当我在Spyder中运行文件时.我在哪里可以放置geckodriver.exe文件?我已经尝试将它放在各种文件夹中(与python文件相同的文件夹,与webdriver文件相同的文件夹,在用户bin中,依此类推)但我得到了同样的错误

我看过类似的问题,但似乎找不到有用的东西.我也试过Chrome但是我得到了同样的错误但是用了chromedriver.

which geckodriver
Run Code Online (Sandbox Code Playgroud)

产量 /usr/local/bin/geckodriver

我也在Mac上,所以文件路径对我来说比在Windows上要困难一些.

小智 15

下载geckodriver并将其放入/ usr/local/bin; 然后像这样使用webdriver.Firefox:

from selenium import webdriver
driver = webdriver.Firefox(executable_path = '/usr/local/bin/geckodriver')
Run Code Online (Sandbox Code Playgroud)


小智 5

已解决:我将 geckodriver exe 放在 /Users/sethkillian/anaconda/bin 中,现在它可以从 Spyder 正常工作。谢谢您的帮助!