Задать вопрос
ksenofobius
@ksenofobius
Люблю долбить по клавишам

Как работает неявное ожидание в selenium для python?

Пользовался этим туториалом. Пытаюсь установить неявное ожидание элемента
driver = webdriver.Chrome()
driver.implicitly_wait(10)
driver.get('some_url')
user_name = driver.find_element_by_id('some_id')

Но найти элемент не получается, обращается до загрузки, если делаю так то все работает:
wait = WebDriverWait(driver, 10)
wait.until(EC.element_to_be_clickable((By.ID,'some_id')))

Как можно установить ожидание для загрузки всех элементов?
  • Вопрос задан
  • 2860 просмотров
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    Fullstack-разработчик на Python + нейросети
    20 месяцев
    Далее
  • Skillfactory
    Профессия Python-разработчик
    9 месяцев
    Далее
  • SF Education
    Бэкенд-разработчик на Python
    3 месяца
    Далее
Пригласить эксперта
Ответы на вопрос 1
@Bjornie
Изучаю Python
ksenofobius Вполне возможно что элемент NOT VISIBLE, значит он есть в DOM, но он визуально вне рабочего экрана, поэтому кликнуть на него нельзя. Или другая ситуация, когда поверз нужного элемента появляется другой элемент. Это всё примеры из практики, с которыми мне пришлось столкнуться.

Смотрите варианты для EC, их много и подбирайте по ситуации. Смотрите в DOM, может элемент еще не появился. Кстати с implicitly_wait у меня была похожая ситуация, и хоть я устанавливаю его в начале программы, там где нужно я все-равно использую wait или даже sleep.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы