小编LU *_*Cai的帖子

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

我现在正在学习Selenium,遇到了一个问题.

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

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

WebDriver driver = new FirefoxDriver();
Run Code Online (Sandbox Code Playgroud)

我的Firefox版本为45.5.1.但是上面的代码仍然不起作用.所以根据这个链接,我添加了:

System.setProperty("webdriver.firefox.marionette","C:\\geckodriver.exe");

它奏效了.

然后我意识到我没有安装geckodriver.exe在我的电脑上.要了解它是如何进行的,我已经更改为以下代码:

System.setProperty("webdriver.firefox.marionette","");
Run Code Online (Sandbox Code Playgroud)

它仍然有效.

所以,这是我的第一个问题:发生了什么?我确信geckodriver.exe在我的环境中不存在.如果没有指出位置,那我为什么要设置属性?

另外,我见过的代码如下:

System.setProperty("webdriver.gecko.driver", "/tools/marionette/wires.exe");
Run Code Online (Sandbox Code Playgroud)

我的第二个问题是,是什么样的区别webdriver.gecko.driverwebdriver.firefox.marionettewires.exegeckodriver.exe

selenium selenium-firefoxdriver selenium-webdriver firefox-marionette geckodriver

51
推荐指数
3
解决办法
3万
查看次数