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

Eclipse中Selenium JAR文件未识别,测试类无法运行求助

问题解决:Selenium运行报NoClassDefFoundError: com/google/common/io/ByteStreams

问题重现

测试代码:

package seleniumTest;

import org.openqa.selenium.chrome.ChromeDriver;

public class Test1 {
    public static void main(String[] args) {
        System.setProperty("webdriver.chrome.driver", "C:\\Documents\\browserdrivers\\chromedriver.exe");
        ChromeDriver driver = new ChromeDriver();
        driver.get("https://www.google.com");
    }
}

运行报错:

Exception in thread "main" java.lang.NoClassDefFoundError: com/google/common/io/ByteStreams
    at org.seleniumhq.selenium.remote_driver/org.openqa.selenium.remote.service.DriverService$Builder.parseLogOutput(DriverService.java:472)
    at org.seleniumhq.selenium.chrome_driver/org.openqa.selenium.chrome.ChromeDriverService$Builder.loadSystemProperties(ChromeDriverService.java:257)
    at org.seleniumhq.selenium.remote_driver/org.openqa.selenium.remote.service.DriverService$Builder.build(DriverService.java:495)
    at org.seleniumhq.selenium.chrome_driver/org.openqa.selenium.chrome.ChromeDriverService.createDefaultService(ChromeDriverService.java:137)
    at org.seleniumhq.selenium.chrome_driver/org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:51)
    at seleniumTest/seleniumTest.Test1.main(Test1.java:8)
Caused by: java.lang.ClassNotFoundException: com.google.common.io.ByteStreams
    at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)
    at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
    ... 6 more

原因分析

该错误是因为项目缺少**Guava(Google核心Java工具库)**依赖,Selenium的远程服务模块依赖该库的ByteStreams类,手动添加Selenium JAR时容易遗漏这个依赖包。

解决方案

1. 手动补充Guava依赖包

  • 打开你下载的Selenium压缩包,进入libs目录,找到guava-xxx.jar(xxx为对应版本号)
  • 将该JAR包添加到项目的构建路径中,操作和添加Selenium核心JAR一致

2. 改用Maven/Gradle管理依赖(推荐)

用依赖管理工具可自动处理所有依赖关系,避免手动遗漏:

Maven(pom.xml)

<dependencies>
    <!-- Selenium Java核心依赖 -->
    <dependency>
        <groupId>org.seleniumhq.selenium</groupId>
        <artifactId>selenium-java</artifactId>
        <version>4.15.0</version> <!-- 建议使用最新稳定版 -->
    </dependency>
</dependencies>

Gradle(build.gradle)

dependencies {
    implementation 'org.seleniumhq.selenium:selenium-java:4.15.0'
}

3. 验证ChromeDriver与浏览器版本匹配

确保ChromeDriver版本和本地Chrome浏览器版本一致:

  • 打开Chrome,通过设置 > 关于Chrome查看版本
  • 下载对应版本的ChromeDriver,替换现有驱动文件

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 18:22:04