Python geckodriver可执行文件需要位于路径中
我已经阅读了之前关于这个主题的问题,并尝试按照建议进行操作,但仍然会出现错误。在终点站,我跑了Python geckodriver可执行文件需要位于路径中,python,Python,我已经阅读了之前关于这个主题的问题,并尝试按照建议进行操作,但仍然会出现错误。在终点站,我跑了 export PATH=$PATH:/Users/Conger/Documents/geckodriver-0.8.0-OSX 我也试过了 export PATH=$PATH:/Users/Conger/Documents/geckodriver 当我运行以下Python代码时 from selenium import webdriver from selenium.webdriver.f
export PATH=$PATH:/Users/Conger/Documents/geckodriver-0.8.0-OSX
我也试过了
export PATH=$PATH:/Users/Conger/Documents/geckodriver
当我运行以下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)
我仍然得到以下错误
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]
Python-testwebscrap.py:8
回溯(最近一次呼叫最后一次):
文件“/Users/Conger/Documents/Python/Crash_Course/testwebcrap.py”,第11行,在
driver=webdriver.Firefox(功能=Firefox\u功能)
文件“/Users/Conger/miniconda2/lib/python2.7/site packages/selenium/webdriver/firefox/webdriver.py”,第135行,在__
self.service.start()
文件“/Users/Conger/miniconda2/lib/python2.7/site packages/selenium/webdriver/common/service.py”,第71行,开始
os.path.basename(self.path)、self.start\u错误消息)
selenium.common.exceptions.WebDriverException:消息:“geckodriver”可执行文件需要位于路径中。
异常AttributeError:“服务”对象在忽略中没有属性“进程”
[以0.194秒完成]
首先我们知道gekodriver是Firefox的驱动引擎,我们知道
driver.Firefox()
用于打开Firefox浏览器,它将调用gekodriver引擎,因此我们需要给gekodirver一个可执行权限。
因此,我们下载最新的gekodriver解压tar packge,并将gekodriver放在/usr/bin/
好的,这是我的答案,我已经测试过了。您可以通过 pip安装selenium==2.53.6
这解决了我的问题我刚刚从下载了最新版本的geckodriver(我有win7),并在python目录(已经在PATH中)中添加了exe文件在mac上:
brew install geckodriver
Homebrew是Mac OS X最流行的软件包管理器,您需要在Mac上安装XCode,然后才能从终端访问
如果需要,您可以遵循导出路径,导出路径仅在您输入命令的终端中有效。如果您尝试从其他终端运行脚本,您将得到相同的错误 我终于弄明白了!我没有创建新路径,而是将geckodriver文件添加到bash_概要文件中列出的路径中。马上就开始工作了!有没有比降级更好的替代方案呢?已经成功了,但为什么呢?ubuntu版本并没有按照python软件包升级。因此,我们可以降级selenium,或者在路径中添加gekodriver,并告诉pathonce我在我的系统路径中添加了C:\Program Files(x86)\Python36-32\Lib\site packages\selenium\webdriver\firefox,并将geckodriver.exe文件放在该文件夹中,所有这些都工作正常(windows 10.1)(我很确定我不应该放在确切的路径中)在Ubuntu 18.04 LTS上工作。非常简洁的回答。