NoSuchMethodError: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 selenium selenium-webdriver webdriver selenium-chromedriver

出现以下错误:

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();

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

enter image description here

1 个答案:

答案 0 :(得分: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 OS:

    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