错误:ExpectedConditions类型中的方法elementToBeClickable(By)不适用于参数(WebElement)

时间:2016-09-28 05:54:19

标签: java selenium selenium-webdriver wait

我是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)

2 个答案:

答案 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摆脱此异常。