0

我是 Selenium 的新手,目的是熟悉实习。目前,我在导入 chromedriver jar 时遇到问题。我目前正在使用 Java 12。这很奇怪,因为当我将编译器切换到 Java 1.8 时,错误似乎消失了。谁能帮我解决这个问题?

package co.edureka.selenium.webdriver.sj;

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;

public class launchbrowser {

    public static WebDriver driver = null;

    public static void main(String[] args) {

        System.setProperty("webdriver.chrome.driver",".\\Driver\\chromedriver.exe");

        driver = new ChromeDriver();
        driver.navigate().to("https://amazon.com");
    }

}

“import org.openqa.selenium.chrome.ChromeDriver”显示此错误

“org.openqa.selenium.chrome.ChromeDriver 类型不可访问”;

“ChromeDriver()”显示此错误

“ChromeDriver 无法解析为类型”

4

1 回答 1

0

这些错误信息...

The type org.openqa.selenium.chrome.ChromeDriver is not accessible

ChromeDriver cannot be resolved to a type

...意味着 ChromeDriver 在编译时没有被解析。


有关二进制文件和您的测试框架(即Selenium jarsmaven )的更多详细信息将有助于我们以更好的方式分析问题。大概您已经从一个 JAR 源(即selenium-server-standalone-3.141.59selenium-java-3.141.59 JAR)解析WebDriverChromeDriver ,但编译时类正试图从另一个 JAR 中解析。因此,您会看到错误。


解决方案

  • 要么只保留 selenium-server-standalone-3.141.59.jar作为外部 JAR。
  • 或者只保留 selenium-java-3.141.59 JAR 作为外部 JAR。
  • 删除所有其他Selenium Java Client JAR
  • 通过IDE清理项目工作区并仅使用所需的依赖项重建项目。
  • 重新启动系统
  • 执行你的@Test.

此外,您需要提供chromedriver.exe的绝对路径,如下所示:

System.setProperty("webdriver.chrome.driver","C:\\full_path\\Driver\\chromedriver.exe");

参考

您可以在以下位置找到一些相关的讨论:

于 2019-09-05T07:35:38.883 回答