【问题标题】:java.lang.NoSuchMethodError: com.google.gson.GsonBuilder.setLenient()Lcom/google/gson/GsonBuilder; while launching Chrome through ChromeDriverjava.lang.NoSuchMethodError:com.google.gson.GsonBuilder.setLenient()Lcom/google/gson/GsonBuilder;通过 ChromeDriver 启动 Chrome 时
【发布时间】:2018-05-29 14:06:50
【问题描述】:

您好,我在启动驱动程序时遇到了这个问题。

Starting ChromeDriver 2.35.528161 (5b82f2d2aae0ca24b877009200ced9065a772e73) on port 4097
Only local connections are allowed.
Exception in thread "main" java.lang.NoSuchMethodError: com.google.gson.GsonBuilder.setLenient()Lcom/google/gson/GsonBuilder;
    at org.openqa.selenium.json.Json.<clinit>(Json.java:47)
    at org.openqa.selenium.logging.profiler.HttpProfilerLogEntry.constructMessage(HttpProfilerLogEntry.java:37)
    at org.openqa.selenium.logging.profiler.HttpProfilerLogEntry.<init>(HttpProfilerLogEntry.java:29)
    at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:141)
    at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:83)
    at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:601)
    at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:219)
    at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:142)
    at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:181)
    at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:168)
    at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:123)
    at isf.Login.main(Login.java:21)

谁能告诉我我错过了什么..因为我用于另一个项目的相同库并且在那里工作正常。

【问题讨论】:

  • 请用您的代码试验更新问题
  • 在发生这种情况的地方发布minimal reproducible example
  • 使用您正在使用的二进制文件的版本信息更新问题,如SeleniumJavaClientChrome 中所示

标签: google-chrome selenium-webdriver selenium-chromedriver


【解决方案1】:

我遇到了同样的问题,并使用以下方法得到了解决: 如果您在第 47 行检查 JSON 类,则缺少 setLenient()

此问题可能是由于 Gson 版本冲突所致。

转到您的存储库:

C:\Users\User_name\.m2\repository\com\google\code\gson

删除所有现有文件夹。

现在,在您的 pom 文件中添加以下 maven 依赖项:

<dependency>
    <groupId>com.google.code.gson</groupId>
    <artifactId>gson</artifactId>
    <version>2.8.5</version>
    <scope>provided</scope>
</dependency>

重新构建您的 pom.xml 文件并执行脚本。

【讨论】:

  • 这解决了我在 Mac 上的问题。谢谢! cd /.m2/repository/com/google/code/gson rm -rf gson* 然后添加依赖。我不得不添加依赖项。在我这样做之前它没有用。
【解决方案2】:

如果你使用的是maven,你应该添加以下依赖:

    <dependency>
        <groupId>com.google.code.gson</groupId>
        <artifactId>gson</artifactId>
        <version>2.8.5</version>
    </dependency>

这应该可以解决。 Gson 包版本应该与最新的 Selenium 版本相关联。

【讨论】:

    猜你喜欢
    • 2019-01-20
    • 1970-01-01
    • 1970-01-01
    • 2019-03-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多