java—如何向函数发送预期条件?

xuo3flqw  于 2021-07-12  发布在  Java
关注(0)|答案(1)|浏览(236)

我想写一个泛型函数 ExpectedConditions 以及 Locator :

public WebElement findElementElements(ExpectedConditions expectedConditions, By locator){
    WebDriver driver...
    WebDriverWait webDriverWait...

    return driver.webDriverWait().until(expectedConditions(locator));
}

但我得到一个编译器错误:“需要方法调用”

fhity93d

fhity93d1#

不是全部 ExpectedCondtions 返回相同类型。。。一些回报 WebElement ,其他人返回 Boolean . 此方法期望 ExpectedConditions 那个回报 WebElement s。

public WebElement findElement(Function<WebDriver, WebElement> expectedCondition) {
    return new WebDriverWait(driver, 10).until(expectedCondition);
}

你可以这样称呼它

WebElement e = findElement(ExpectedConditions.elementToBeClickable(By.id("myId")));

注意:您不需要 locator 参数,因为这是 ExpectedCondition .

相关问题