【问题标题】:NoSuchMethodError: com.google.common.base.Preconditions.checkState(ZLjava/lang/String;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)VNoSuchMethodError: com.google.common.base.Preconditions.checkState(ZLjava/lang/String;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
【发布时间】:2018-10-01 15:40:00
【问题描述】:

得到以下错误:

java.lang.NoSuchMethodError: com.google.common.base.Preconditions.checkState(ZLjava/lang/String;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V

运行时

System.setProperty("webdriver.chrome.driver", "/ocs/browserDrivers/chromedriver.exe");
//ChromeOptions chromeOptions = new ChromeOptions();
//chromeOptions.addArguments("start-maximized");
driver = new ChromeDriver();

升级到 selenium 3.14 和 chromedriver 2.42。不是 maven 项目

【问题讨论】:

    标签: java selenium selenium-webdriver webdriver selenium-chromedriver


    【解决方案1】:

    此错误消息...

    java.lang.NoSuchMethodError: com.google.common.base.Preconditions.checkState(ZLjava/lang/String;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
    

    ...暗示执行该行时出现错误:

    System.setProperty("webdriver.chrome.driver", "/ocs/browserDrivers/chromedriver.exe");
    

    您的主要问题是 WebDriver 二进制类型与底层操作系统之间的不兼容性

    您需要从chromedriver.storage 为您的程序下载、提取和使用正确格式的WebDriver 二进制文件,如下所示:

    • Linux 操作系统:

      chromedriver_linux64.tar.gz 2018-09-13 19:30:37 3.85MB
      
    • MAC 操作系统:

      chromedriver_mac64.tar.gz   2018-09-13 18:14:11 5.75MB
      
    • Windows 操作系统:

      chromedriver_win32.zip  2018-09-13 21:11:33 3.42MB
      

    如果您使用的是 MAC OS,那么 System.setProperty() 行将是:

    System.setProperty("webdriver.chrome.driver", "/ocs/browserDrivers/chromedriver"); //drop the extension (.exe) part
    

    如果您使用的是 Windows 操作系统,那么 System.setProperty() 行将是:

    System.setProperty("webdriver.chrome.driver", "C:\\path\\to\\chromedriver.exe"); //mention the absolute path
    

    【讨论】:

    • 感谢您的回答,但我已经将 Chromedriver 2.24 用于 Chrome 69 和 Selenium 3.14。使用 Windows 机器。虽然仍然收到相同的错误消息
    • @Laura 查看我的答案更新并告诉我状态
    • 确保您使用的是最新的Chromedriver v2.42 二进制文件。
    • 更改路径时仍然存在同样的问题...不确定是什么其他依赖项可能导致此问题
    • 终于成功了,重新添加了所有的 selenium 库并检查了项目中的所有依赖项,有一个冲突。感谢您的帮助!
    猜你喜欢
    • 2020-09-06
    • 1970-01-01
    • 1970-01-01
    • 2014-12-26
    • 1970-01-01
    • 2020-03-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多