我想知道如何用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表达式替换它?

最佳答案

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

我认为用lambda不会改善第二种情况,因为已经有一种方便的方法可以提供足够的清晰度。

09-28 06:15