java - 构建错误:找不到 org.openqa.selenium.internal.Locatable 的类文件
问题描述
我正在使用 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
<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>
并更新selenide
和phantomjsdriver
<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.0
并且phantomjsdriver
1.4.4
推荐阅读
- java - 如何在不使用任何线程的情况下将客户端排队并一次提供一个服务?
- flutter - Flutter 检测到 AVD 但无法连接/定位它
- steam - 为什么 Steam 集换式卡牌的 API 是空白的?
- c# - 如何包装带有超时的流氓函数?
- dart - Flutter(Dart)如何在点击应用程序时将副本添加到剪贴板?
- java - 如何修复“调用 getEmbeddedPicture 失败”异常?
- c - 如何在标准 C 中执行对不同结构的重铸?
- html - 双向文本中的数字和标点符号呈现
- c - 如何解决以下函数中的内存分配问题?(malloc)
- java - OutputStream 与 BufferedOutputStream