【问题标题】:Selenium program throws compilation error org.openqa.selenium.internal.Killable cannot be resolvedSelenium 程序抛出编译错误 org.openqa.selenium.internal.Killable 无法解析
【发布时间】:2018-05-16 21:48:28
【问题描述】:

我使用 Selenium 和 Maven 创建了一个新的 Java 项目。这是pom.xml中的相关内容

<dependencies>

    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>3.8.1</version>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>org.seleniumhq.selenium</groupId>
        <artifactId>selenium-java</artifactId>
        <version>2.45.0</version>
    </dependency>
    <!-- https://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-chrome-driver -->
    <dependency>
        <groupId>org.seleniumhq.selenium</groupId>
        <artifactId>selenium-chrome-driver</artifactId>
        <version>3.8.1</version>
    </dependency>

</dependencies>

然后我创建了这个使用 Selenium 框架的基本 Java 程序:

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;

public class Start {
    public static void main(String[] args) {
        // declaration and instantiation of objects/variables
        System.setProperty("webdriver.firefox.marionette", "D:\\geckodriver.exe");

        WebDriver driver = null;
        try {
            driver = new FirefoxDriver();
            String baseUrl = "https://www.google.co.in/";

            driver.get(baseUrl);

        } finally {
            driver.close();
        }

    }
}

但是,我收到了这个编译错误:

org.openqa.selenium.internal.Killable 类型无法解析。它 从所需的 .class 文件中间接引用

有人可以建议我哪里出错了吗?

【问题讨论】:

    标签: java maven selenium selenium-webdriver


    【解决方案1】:

    pom.xml中移除这个依赖:

       <dependency>
            <groupId>org.seleniumhq.selenium</groupId>
            <artifactId>selenium-chrome-driver</artifactId>
            <version>3.8.1</version>
        </dependency>
    

    您正在使用 Selenium java 绑定的 2.45.0 版本(2015 年 2 月发布):

      <dependency>
            <groupId>org.seleniumhq.selenium</groupId>
            <artifactId>selenium-java</artifactId>
            <version>2.45.0</version>
        </dependency>
    

    如果您检查上述包的编译依赖项:https://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-java/2.45.0
    你会看到这个包依赖于selenium-chrome-driver 2.45.0 包。 Maven会在编译的时候自动解析这个依赖,所以你不需要在pom.xml中声明这个包。文件。


    但是如果你直接在pom.xml文件中声明这个包selenium-chrome-driver作为依赖,使用不同的版本(最新的3.8.1),那么maven将使用这个版本3.8.1而不是2.45.0编译,这将导致错误 - 错误,使用了不兼容的 jar 库。

    【讨论】:

    • 谢谢,成功了!即使删除条目后也几乎没有问题。我通过在本地 maven repo 中重新创建相关包来解决它
    【解决方案2】:

    请检查您的 POM.XMl 文件,您可能对“selenium-java”有 2 个依赖项或 两个不同版本的“selenium-chrome-driver”依赖项。

    【讨论】:

      【解决方案3】:

      我也遇到了同样的错误。如果您想解决此问题,请按照下列步骤操作:

      1. 转到pom.xml的路径位置
      2. 右键单击并选择Give access to
      3. 点击Remove access
      4. 点击Change sharing permission
      5. 在下拉菜单中,选择Everyone
      6. 对于Permission level,选择Read/Write
      7. 保存XML 文件。

      它现在应该可以工作了。

      【讨论】:

        【解决方案4】:

        添加这个依赖:

        <!-- https://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-java -->
        <dependency>
            <groupId>org.seleniumhq.selenium</groupId>
            <artifactId>selenium-java</artifactId>
            <version>3.12.0</version>
        </dependency>
        

        【讨论】:

          【解决方案5】:

          添加如下依赖

              <dependency>
                  <groupId>org.seleniumhq.selenium</groupId>
                  <artifactId>selenium-remote-driver</artifactId>
                  <version>3.14.0</version>
                  <scope>test</scope>
              </dependency>
              <dependency>
                  <groupId>org.seleniumhq.selenium</groupId>
                  <artifactId>selenium-java</artifactId>
                  <version>3.14.0</version>
                  <scope>test</scope>
              </dependency>
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2013-03-26
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2018-01-15
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多