Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

Документы

Медиа

Назад

Какие типы ожиданий (явные и неявные) используются в Selenium?

Вопрос проверяет знание о механизмах синхронизации в автоматизации веб-тестирования с Selenium.

Короткий ответ

Неявное ожидание (implicit wait) задаёт максимальное время поиска элементов, автоматически применяясь ко всем операциям поиска. Явные ожидания (explicit wait) настраиваются для конкретных условий (видимость, кликабельность) с помощью объекта WebDriverWait и ExpectedConditions.

Длинный ответ

Неявные ожидания:

  • Устанавливаются один раз:

    driver.implicitly_wait(10)
  • Ожидают присутствие элемента до заданного таймаута.

  • Менее гибкие, применяются ко всем find-операциям.

Явные ожидания:

Создаются для конкретного случая:

from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

wait = WebDriverWait(driver, 15)
elem = wait.until(EC.visibility_of_element_located((By.ID, "submit")))

Поддерживают различные условия (visibility, element_to_be_clickable, presence_of_all_elements).

Флэши (fluent waits):

  • Расширенный вариант явных ожиданий с polling и игнорированием исключений.

  • Настраивают частоту опроса и список игнорируемых исключений.

Когда применять:

  • Неявные — для простого фиксированного таймаута.

  • Явные — для контроля сложных условий появления/исчезновения элементов.

Уровень

  • Рейтинг:

    2

  • Сложность:

    5

Навыки

  • Testing

  • Selenium

    Selenium

Ключевые слова

#selenium

#wait

#implicit

#explicit

#fluent

Подпишись на QA Engineer в телеграм