我正在尝试将sikuli与sikuli一起使用,因此sikuli无法使用当前的Java设置在64位上运行,因此在我的项目中将运行时更改为指向32位运行时环境,并使用32位添加了我的硒罐位iewebdriver现在我对上面有问题在网上的每个地方都添加了guava.jar文件v.21,它没有解决问题,但更改为guava 26jre.jar,仍然无法正常工作,这是我的代码和错误如果有人能发现我要去哪里哪里
错误
Exception in thread "main" java.lang.NoSuchMethodError: com.google.common.base.Preconditions.checkArgument(ZLjava/lang/String;I)V
at org.openqa.selenium.remote.service.DriverService$Builder.usingPort(DriverService.java:285)
at org.openqa.selenium.ie.InternetExplorerDriver.setupService(InternetExplorerDriver.java:242)
at org.openqa.selenium.ie.InternetExplorerDriver.<init>(InternetExplorerDriver.java:211)
at org.openqa.selenium.ie.InternetExplorerDriver.<init>(InternetExplorerDriver.java:150)
at riOSikuliAutomation.RiOSikuliAutomation.main(RiOSikuliAutomation.java:33)
这是我的代码
DesiredCapabilities cap = DesiredCapabilities.internetExplorer();
cap.setCapability("nativeEvents", false);
cap.setCapability("unexpectedAlertBehaviour", "accept");
cap.setCapability("ignoreProtectedModeSettings", true);
cap.setCapability("disable-popup-blocking", true);
cap.setCapability("enablePersistentHover", true);
cap.setCapability("ignoreZoomSetting", true);
cap.setCapability(InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS,true);
InternetExplorerOptions options = new InternetExplorerOptions();
options.merge(cap);
System.setProperty("webdriver.ie.driver", "C:\\Users\\Selenium\\IEDriverServer.exe");
WebDriver driver = new InternetExplorerDriver(options);
读取错误的最后一行后,我没有正确执行任何操作,请告知?
答案 0 :(得分:-1)
此错误消息...
java.lang.NoSuchMethodError: com.google.common.base.Preconditions.checkArgument(ZLjava/lang/String;I)V
...表示 IEDriverServer 无法启动/产生新的 WebBrowsing会话,即 InternetExplorer Browser 会话。
您的主要问题是正在使用的二进制版本之间的不兼容,如下所示:
您的问题的解决方案将是以下所有步骤之一或全部:
将 Guava 升级到当前 26.0-jre 级别(根据 Selenium v3.14.0 Java客户端)。
Maven依赖关系如下:
<!-- https://mvnrepository.com/artifact/com.google.guava/guava -->
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>26.0-jre</version>
</dependency>
确保依赖性树中没有多个版本。
要通过 Maven 查找现有的番石榴版本,请使用以下命令:
mvn dependency:tree | less
清理您的项目工作区和重建您的项目,并且仅具有必需的依赖项。
MAVEN_HOME
目录.m2
,然后重新下载 binaries 。