Selenium3
支持可执行文件geckodriver
以便像其他驱动程序一样启动Mozilla Firefox
;但可执行文件geckodriver
与Mozilla Firefox < v47
不兼容。
那么我们如何实现与浏览器V<47
的向后兼容性,我们如何将firefox
浏览器V<47
与Selenium3
一起使用。
答案 0 :(得分:3)
禁用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版本支持的小背景:
来自geckodriver
github页面:
Firefox 47 is explicitly not supported
因此,如果您要使用<= Firefox 47
版本,请使用Firefox driver
,而不是geckodriver
。
geckodriver
,因为selenium 2.53
使用Firefox driver
default
) 。 geckodriver
设置geckodriver
路径(因为default
是Firefox
中Selenium 3.0
的{{1}}驱动程序)并将System.setProperty
设置为marionette
,因此将禁用false
功能并使用默认的Firefox驱动程序。参考文献:
答案 1 :(得分:0)
你应该使用旧的FirefoxDriver
,如果你使用的是RemoteDriver,请确保将牵强木偶设置为false,因为我不确定它是否默认启用(caps.setCapability(FirefoxDriver.MARIONETTE, false);
)
此驱动程序不需要任何.exe
文件,只需import org.openqa.selenium.firefox.FirefoxDriver;
代码,因此您可以使用它。
driver = new FirefoxDriver();
或者如果您使用网格:
driver = RemoteWebDriver(url, DesiredCapabilities.firefox());