我在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) 在Facebook.facebooklogin.main(facebooklogin.java:11)
答案 0 :(得分:1)
请检查您的例外行,即-java.lang.IllegalStateException: The path to the driver executable must be set by the webdriver.chrome.driver system property;
Selenium无法直接与浏览器通信,它需要一个由浏览器提供程序提供的驱动程序文件。在Chrome浏览器中,如果您想运行脚本,则需要chromedriver基本上由Google提供。下载驱动程序文件并将其放入您的项目中,然后在浏览器初始化之前添加以下行。
System.setProperty("webdriver.chrome.driver", "/path/to/chromedriver");
WebDriver driver = new ChromeDriver();