正确配置Selenium时HtmlUnitDriver依赖引用报错问题咨询
问题原因
你遇到的报错核心是依赖版本不兼容:你引入的selenium-htmlunit-driver 2.52.0是适配Selenium 2.x/早期3.x的旧版本,和你使用的Selenium 4.0.0-rc1完全不匹配,导致类定义、方法签名不一致,才会触发「类从所需.class文件中间接引用」的编译错误。
另外Selenium 3之后,HtmlUnitDriver已经从官方selenium组迁移到HtmlUnit官方维护,原groupIdorg.seleniumhq.selenium下的HtmlUnitDriver早已停止更新。
可行解决方案
步骤1:修改pom.xml依赖
移除旧的selenium-htmlunit-driver依赖,替换为适配Selenium 4的官方维护版本,同时建议将Selenium升级到稳定版避免测试版潜在问题,修改后的依赖配置如下:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <dependencies> <!-- 升级为Selenium 4稳定版 --> <dependency> <groupId>org.seleniumhq.selenium</groupId> <artifactId>selenium-java</artifactId> <version>4.18.1</version> </dependency> <!-- 替换为HtmlUnit官方维护的适配Selenium 4的驱动 --> <dependency> <groupId>org.htmlunit</groupId> <artifactId>htmlunit3-driver</artifactId> <version>4.8.0</version> </dependency> </dependencies> <modelVersion>4.0.0</modelVersion> <groupId>WebsiteRequest</groupId> <artifactId>WebsiteRequest</artifactId> <version>0.0.1-SNAPSHOT</version> <build> <sourceDirectory>src</sourceDirectory> <plugins> <plugin> <artifactId>maven-compiler-plugin</artifactId> <version>3.8.0</version> <configuration> <release>12</release> </configuration> </plugin> </plugins> </build> </project>
步骤2:刷新依赖缓存
执行以下Maven命令清空旧依赖、重新下载:
mvn clean install -U
如果是在IDE中使用,可以右键项目选择「Maven - Reload Project」刷新依赖。
修改完成后原有代码无需改动即可正常实例化HtmlUnitDriver。
内容的提问来源于stack exchange,提问作者mousekip
相关产品推荐
相关产品推荐

