首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Selenium 3.0与Firefox V<47的结合使用

Selenium 3.0与Firefox V<47的结合使用
EN

Stack Overflow用户
提问于 2017-02-22 21:44:13
回答 2查看 3.3K关注 0票数 2

与其他驱动程序一样,Selenium3支持可执行文件geckodriver启动Mozilla Firefox;但可执行文件geckodriverMozilla Firefox < v47不兼容。

那么,我们如何实现与浏览器的向后兼容性,例如,我们如何在Selenium3中使用firefox浏览器V<47

EN

回答 2

Stack Overflow用户

发布于 2017-02-22 22:12:19

禁用geckodriver功能,以便可以使用FirefoxDriver

代码语言:javascript
复制
System.setProperty("webdriver.gecko.driver", "path/to/geckodriver.exe");
DesiredCapabilities d = new DesiredCapabilities();
d.setCapability("marionette", false);  // to disable marionette, by default true
WebDriver driver = new FirefoxDriver(d);

支持geckodriver.exe和版本的火狐小背景:

geckodriver github页面:

代码语言:javascript
复制
Firefox 47 is explicitly not supported

因此,如果您想使用<= Firefox 47版本,请使用Firefox driver而不是geckodriver

  1. 在selenium 2.53中,您不需要做任何额外的事情(不需要设置geckodriver,因为selenium 2.53使用Firefox driver by default)。对于Selenium 3.0中的
  2. ,我们必须使用geckodriver设置geckodriver路径(因为geckodriverSelenium 3.0Firefoxdefault驱动程序),并将marionette设置为false,因此将禁用geckodriver功能,并使用默认的Firefox驱动程序。

参考文献:

  1. https://github.com/mozilla/geckodriver#supported-firefoxen
  2. https://github.com/mozilla/geckodriver/issues/224
  3. https://stackoverflow.com/a/40658421/2575259
票数 4
EN

Stack Overflow用户

发布于 2017-02-22 21:46:49

你应该使用旧的marionette,如果你使用RemoteDriver,只需确保将marionette设置为false,因为我不确定它是默认启用的(caps.setCapability(FirefoxDriver.MARIONETTE, false);)。

这个驱动程序不需要任何.exe文件,只需要在代码中输入import org.openqa.selenium.firefox.FirefoxDriver;,这样就可以使用它了。

代码语言:javascript
复制
driver = new FirefoxDriver();

或者,如果您使用的是网格:

代码语言:javascript
复制
driver = RemoteWebDriver(url, DesiredCapabilities.firefox());
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42393205

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档