出现以下错误:
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.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
关于java - NoSuchMethodError : com. google.common.base.Preconditions.checkState(ZLjava/lang/String;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52594514/