试图让Firefox在spyder中使用硒运行。我当前的代码是
from selenium import webdriver import os os.environ["PATH"] += ":/usr/local/bin/geckodriver" browser = webdriver.Firefox()
我仍然收到此错误:
runfile('/Users/mherl/Dropbox/AnacondaProjects/MWS/MWSSpyder/test.py', wdir='/Users/mherl/Dropbox/AnacondaProjects/MWS/MWSSpyder') Traceback (most recent call last): File "<ipython-input-1-3f3f96ccf515>", line 1, in <module> runfile('/Users/mherl/Dropbox/AnacondaProjects/MWS/MWSSpyder/test.py', wdir='/Users/mherl/Dropbox/AnacondaProjects/MWS/MWSSpyder') File "/Applications/anaconda3/lib/python3.6/site- packages/spyder/utils/site/sitecustomize.py", line 705, in runfile execfile(filename, namespace) File "/Applications/anaconda3/lib/python3.6/site- packages/spyder/utils/site/sitecustomize.py", line 102, in execfile exec(compile(f.read(), filename, 'exec'), namespace) File "/Users/mherl/Dropbox/AnacondaProjects/MWS/MWSSpyder/test.py", line 12, in <module> browser = webdriver.Firefox() File "/Applications/anaconda3/lib/python3.6/site- packages/selenium/webdriver/firefox/webdriver.py", line 152, in __init__ self.service.start() File "/Applications/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.
即使gekodriver在该文件夹中。
证明gekodriver位置正确
我也尝试过将路径导出到〜。/ bash_profile,现在看起来像这样。
Last login: Fri Apr 20 10:57:16 on ttys000 dhcp-54-85:~ mherl$ nano ./bash_profile dhcp-54-85:~ mherl$ nano .bash_profile GNU nano 2.0.6 File: .bash_profile Modified # Setting PATH for Python 3.6 # The original version is saved in .bash_profile.pysave PATH="/Library/Frameworks/Python.framework/Versions/3.6/bin:${PATH}" export PATH # Setting PATH for Python 3.6 # The original version is saved in .bash_profile.pysave PATH="/Library/Frameworks/Python.framework/Versions/3.6/bin:${PATH}" export PATH # added by Anaconda3 5.1.0 installer export PATH="/Applications/anaconda3/bin:$PATH" #added by mherl to show path to gekodriver export PATH=$PATH:/usr/local/bin/gekodriver
我还在spyder中设置了当前路径:
/usr/local/bin /Users/mherl/Dropbox/AnacondaProjects/MWS/MWSSpyder
gekodriver在其中
/usr/local/bin
我到处都看过,大多数人说如果它位于/ usr / local / bin中,它应该自动运行,但是即使我 明确声明了路径,它仍然似乎找不到。
如果重要的话,这是一台运行High Sierra的Mac。
这个错误讯息…
WebDriverException: 'geckodriver' executable needs to be in PATH.
…意味着在预期的默认 位置找不到GeckoDriver 。
当您使用基于MAC系统,你需要通过按键executable_path与沿值指的是绝对路径的的GeckoDriver如下:
from selenium import webdriver browser = webdriver.Firefox(executable_path='/usr/local/bin/geckodriver')
Ensure the following :