解决WebDriverWait中的cannot be applied的问题

本文主要描述下如何解决WebDriverWait中的cannot applied的问题。

问题

webDriverWait.until(ExpectedConditions.presenceOfElementLocated(By.className("ready")));

升级了pom依赖,在使用这个方法的时候突然报错

until (java.util.function.Function) in FluentWait cannot be applied
to       (org.openqa.selenium.support.ui.ExpectedCondition)

自己在idea上点进去函数看半天没啥问题,一直纳闷。后来找到原因了,原来是旧版本guava引起的,旧版的guava这里还不支持泛型。应该是改动pom造成传递依赖成旧版的guava了。这里需要重新exclude掉,显式强制引入新版guava

        
            com.google.guava
            guava
            22.0
        

这样就大功告成了。

doc

  • FluentWait changes WebDriverWait().until(ExpectedCondition...) fails with java.lang.NoSuchMethodError #3606

你可能感兴趣的:(解决WebDriverWait中的cannot be applied的问题)