正如Selenium 文档所述,我们永远不应该混淆显式和隐式等待时间:
警告:不要混合隐式和显式等待。这样做会导致不可预测的等待时间。例如,设置 10 秒的隐式等待和 15 秒的显式等待,可能会导致 20 秒后发生超时。
我设置了 5000 毫秒的隐式等待时间。在一些浏览器交互结束时,我只想验证所需的链接是否可点击。
我知道这可以通过使用来完成ExpectedConditions
,但这意味着一个明确的等待时间,如下例所示。
protected PageNewDocument isElementClickable(WebElement element)
{
(new WebDriverWait(driver, 1)).until(ExpectedConditions.elementToBeClickable(element));
return this;
}
如果没有明确的等待时间定义,如何检查元素是否可点击?