You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Selenium启动浏览器触发java.lang.AbstractMethodError错误求助

问题分析与解决方向

错误本质

java.lang.AbstractMethodError: org.openqa.selenium.remote.service.DriverService$Builder.loadSystemProperties()V 是抽象方法未找到对应实现的报错,核心原因是Selenium依赖版本不兼容——要么是你3月更新的Selenium核心库与浏览器驱动版本不匹配,要么是项目中残留了旧版本Selenium依赖,导致代码调用的方法在实际加载的类中不存在。

具体解决步骤

  • 对齐Selenium与浏览器驱动版本
    Selenium 4.x对浏览器驱动的版本匹配要求严格:

    • ChromeDriver必须与Chrome浏览器大版本完全一致(比如Chrome 118对应ChromeDriver 118.x)
    • GeckoDriver需要匹配Firefox版本及Selenium主版本(比如Selenium 4.10+对应GeckoDriver 0.33+)
      推荐用自动驱动管理工具(如io.github.bonigarcia:webdrivermanager),它会自动下载适配当前浏览器和Selenium版本的驱动,省去手动设置路径的麻烦。
  • 清理依赖冲突
    排查项目是否存在多版本Selenium相关包:

    • Maven用户执行 mvn dependency:tree,Gradle用户执行 ./gradlew dependencies
    • 找到所有旧版本的Selenium依赖(如selenium-remote-driver、selenium-api),在依赖配置中排除,确保所有Selenium相关依赖统一为你更新后的版本。
      手动导入Jar包的话,直接删除所有旧的Selenium Jar,只保留最新的一套。
  • 调整代码调用逻辑
    Selenium 4.x重构了DriverService.Builder的API,loadSystemProperties()方法的签名或实现逻辑可能发生了变化。建议改用官方推荐的初始化方式:

    // Chrome示例
    ChromeOptions options = new ChromeOptions();
    WebDriver driver = new ChromeDriver(options);
    

    若必须手动构建DriverService,参考当前Selenium版本的官方文档调整Builder的调用流程,确保方法签名完全匹配。

  • 验证驱动配置细节
    虽然你已验证路径,仍需确认:

    • 系统属性键是否正确:Chrome用webdriver.chrome.driver,Firefox用webdriver.gecko.driver,不要写错
    • Mac系统下需给驱动文件添加执行权限:执行 chmod +x /path/to/chromedriver

内容的提问来源于stack exchange,提问作者John Shepard

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.22 01:05:13