Задать вопрос
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')))

Как можно установить ожидание для загрузки всех элементов?
  • Вопрос задан
  • 2818 просмотров
Подписаться 1 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 1
@Bjornie
Изучаю Python
ksenofobius Вполне возможно что элемент NOT VISIBLE, значит он есть в DOM, но он визуально вне рабочего экрана, поэтому кликнуть на него нельзя. Или другая ситуация, когда поверз нужного элемента появляется другой элемент. Это всё примеры из практики, с которыми мне пришлось столкнуться.

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

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

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