为什么Firefox需要GeckoDriver?

我今天有一个简单的问题:

我使用以下代码创建了一个新的selenium项目:

FirefoxDriver driver = new FirefoxDriver();

//ChromeDriver driver = new ChromeDriver();

//InternetExplorerDriver driver = new InternetExplorerDriver();

使用Chrome和IE即可使用,但是使用Firefox时:

geckodriver.exe文件在当前目录或PATH环境变量上的目录中不存在。该驱动程序可以从https://github.com/mozilla/geckodriver/releases下载。

为什么只为Firefox才需要下载/配置该驱动程序?

回答:

一一解答您的问题:

  1. -对于Mozila Firefox直至47.x版,它是旧版浏览器,我们不需要gecko驱动程序。从47.x版开始的Mozila Firefox附带Marionette,后者是Mozilla的Gecko引擎的自动化驱动程序。它可以远程控制Gecko平台(如Firefox)的UI或内部JavaScript。

  2. -理想情况下,Chrome和IE都不应该工作。但是,当您在安装/配置Google Chrome&MS Internet Explorer或其他相关软件时有意/无意地在环境变量中添加了二进制文件的位置时,这些二进制文件很容易被自动定位和使用。

  3. -不仅是Firefox,而且要使用Selenium 3.4.0的Google Chrome&MS Internet Explorer都需要从该位置或Chrome驱动程序或IEDriverServer 强制下载gecko驱动程序v0.16.0(或更高版本)并将其保存在计算机中。将您的Mozila Firefox或Google Chrome或MS Internet Explorer升级到最新的稳定版本。在代码中使用geckodriver / chromedriver / iedriver的绝对路径,System.setProperty如下所示:

    System.setProperty("webdriver.gecko.driver",  "C:\\Utility\\BrowserDrivers\\geckodriver.exe");

以上是 为什么Firefox需要GeckoDriver? 的全部内容, 来源链接: utcz.com/qa/404991.html

回到顶部