猿问

java.lang.NoSuchMethodError: org.openqa

自动测试后发生错误java.lang.NoSuchMethodError

org.openqa.selenium.support.ui.WebDriverWait.until(Lcom/google/common/base/Function;)Ljava/lang/Object;

环境:

  • 硒-java-3

  • 番石榴-25.0-jre

  • 爪哇8

  • 谷歌浏览器77版本

  • Chrome驱动程序77.0.3865.40

代码:

WebDriverWait alertAwaiter = new WebDriverWait(webDriver, 2);
alertAwaiter.until(ExpectedConditions.alertIsPresent());

当执行该代码的第二行时, java.lang.NoSuchMethodError会发生:

org.openqa.selenium.support.ui.WebDriverWait.until(Lcom/google/common/base/Function;)Ljava/lang/Object;

无法更改此代码,是否可以使用其他版本的驱动程序或以其他方式执行某些操作?


慕尼黑8549860
浏览 177回答 1
1回答

ibeautiful

您需要找到正确版本的 selenium 库并将其放入类路径中。现代版本使用java.util.Function而不是com.google.common.base.Function因此,如果无法修改源代码,则需要在应用程序类路径中使用相当旧版本的 Selenium 驱动程序。尝试降级到 selenium3.0.1或2.x. 最新2.53.1版本使用了番石榴,而且版本3.0.1似乎是最后一个使用番石榴的版本。
随时随地看视频慕课网APP

相关分类

Java
我要回答