#python #selenium #webdriverwait #expected-condition
Вопрос:
У меня есть следующий пример кода:
try:
element_found = WebDriverWait(driver, 10).until(EC.presence_of_element_located(By.XPATH,'//div[@class='sample-class']))
print("Success")
except Exception:
print("Failure")
Когда элемент находится, время ожидания составляет 10 секунд, и, следовательно, время, необходимое для печати, 'Success' is <=10 seconds
но когда ожидаемое условие не выполняется 'Failure' is 50 seconds
, время, необходимое для последовательной печати, увеличивается.
Так почему же 10 seconds limit not honored
в случае неудачи? Почему это занимает 50 seconds?
Ответ №1:
Похоже, у тебя есть
driver.implicitly_wait(30)
Неявное ожидание также присутствует в вашем коде.
Вот что чиновники должны сказать о смешении неявного ожидания с явным ожиданием :
Предупреждение: Не смешивайте неявное и явное ожидания. Это может привести к непредсказуемому времени ожидания. Например, установка неявного ожидания в 10 секунд и явного ожидания в 15 секунд может привести к тайм-ауту через 20 секунд.