需要以下指导和帮助。
执行以下代码时,我收到错误。我使用的是最新版本的java,eclipse,firefox和WebDrive jar文件。
package firsttest1;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
public class helloselenium {
public static void main(String[] args) {
WebDriver driver;
driver =new FirefoxDriver();
String url ="http://www.google.com";
driver.get(url);
}
}
错误...
线程中的异常" main" java.lang.IllegalStateException:驱动程序可执行文件的路径必须由webdriver.gecko.driver系统属性设置;有关更多信息,请参阅https://github.com/mozilla/geckodriver。最新版本可从https://github.com/mozilla/geckodriver/releases下载 在com.google.common.base.Preconditions.checkState(Preconditions.java:199) 在org.openqa.selenium.remote.service.DriverService.findExecutable(DriverService.java:109) 在org.openqa.selenium.firefox.GeckoDriverService.access $ 100(GeckoDriverService.java:38) 在org.openqa.selenium.firefox.GeckoDriverService $ Builder.findDefaultExecutable(GeckoDriverService.java:91) 在org.openqa.selenium.remote.service.DriverService $ Builder.build(DriverService.java:296) 在org.openqa.selenium.firefox.FirefoxDriver.createCommandExecutor(FirefoxDriver.java:245) 在org.openqa.selenium.firefox.FirefoxDriver。(FirefoxDriver.java:220) 在org.openqa.selenium.firefox.FirefoxDriver。(FirefoxDriver.java:215) 在org.openqa.selenium.firefox.FirefoxDriver。(FirefoxDriver.java:211) 在org.openqa.selenium.firefox.FirefoxDriver。(FirefoxDriver.java:124) 在firsttest1.helloselenium.main(helloselenium.java:12)
使用的版本: 日食:霓虹灯版 java:jdk1.8 火狐:v48 WebDrive jar文件:v 3.0.0 beta2
指导我解决这个问题。
答案 0 :(得分:42)
您使用的是Selenium WebDriver
的最新版本,即Selenium 3.x
,此版本的webdriver不支持直接启动Firefox。您必须为SystemProperty
设置webdriver.gecko.driver
。
替换代码: -
WebDriver driver;
driver =new FirefoxDriver();
使用此代码: -
WebDriver driver;
System.setProperty("webdriver.gecko.driver", "<Path to your WebDriver>");
driver =new FirefoxDriver();
您可以获取有关最新更改的信息here
您可以从here
下载最新的Gecko
驱动程序
答案 1 :(得分:8)
下载geckoDriver here的最新版本,然后设置一个名为“webdriver.gecko.driver”的系统属性,并在其上添加geckoDriver可执行路径的路径
System.setProperty("webdriver.gecko.driver", "<path to your gecko driver executable>");
答案 2 :(得分:2)
Firefox驱动程序基于marionette,从Selenium 3.0开始。与2.x版本不同,它需要外部可执行文件。您应该将它添加到您的路径中。有关详细信息,请查看https://github.com/mozilla/geckodriver。