Есть ли способ заставить неявное ожидание загрузки класса блокировки пользовательского интерфейса? - PullRequest
0 голосов
/ 10 июня 2019

1 Итак, в программном обеспечении моей компании есть блокировщик пользовательского интерфейса, что это? Это экран загрузки, который замораживает экран до тех пор, пока все элементы не будут загружены. Проблема в том, что иногда появляется, а иногда нет, и XPath всегда зависит от пути. Кроме того, страница может отображаться как загруженная, но может появиться пользовательский интерфейс блокировки (так что технически страница может быть загружена, но ее нельзя щелкнуть). Поэтому веб-драйвер пытается щелкнуть по нему, вместо этого щелкает этот блокировщик пользовательского интерфейса.

Есть ли способ создать метод, который отображает этот класс каждый раз, когда драйвер должен работать, пока он не исчезнет во всем проекте?

пример загрузки изображения

1 Ответ

1 голос
/ 10 июня 2019

Вы можете использовать Selenium wait до element disappears. Так что он будет ждать, пока ваш загрузчик не станет видимым.

ОБНОВЛЕНИЕ: Вы можете использовать метод isDisplayed(), чтобы узнать, отображается загрузчик или нет.

if( driver.findElement(By.id("idOfLoader")).isDisplayed()){
 new WebDriverWait(driver, 10).until(ExpectedConditions.invisibilityOfElementLocated(By.id("idOfLoader")));
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...