我在Selenium webdriver中执行了以下脚本:
package Facebook;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
public class facebooklogin {
public static void main(String[] args) {
// TODO Auto-generated method stub
WebDriver driver=new ChromeDriver();
driver.get("https://www.facebook.com");
driver.manage().window().maximize();
}
}
面对以下错误:
线程"main"中的异常 java.lang.IllegalStateException: 路径 驱动程序可执行文件必须由 webdriver.chrome.driver 设置 系统属性;有关更多信息,请参阅 https://github.com/SeleniumHQ/selenium/wiki/ChromeDriver。最新 版本可以从 http://chromedriver.storage.googleapis.com/index.html com.google.common.base.Preconditions.checkState(Preconditions.java:172( 在 org.openqa.selenium.remote.service.DriverService.findExecutable(DriverService.java:109( 在 org.openqa.selenium.chrome.ChromeDriverService.access$0(ChromeDriverService.java:1( 在 org.openqa.selenium.chrome.ChromeDriverService$Builder.findDefaultExecutable(ChromeDriverService.java:137( 在 org.openqa.selenium.remote.service.DriverService$Builder.build(DriverService.java:290( 在 org.openqa.selenium.chrome.ChromeDriverService.createDefaultService(ChromeDriverService.java:88( 在 org.openqa.selenium.chrome.ChromeDriver.(ChromeDriver.java:116( at Facebook.facebooklogin.main(facebooklogin.java:11(
请检查您的异常行,上面写着 -java.lang.IllegalStateException: The path to the driver executable must be set by the webdriver.chrome.driver system property;
Selenium不能直接与浏览器通信,它需要一个由浏览器提供商提供的驱动程序文件。在Chrome浏览器中,当您想要运行脚本时,您需要基本上由Google提供的chromedriver。下载驱动程序文件并将其放入项目中,并在浏览器初始化之前添加以下行。
System.setProperty("webdriver.chrome.driver", "/path/to/chromedriver");
WebDriver driver = new ChromeDriver();