У меня проблема с поиском веб-элемента по идентификатору с использованием selenium и python.
Это только для одного элемента на странице, я могу найти все остальные в порядке.
Если япопробуйте использовать
driver.find_element_by_id("btUpdate").click()
find_element_by_id он генерирует
selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element:
Я получу тот же результат, если я добавлю
driver.implicitly_wait(20)
Я получаю те же результаты, если использую:
WebDriverWait(driver, 20).until(
EC.element_to_be_clickable((By.ID, id)))
Однако, если я добавлю простой time.sleep (2) перед моим find_element_by_id, он будет работать.
Почемуработает ли сон, когда другие терпят неудачу? Он будет ждать в течение 20 секунд с любой из команд ожидания и все еще не сможет найти элемент. Бросьте 2-секундный сон, и он будет в порядке.
Есть идеи?
Редактировать для получения дополнительной информации
Использование Chrome с ChromeDriver 78.0.3904.70
Да, Джефф, вы правы, что происходит сбой с другой ошибкой, когда я использую WebDriverWait, который я получаю.
selenium.common.exceptions.TimeoutException: Message:
Я также пробовал visibility_of_element_located, но получаю то же исключение TimeoutException.