Selenium Chrome Driver: NoClassDefFoundError: com/google/com



我有以下代码:

    public static final String _DRIVER_PATH = "c:\Users\Public\Downloads\chromedriver.exe";
    .....
    System.setProperty("webdriver.chrome.driver", Constants._DRIVER_PATH);
    ChromeOptions options = new ChromeOptions();

我的依赖项是:

<dependencies>
    <dependency>
        <groupId>org.seleniumhq.selenium</groupId>
        <artifactId>selenium-chrome-driver</artifactId>
        <version>3.4.0</version>
    </dependency>
    <dependency>
        <groupId>org.seleniumhq.selenium</groupId>
        <artifactId>selenium-server</artifactId>
        <version>3.4.0</version>
    </dependency>
</dependencies>

然后我到了最后一行:

Exception in thread "main" java.lang.NoClassDefFoundError: com/google/common/collect/Lists
    at org.openqa.selenium.chrome.ChromeOptions.<init>(ChromeOptions.java:74)
    at com.FlashMain.main(FlashMain.java:39)
Caused by: java.lang.ClassNotFoundException: com.google.common.collect.Lists
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    ... 2 more

我在Windows 10,ChromeDriver.exe版本2.29和Chrome上运行 - 58.0.3029.110

您的建议不胜感激。

似乎您同时使用了硒和其他库,这些库带来了与最新硒不兼容的谷歌通用库。使用以下方法构建依赖关系树:

mvn dependency:tree

通过管理排除项来排除旧版本,然后直接添加新版本,或者只是尝试更新引用旧版 google Common 的库。

我最近在Spring Boot中使用Selenium和webdrivermanager maven插件时遇到了这个问题。 问题是我使用了最新的Webdrivermanager版本,但依赖于Spring Boot提供的selenium-java版本,这是以前的几个版本。 如果您发现自己处于类似的情况,解决方案非常简单,请覆盖 Selenium 依赖项的 Spring 启动版本,并确保您使用的是一致且适当的版本!

使用Selenium 2.x版本,Selenium 3.0 chromium实现不同

相关内容

  • 没有找到相关文章

最新更新