回答你的第一个问题:
我引用:
public interface ExpectedCondition
extends com.google.common.base.Function
你看,ExpectedCondition继承自google的Function接口,因此你可以将它用作until()方法的参数.
至于你的第二个问题:
我认为你不能像那样交出一个lambda.直到方法等待谓词或函数(正如您正确提到的那样).
关于Predicates和lambdas之间的区别,请查看示例here
所以你可以尝试这样的东西,仍然使用你的lambda表达式:
Predicate myPredicate = x ->x.findElement(By.id("id")).isDisplayed();
WebDriverWait wait = (WebDriverWait)new WebDriverWait(driver, 10);
wait.until(myPredicate);