Всем привет, кто-нибудь может мне внятно объяснить, почему selenium-овский wait.until не может найти элемент на странице в течение 5/10/60/300 секунд, если элемент с таким локатором по факту на странице присутствует?
Я постоянно вижу, как все с этим воюют.
Почему конструкция вида
while (true) { elements = driver.findElements(локатор).first if (elements.size > 0) break else sleep полсекунды }
преспокойно найдёт элемент, когда он появится на странице, а стандартный wait.until нет? Хоть каждый wait.until в проекте переписывай этой конструкцией. При этом даже в лог он пишет что-то вроде:
tried to find element for 60 seconds with 500 ms interval.
Т.е. он должен быть идентичен ПОЛНОСТЬЮ конструкции выше (если только в ней условие сделать while (пока не прошло 60 секунд) ).
А по факту нет.
Неужели так сложно переписать wait.until и сделать нормальную реализацию. Или я чего-то просто не понимаю. Пожалуйста, объясните.
Ибо такая проблема далеко не только у меня.