如何用lambda表达式替换WebDriverWait()?

时间:2015-09-25 19:35:36

标签: java selenium-webdriver lambda java-8

我想知道如何用lambda替换流行的WebDriverWait

它用于显式等待某个事件。

代码段:

(new WebDriverWait(Driver.driver.get(), 10)).until(new ExpectedCondition<Boolean>() {
    public Boolean apply(WebDriver d) {
        return d.findElement(By.id("DataTables_Table_0_processing")).isDisplayed();
    }
});

或者:

(new WebDriverWait(Driver.driver.get(), 10))
        .until(ExpectedConditions
                .invisibilityOfElementLocated(By.id("DataTables_Table_0_processing")));

如何用lambda表达式替换它?

1 个答案:

答案 0 :(得分:3)

(new WebDriverWait(Driver.driver.get(), 10))
        .until(d -> d.findElement(By.id("DataTables_Table_0_processing")).isDisplayed());

我不认为第二种情况可以通过lambda得到改善,因为它已经是一种提供足够清晰度的便利方法。