Java NoSuchMethodError:org.openqa.selenium.support.ui.WebDriverWait.until
我正在尝试运行以下selenium代码:Java NoSuchMethodError:org.openqa.selenium.support.ui.WebDriverWait.until,java,selenium,Java,Selenium,我正在尝试运行以下selenium代码: WebDriver driver; System.setProperty("webdriver.chrome.driver", "C:\\Driver\\chromedriver.exe"); driver = new ChromeDriver(); driver.get("http://www.behsad.com/nportal/Default.aspx?tabid=55");
WebDriver driver;
System.setProperty("webdriver.chrome.driver", "C:\\Driver\\chromedriver.exe");
driver = new ChromeDriver();
driver.get("http://www.behsad.com/nportal/Default.aspx?tabid=55");
driver.findElement(By.id("dnn_dnnUser_enhancedRegisterLink")).click();
WebDriverWait wait=new WebDriverWait(driver, 30);
WebElement element = wait.until(ExpectedConditions.visibilityOfElementLocated(
By.id("dnn_dnnUser_enhancedRegisterLink")));
element.click();
以下是我的pom.xml:
<dependency>
<groupId>info.cukes</groupId>
<artifactId>cucumber-picocontainer</artifactId>
<version>1.2.5</version>
</dependency>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>3.4.0</version>
</dependency>
代码卡在行中:
WebElement element = wait.until(ExpectedConditions.visibilityOfElementLocated(
By.id("dnn_dnnUser_enhancedRegisterLink")));
它抱怨说:
java.lang.NoSuchMethodError: org.openqa.selenium.support.ui.WebDriverWait.until(Lcom/google/common/base/Function;)Ljava/lang/Object;
Selenium 3.1.0以后的版本需要番石榴21作为等待方法。 尝试将其添加到您的pom中,最好靠近顶部,以防另一个依赖项正在导入旧版本的番石榴:
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>21.0</version>
</dependency>
番石榴
番石榴
21
我认为您的问题在于这一行代码
WebElement element=wait.until(ExpectedConditions.visibilityOfElementLocated(By.id("dnn_dnnUser_enhancedRegisterLink")));
As Wait.until用于告诉web驱动程序等待某个操作发生,该操作是您案例中ID=“dnn\u dnuser\u enhancedRegisterLink”所定位元素的可见性
但是此方法不返回web元素对象,因此不能使用它定义web元素
相反,你只需要写:
wait.until(ExpectedConditions.visibilityOfElementLocated(By.id("dnn_dnnUser_enhancedRegisterLink")));
它与最新的罐子一起使用:
Appium 1.8.1
Java-client 5.0.4
Selenium-java 3.7.1
可能重复的
Appium 1.8.1
Java-client 5.0.4
Selenium-java 3.7.1