【问题标题】:How to use geckodriver in selenium webdriver 3.0 beta?如何在 selenium webdriver 3.0 beta 中使用 geckodriver?
【发布时间】:2016-12-06 03:24:29
【问题描述】:
如何将 geckodriver 用于 selenium webdriver 3.0 beta 版本。当我像这样实例化 Firefox 时:
WebDriver driver = new FirefoxDriver();
System.setProperty("webdriver.gecko.driver", "//lib//geckodriver");
driver.get("/");
我得到错误:
线程“主”java.lang.IllegalStateException 中的异常:路径
驱动程序可执行文件必须由 webdriver.gecko.driver 设置
系统属性;有关详细信息,请参阅
https://github.com/mozilla/geckodriver.
【问题讨论】:
标签:
java
selenium
selenium-webdriver
【解决方案1】:
如何在 selenium 3.x 系列中定义 Firefox 驱动程序的示例如下:
WebDriver driver;
System.setProperty("webdriver.gecko.driver", "G:\\Drivers\\geckodriver.exe");
driver = new FirefoxDriver();
请记住,这(Selenium 3.x)也需要 Jave 8+ 版本。
【解决方案2】:
我使用了如下代码,没有设置 DesiredCapabilities,它工作正常,没有任何问题
System.setProperty("webdriver.gecko.driver", "pathTogeckodriver");
WebDriver driver = new FirefoxDriver();
【解决方案3】:
这也有效:
System.setProperty("webdriver.firefox.marionette", "pathToGeckodriver");
FirefoxDriver driver = new FirefoxDriver();
如果您将驱动程序与您的项目放在同一目录中,您可以简单地使用:
System.setProperty("webdriver.firefox.marionette", "geckodriver");
FirefoxDriver driver = new FirefoxDriver();
(或 "geckodriver.exe" 用于 Windows。)
【解决方案4】:
找到解决办法:
System.setProperty("webdriver.gecko.driver", "pathTogeckodriver");
DesiredCapabilities capabilities = DesiredCapabilities.firefox();
capabilities.setCapability("marionette", true);
WebDriver driver = new FirefoxDriver(capabilities);