【发布时间】:2019-08-04 00:49:40
【问题描述】:
当我尝试在 Java Eclipse 中使用 Selenium WebDriver 启动 Chrome 时收到此错误消息。 (Java Eclipse 在 U 盘中) Java 代码 - 包 SeleniumSessions;
import java.util.concurrent.TimeUnit;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
public class WebDriverBasics {
public static void main(String[] args) {
// TODO Auto-generated method stub
// chrome browser
System.setProperty("webdriver.gecko.driver", "C:\\Users\\waychal\\Downloads\\geckodriver.exe");
WebDriver driver = new ChromeDriver(); // launch Chrome browser
driver.get("https://www.google.com/");
}
}
错误信息-
Exception in thread "main" java.lang.IllegalStateException: The path to the driver executable must be set by the webdriver.chrome.driver system property; for more information, see https://github.com/SeleniumHQ/selenium/wiki/ChromeDriver. The latest version can be downloaded from http://chromedriver.storage.googleapis.com/index.html
at com.google.common.base.Preconditions.checkState(Preconditions.java:847)
at org.openqa.selenium.remote.service.DriverService.findExecutable(DriverService.java:134)
at org.openqa.selenium.chrome.ChromeDriverService.access$000(ChromeDriverService.java:35)
at org.openqa.selenium.chrome.ChromeDriverService$Builder.findDefaultExecutable(ChromeDriverService.java:159)
at org.openqa.selenium.remote.service.DriverService$Builder.build(DriverService.java:355)
at org.openqa.selenium.chrome.ChromeDriverService.createDefaultService(ChromeDriverService.java:94)
at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:123)
at SeleniumSessions.WebDriverBasics.main(WebDriverBasics.java:15)
【问题讨论】:
-
请确认您的 geckoDriver.exe 是否位于正确的文件夹中。
-
问题是,你使用的是webdriver.gecko.driver,它是用来访问firefox的。要设置 chromedriver 的路径,您需要将 webdriver.gecko.driver 替换为 webdriver.chrome.driver
-
你也可以尝试在 main 方法中放置一个 3s 的 try-catch。尝试{ Thread.sleep(3000); } catch (InterruptedException e) { e.printStackTrace(); }