当前位置: 首页 > 知识库问答 >
问题:

Selenium程序引发编译错误org.openqa.Selenium.internal.killable无法解决

惠洛华
2023-03-14

我使用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文件间接引用的

有人能建议我哪里出了问题吗?

共有1个答案

夏侯兴学
2023-03-14

pom.xml中删除此依赖项:

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

您使用的是Selenium java绑定的vesrion 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文件中使用不同的版本(最新的3.8.1)直接将这个包selenium-chrome-driver声明为依赖项,那么在编译过程中,maven将使用这个版本3.8.1,而不是2.45.0,这将导致错误--使用错误的、不兼容的jar库。

 类似资料:
  • 我试图开始一个项目与Angular,但我不能进一步因为错误: “在multi./src/styles.css./node_modules/bootstrap/dist/css/bootstrap.min.css模块中找不到错误:” 依赖关系如下: json(相关部分): devDependencies: 我已经尝试了stackoverflow的所有解决方案,但都没有效果。我试过: 我尝试过组合不同

  • 我有一个应用程序,它使用Maven构建一个带有Maven汇编插件的JAR。 该项目包括一个依赖项列表,其中一个是另一个Maven项目。我正在使用Eclipse开发,当我运行该项目时,一切都正常。当我使用Maven目标构建时,它会生成JAR,但当我运行JAR时,它会给我这个错误: 这是pom。主项目的xml文件: 这是my utils项目依赖项的pom: 这个问题与Java邮件依赖性有关。如你所见,

  • 我当前正在获取和生成失败的错误。尝试卸载android Studio,卸载并重新安装java,但无效。谢谢你的建议。非常感谢。 失败:生成失败,出现异常。 > 出了什么问题:任务执行失败:app: greendao。 <区块报价> 在解析/xxx/android/app/src/main/java/com/eatsy/打印机/Printer.java时发现4个问题。第一个问题:Pb(324)无法解

  • 问题内容: 我正在尝试在 Python中* 运行 PhantomJS 驱动程序,但出现错误。我读过我应该将整个路径作为参数传递,但这没有帮助。 * 这是代码: 错误: 你知道我在做什么错吗? 问题答案: 用原始字符串创建路径,并添加“ r”:

  • 你知道我做错了什么吗?

  • 问题内容: 我想安装rJava,但没有用。当我在控制台中键入R CMD javareconf时,出现以下错误: 任何想法如何解决? 问题答案: 该文件是JDK安装的一部分。您可能没有正确安装Java JDK。从此处下载Oracle Java ,或使用软件包管理器。 如果您已经安装了Java JDK,则将JAVA_HOME环境变量设置为指向JDK目录。