Selenium启动ChromeDriver报AbstractMethodError错误如何解决?
错误根因
你提供的测试代码本身没有语法问题,错误完全由版本不兼容导致:
- 核心为Selenium相关组件版本不匹配:要么是项目中同时存在多个版本的Selenium依赖,
selenium-api和selenium-chrome-driver版本不一致,低版本的ChromeOptions类没有实现高版本Capabilities接口新增的is(String)抽象方法,触发抽象方法调用错误;要么是Chrome浏览器后台自动升级后,和当前使用的ChromeDriver、Selenium版本不兼容。
解决方案
- 第一步:统一Selenium依赖版本
如果是Maven/Gradle项目,仅保留selenium-java一个整体依赖,删除零散引入的selenium子依赖,所有Selenium组件版本统一,同时排除其他第三方依赖引入的传递性Selenium包。参考Maven配置:
<dependency> <groupId>org.seleniumhq.selenium</groupId> <artifactId>selenium-java</artifactId> <version>4.15.0</version> </dependency>
如果是手动导入jar包的普通Java项目,删除所有旧的Selenium相关jar包,重新下载对应版本的完整selenium-java包导入即可。
- 第二步:对齐ChromeDriver与浏览器版本
打开Chrome浏览器访问chrome://version/查看当前浏览器大版本号,下载对应大版本一致的ChromeDriver,替换你本地C:\Users\SP00780555\Downloads\chromedriver_win32\chromedriver.exe路径下的旧驱动文件。 - 第三步:清理IDE缓存重新编译
IntelliJ中点击File -> Invalidate Caches...,勾选清理缓存选项后重启IDE,重新构建项目运行即可。
内容的提问来源于stack exchange,提问作者Surya Penaganti
相关产品推荐
相关产品推荐

