В настоящее время я ищу решение, чтобы дождаться появления определенного веб-элемента в DOM веб-сайтов.
В настоящее время я настроил приведенный ниже метод, который использует локатор By, однако вместо этого я собираюсь использовать WebElement, есть идеи?
Согласно JavaDocs:
public static ExpectedCondition visibilityOf (элемент WebElement): ожидание проверки того, что элемент, о котором известно, что он присутствует в DOM страницы, является видимым.Видимость означает, что элемент не только отображается, но и имеет высоту и ширину, превышающие 0.
Этот существующий выше метод проверяет, что элемент виден и также присутствует в DOM, но неприсутствует только в DOM.
Текущий метод, который использует By вместо WebElement: из чтения документации по селену видно, что можно подождать, пока элемент не будет виден в DOM;
Пример:
public static void waitForElementToAppearInDOM(By by, int timer) {
try {
WebDriver driver = getDriver();
WebDriverWait exists = new WebDriverWait(driver, timer);
exists.until(ExpectedConditions.presenceOfAllElementsLocatedBy(by));
} catch(Exception e) {
}
}