Selenium с явным ожиданием безмятежности продолжает выполняться после возвращения истинного условия
Итак, я пытаюсь дождаться отображения занятого оверлея
Элемент появляется в DOM только на короткое время около 3 секунд, а затем исчезает из DOM
Условие выполняется, когда System.out.println("Busy Overlay Displayed");
печатается
Что означает, что True
возвращается
Но явное ожидание продолжает выполняться, поскольку System.out.println("Size Appear = " + driver.findElements(By.xpath("//table[contains(@class,'tg-loading')]")).size());
продолжает выполняться и размер печати = 0
Почему явное ожидание продолжает выполняться после выполнения условия True
?
public void waitForBusyOverlayDisplayed(WebDriver driver) {
WebDriverWait wait = new WebDriverWait(driver, 5000);
wait.until(new ExpectedCondition<Boolean>() {
@Override
public Boolean apply(WebDriver driver) {
System.out.println("Size Appear = " + driver.findElements(By.xpath("//table[contains(@class,'tg-loading')]")).size());
if (driver.findElements(By.xpath("//table[contains(@class,'tg-loading')]")).size() == 1){
System.out.println("Busy Overlay Displayed");
return Boolean.TRUE;
}
return false;
}
});
}