【问题标题】:Use of Selenium 3.0 with Firefox V<47在 Firefox V<47 中使用 Selenium 3.0
【发布时间】:2017-07-12 14:29:13
【问题描述】:

Selenium3 支持可执行的geckodriver 启动Mozilla Firefox 就像其他驱动程序一样;但可执行的geckodriverMozilla Firefox &lt; v47 不兼容。

那么我们如何实现与浏览器V&lt;47 的向后兼容性,即我们如何将firefox 浏览器V&lt;47Selenium3 一起使用。

【问题讨论】:

    标签: selenium firefox selenium-webdriver geckodriver


    【解决方案1】:

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

    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 和 Firefox 版本支持的小背景:

    来自geckodrivergithub页面:

    Firefox 47 is explicitly not supported
    

    所以,如果您想使用&lt;= Firefox 47 版本,请使用Firefox driver 而不是geckodriver

    1. 在 selenium 2.53 的情况下,您不需要做任何额外的事情(无需将 geckodriver 设置为 selenium 2.53 使用 Firefox driver by default)。
    2. 在Selenium 3.0中,我们必须设置geckodriver路径(因为geckodriverFirefoxFirefoxdefault驱动程序)使用System.setProperty并将marionette设置为false,所以@ 987654345@ 功能将被禁用并使用默认的 Firefox 驱动程序。

    参考资料:

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

    【讨论】:

    • 我们是否在代码中具有某种灵活性,例如 ff v>47 和 ff
    • 你可以使用'getVersion'方法。所以添加 if else 块来完成你的任务。更多细节在这里stackoverflow.com/questions/12556163/…
    • 我正在尝试迁移到 Selenium 3.X,但 geckodriver 是主要障碍。现在我知道如何处理它了。您的解决方案节省了我的时间。谢谢
    【解决方案2】:

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

    此驱动程序不需要任何.exe 文件,只需在您的代码中使用import org.openqa.selenium.firefox.FirefoxDriver;,以便您可以使用它。

    driver = new FirefoxDriver();
    

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

    driver = RemoteWebDriver(url, DesiredCapabilities.firefox());
    

    【讨论】:

      猜你喜欢
      • 2016-11-25
      • 1970-01-01
      • 2017-03-20
      • 1970-01-01
      • 1970-01-01
      • 2017-06-30
      • 2016-10-12
      • 2016-12-20
      相关资源
      最近更新 更多