与其他驱动程序一样,Selenium3支持可执行文件geckodriver启动Mozilla Firefox;但可执行文件geckodriver与Mozilla Firefox < v47不兼容。
那么,我们如何实现与浏览器的向后兼容性,例如,我们如何在Selenium3中使用firefox浏览器V<47。
发布于 2017-02-22 22:12:19
禁用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和版本的火狐小背景:
从geckodriver github页面:
Firefox 47 is explicitly not supported因此,如果您想使用<= Firefox 47版本,请使用Firefox driver而不是geckodriver。
geckodriver,因为selenium 2.53使用Firefox driver by default)。对于Selenium 3.0中的geckodriver设置geckodriver路径(因为geckodriver是Selenium 3.0中Firefox的default驱动程序),并将marionette设置为false,因此将禁用geckodriver功能,并使用默认的Firefox驱动程序。参考文献:
发布于 2017-02-22 21:46:49
你应该使用旧的marionette,如果你使用RemoteDriver,只需确保将marionette设置为false,因为我不确定它是默认启用的(caps.setCapability(FirefoxDriver.MARIONETTE, false);)。
这个驱动程序不需要任何.exe文件,只需要在代码中输入import org.openqa.selenium.firefox.FirefoxDriver;,这样就可以使用它了。
driver = new FirefoxDriver();或者,如果您使用的是网格:
driver = RemoteWebDriver(url, DesiredCapabilities.firefox());https://stackoverflow.com/questions/42393205
复制相似问题