当前位置: 代码迷 >> java >> 构建错误:找不到 org.openqa.selenium.internal.Locatable 的类文件
  详细解决方案

构建错误:找不到 org.openqa.selenium.internal.Locatable 的类文件

热度:72   发布时间:2023-07-31 12:10:58.0

我正在使用 Selenium 和 Maven 在 Eclipse 中构建一个项目,但出现构建错误:找不到 org.openqa.selenium.internal.Locatable 的类文件。

我正在使用Selenium-Server-Standalone 3.141.59 ,我注意到它的 Locatable 类位于...

org.openqa.selenium.**interactions**.Locatable 

代替...

org.openqa.selenium.**internal**.Locatable.

这是一个完全不同的类吗?

我如何让 Eclipse 识别出该类在那里?

请从我的Pom.xml找到以下是我的相关依赖Pom.xml

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

    <dependency>
        <groupId>org.seleniumhq.selenium</groupId>
        <artifactId>selenium-server</artifactId>
        <version>3.141.59</version>
    </dependency> 

    <dependency>
        <groupId>com.codeborne</groupId>
        <artifactId>selenide</artifactId>
        <version>2.3</version>
    </dependency>

    <!-- https://mvnrepository.com/artifact/com.codeborne/phantomjsdriver -->
    <dependency>
        <groupId>com.codeborne</groupId>
        <artifactId>phantomjsdriver</artifactId>
        <version>1.3.0</version>
    </dependency>               

    <!-- https://mvnrepository.com/artifact/junit/junit -->
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.12</version>
    </dependency>

    <!-- https://mvnrepository.com/artifact/log4j/log4j -->
    <dependency>
        <groupId>log4j</groupId>
        <artifactId>log4j</artifactId>
        <version>1.2.17</version>
    </dependency>

从您的依赖项中删除Selenium Server

<dependency>
    <groupId>org.seleniumhq.selenium</groupId>
    <artifactId>selenium-server</artifactId>
    <version>3.141.59</version>
</dependency>

如果我没记错的话,您现在需要 WebDriver,它包含在Selenium Java

还包括Selenium API

<dependency>
    <groupId>org.seleniumhq.selenium</groupId>
    <artifactId>selenium-api</artifactId>
    <version>3.141.59</version>
</dependency>

并更新selenidephantomjsdriver

<dependency>
    <groupId>com.codeborne</groupId>
    <artifactId>selenide</artifactId>
    <version>5.1.0</version>
</dependency>

<dependency>
    <groupId>com.codeborne</groupId>
    <artifactId>phantomjsdriver</artifactId>
    <version>1.4.4</version>
</dependency>

您正在使用的selenide的当前版本是2.3 ,它将引入selenium-java 2.33.0

您正在phantomjsdriver的当前版本是1.3.0 ,它将引入selenium-java 2.53.0

你需要selenide 5.1.0phantomjsdriver 1.4.4

是春季项目吗? 以下内容解决了我的问题:

<dependency>
    <groupId>com.codeborne</groupId>
    <artifactId>selenide</artifactId>
    <version>5.2.4</version>
    <scope>test</scope>
</dependency>
<dependency>
    <groupId>org.seleniumhq.selenium</groupId>
    <artifactId>selenium-api</artifactId>
    <version>3.141.59</version>
</dependency>
<dependency>
    <groupId>org.seleniumhq.selenium</groupId>
    <artifactId>selenium-remote-driver</artifactId>
    <version>3.141.59</version>
</dependency>
<dependency>
    <groupId>org.seleniumhq.selenium</groupId>
    <artifactId>selenium-support</artifactId>
    <version>3.141.59</version>
</dependency>
  相关解决方案