繁体   English   中英

Selenium安装Marionette webdriver

[英]Selenium install Marionette webdriver

我有这个问题与firefox版本47 https://github.com/seleniumhq/selenium/issues/2110

所以,我试图添加Marionette网络驱动程序来修复它: https//developer.mozilla.org/en-US/docs/Mozilla/QA/Marionette/WebDriver

但:

from selenium.webdriver.common.desired_capabilities import DesiredCapabilities

firefox_capabilities = DesiredCapabilities.FIREFOX
firefox_capabilities['marionette'] = True
firefox_capabilities['binary'] = '/Users/myproject/geckodriver-0.8.0-OSX'

返回错误:

selenium.common.exceptions.WebDriverException:消息:'wires'可执行文件需要在PATH中。

异常AttributeError:“'服务'对象在>忽略中没有属性'process'”

硒== 2.53.5

您设置的firefox二进制功能指向firefox二进制文件,而不是木偶驱动程序二进制文件。 您需要将/Users/myproject/geckodriver-0.8.0-OSX添加到您的路径,如下所示:

打开终端并运行此命令

export PATH=$PATH:/Users/myproject/geckodriver-0.8.0-OSX

遇到了这个问题并且可以确认firefox_capabilities['binary']应该指向Firefox二进制文件,而不是GeckoDriver。 Mozilla WebDriver文档中的Python示例已在此主题中阐明。

除了其他两个答案之外,您可能不希望更改PATH系统范围,因为只有在运行测试时才需要它。 只在需要时才能获得正确的PATH方法是在代码中设置它:

os.environ["PATH"] += os.pathsep + 'path/to/dir/containing/geckodriver/'

一个更简单的解决方法是简单地将geckodriver二进制文件移动到路径中已有的目录:

mv geckodriver /usr/local/bin

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM