当前位置: 首页 > 知识库问答 >
问题:

webdriver.firefox.marionette与webdriver.gecko.driver之间的区别

苏雅珺
2023-03-14

我现在学硒,遇到了一个问题。

我知道Selenium默认支持旧的Firefox版本,没有驱动程序。对于Firefox的最新版本,我们必须下载驱动程序并使用system.setproperty定义它。

根据此链接,对于Firefox45和46,启动驱动程序代码可能如下所示:

WebDriver driver = new FirefoxDriver();
System.setProperty("webdriver.firefox.marionette","");

此外,我还看到过这样的代码:

System.setProperty("webdriver.gecko.driver", "/tools/marionette/wires.exe");

我的第二个问题是webdriver.gecko.driverwebdriver.firefox.marionette或者wires.exegeckodriver.exe之间有什么区别?

共有1个答案

庞乐池
2023-03-14

直到版本45(推到版本47),用于自动化Firefox的驱动程序是每个客户机附带的扩展。但是这个扩展被删除了,可能是因为策略的改变,现在要求所有的扩展都由Mozilla签名。

Marionette是Firefox附带的新驱动程序。这个驱动程序有它自己的协议,它与Selenium/WebDriver协议不直接兼容。

Gecko驱动程序(以前命名为wires)是实现Selenium/WebDriver协议的应用程序服务器。它转换Selenium命令并将它们转发给提线木偶驱动器。

System.setProperty("webdriver.firefox.marionette", "false");
FirefoxOptions options = new FirefoxOptions()
  .setLegacy(true);

WebDriver driver = new FirefoxDriver(options);
// or with a remote server
WebDriver driver = new RemoteWebDriver(remoteUrl, options.toDesiredCapabilities());
DesiredCapabilities capa = DesiredCapabilities.firefox();
capa.setCapability("marionette", false);

WebDriver driver = new FirefoxDriver(capa);
// or with a remote server
WebDriver driver = new RemoteWebDriver(remoteUrl, capa);
System.setProperty("webdriver.gecko.driver", "C:\\geckodriver.exe");
java -Dwebdriver.gecko.driver="C:\\geckodriver.exe" -jar selenium-server-standalone-3.4.0.jar
 类似资料:
  • 问题内容: 我现在正在学习selenium,遇到了问题。 我知道Selenium默认不使用驱动程序就支持旧的Firefox版本。对于最新版本的Firefox,我们必须下载驱动程序并使用进行定义。 根据此链接,对于Firefox 45和46,启动驱动程序代码如下所示: 我的Firefox是45.5.1版,但上述代码仍然无法正常工作。因此,根据此链接,我添加了: 而且有效。 然后我意识到自己还没有安装

  • C# 最吸引人的地方是它与 Java 的区别而不是它们之间的相似性。下面就来介绍一下 C# 与 Java 之间的区别: 序号 Java C# 1 Java 是 Oracle 开发的一种高级、健壮、安全和面向对象的编程语言 C# 是微软开发的在 .Net Framework 上运行的一种面向对象的编程语言 2 Java 语言需要在 Java 运行环境(JRE)下运行  C# 语言需要在公共语言运行库

  • 本文向大家介绍Where 与 Having之间的区别,包括了Where 与 Having之间的区别的使用技巧和注意事项,需要的朋友参考一下 SQL查询中使用的两个关键字“ Where”和“ Having”都是用于根据给定条件过滤和汇总从数据库中检索到的数据。 根据两个关键字的特征,我们可以区分Where和Have,如下所示: 序号 键 where having 1 定义 SQL查询中的WHERE子

  • Mockito框架中的和有什么区别?

  • 我正在尝试添加菜单在我的应用程序中,我发现,当它工作时,如果它扩展AppCompattivity,但不是如果它扩展Activity。是菜单中没有任何活动可用的东西吗?人们说Activity是基本的,而appcompatition是后来发展起来的东西,有什么好的理由我应该使用Activity而不是appcompatition吗?由于AppCompattivity是默认的,但在我的学习中,建议选择Ac