【问题标题】:Error launching Chrome with Selenium WebDriver in Java Eclipse -Exception in thread "main" [duplicate]在 Java Eclipse 中使用 Selenium WebDriver 启动 Chrome 时出错-线程“主”中的异常 [重复]
【发布时间】: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(); }

标签: java eclipse selenium


【解决方案1】:

异常要求提供 chrome 驱动程序的路径

The path to the driver executable must be set by the webdriver.chrome.driver system property

您正在为壁虎驱动程序设置它

 System.setProperty("webdriver.gecko.driver", "C:\\Users\\Downloads\\geckodriver.exe"); 

我不太清楚,但我建议您使用 Chromedriver 并设置正确的属性。

【讨论】:

  • 感谢您的快速回答。发布此问题后,我已经解决了此问题:D。我已经尝试过来自 youtube 的示例程序,它适用于 Mac 用户,因此适用于 gecodriver。
猜你喜欢
  • 2017-07-23
  • 1970-01-01
  • 2018-05-29
  • 1970-01-01
  • 2019-06-18
  • 1970-01-01
  • 2023-01-07
  • 2021-11-04
相关资源
最近更新 更多