Я пытаюсь сделать wait.until для атрибута элемента следующим образом ...
public static void WaitForElementSize(WebElement element, WebDriver driver, int timeoutInSeconds)
{
if (timeoutInSeconds > 0)
{
System.out.print(element.getAttribute("style"));
WebDriverWait wait = new WebDriverWait(driver, timeoutInSeconds);
wait.until(ExpectedConditions.attributeToBe(element, "style", "top: 0px;"));
}
}
Я знаю из строки печати, что атрибут соответствует ожидаемому, то есть "top: 0px;"но когда я перебираю код в wait.until, элемент в пользовательском интерфейсе «щелкается» и меняется на закрытый (в этом случае стиль меняется на «top: 120px;»).Затем метод начинается с самого начала, а затем завершается сбоем, потому что теперь он неправильный.
Любая помощь по поводу того, почему метод перезапускается и изменяет значение, будет оценена.
Я также пытался ...
wait.until(e -> element.getAttribute("style") == "top: 0px;");
Но это не удается по другим причинамследовательно, пробуя альтернативу.