我是Selenium的新手,并试图通过一些代码。 它在Utils.java文件中使用Explicit Wait作为以下函数。
public static void waitForElement(WebElement element){
WebDriverWait wait = new WebDriverWait(driver, 10);
wait.until(ExpectedConditions.elementToBeClickable(element));
}
编译时会出错: -
ExpectedConditions类型中的方法elementToBeClickable(By)不适用于参数(WebElement)
答案 0 :(得分:1)
从错误消息中可以清楚地看出该方法
ExpectedConditions.elementToBeClickable()
只能接受By
类型。你不能直接将web元素作为参数传递给方法。
查看https://seleniumhq.github.io/selenium/docs/api/java/org/openqa/selenium/support/ui/ExpectedConditions.html以了解预期条件及其参数列表。
答案 1 :(得分:0)
ExpectedConditions类型中的方法elementToBeClickable(By)不适用于参数(WebElement)
看起来您正在使用old version of selenium <= 2.37.0 ExpectedConditions.elementToBeClickable
仅接受By
个对象作为参数。
但是从selenium version >= 2.38.0 ExpectedConditions.elementToBeClickable
接受By
以及WebElement
对象作为参数。
我建议您upgrade your selenium version to latest stable version 2.53.0或>= 2.38.0摆脱此异常。