Python мануфактураJavaDesign Patterns для автоматизаторів

Java · Основний курс · 13:50–17:00

`WebElement` проти `By` усередині очікування

Перший запуск падає з `NoSuchElementException`, хоча елемент згодом з'являється на сторінці. Причина — `findElement` виконується ще до входу в `wait.until(...)`: Selenium спочатку намагається передати готовий `WebElement`, і очікування не отримує можливості повторювати пошук. Коли в `ExpectedConditions` передається `By`, локатор залишається всередині циклу очікування. Тоді `WebDriverWait` протягом заданого timeout повторно перевіряє, чи знайдений елемент і чи містить він потрібний текст. Для динамічної сторінки варіанти на кшталт `visibilityOfElementLocated(By)` і `textToBePresentInElementLocated(By, text)` гнучкіші за умови, які приймають уже знайдений `WebElement`.

Selenium: очікування та мікрообгортки →
Запитати в чаті про «nosuchelementexception» →