Maven项目升级Selenium从2.x到4.0.0后包不存在报错如何解决
Selenium 2.x升级至4.0.0(Maven项目)报错解决方案
报错原因说明
error:package com.thoughtworks.selenium.webdriven does not exist报错是Selenium版本迭代后的必然结果:
com.thoughtworks.selenium.webdriven属于旧版Selenium 1(RC)的WebDriver兼容层包,从Selenium 3.0版本开始就被标记为废弃,Selenium 4.0版本正式彻底移除该包,不会默认集成在新版依赖中。
完整升级步骤
- 修改
pom.xml中的Selenium核心依赖,替换原有2.x版本的依赖配置为4.0.0版本:
<!-- Selenium 4.0.0核心依赖 --> <dependency> <groupId>org.seleniumhq.selenium</groupId> <artifactId>selenium-java</artifactId> <version>4.0.0</version> </dependency>
- 移除
pom.xml中所有旧版Selenium RC相关的独立依赖,比如selenium-server、thoughtworks-selenium等相关引用 - 全局扫描项目中所有标记为废弃的Selenium API调用,逐一替换为4.0版本的新API
特定报错的解决方法
针对找不到com.thoughtworks.selenium.webdriven包的问题,根据你的项目实际使用场景选择对应方案:
- 如果项目中没有实际用到该包下的类,直接删除所有导入该包的
import语句即可解决报错 - 如果项目中使用了该包下的
WebDriverBackedSelenium等兼容类,两种处理方案:- 推荐方案:将原有基于Selenium RC的业务代码全部重构为原生Selenium WebDriver API实现,Selenium 4对WebDriver的兼容性、性能、功能丰富度都远高于旧RC模式,重构后完全不需要依赖旧兼容包
- 临时过渡方案:如果暂时没有重构时间,可以额外引入最后一个包含该兼容包的依赖
selenium-leg-rc,依赖配置如下:
<!-- 遗留Selenium RC兼容包,仅用于临时过渡,不建议长期使用 --> <dependency> <groupId>org.seleniumhq.selenium</groupId> <artifactId>selenium-leg-rc</artifactId> <version>3.141.59</version> </dependency>
注意:该兼容包属于3.x版本系列,和Selenium 4.0的核心依赖可能存在未知兼容问题,建议尽快完成代码重构后移除。
内容的提问来源于stack exchange,提问作者user12046824
相关产品推荐
相关产品推荐

