Selenium Wait ожидает задержки или игнорирует ее, если находит быстрее? - PullRequest
1 голос
/ 02 апреля 2020

Привет, ребята. У меня простой вопрос, например, я использую этот код:

WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, ".test-name")))
print("ELEMENT FOUND")

Ожидание явно 20 секунд или только ожидание, пока он не найдет элемент и ожидает максимум 20 секунд если не найдено?

Ответы [ 2 ]

1 голос
/ 02 апреля 2020

Он ждет только до тех пор, пока не найдет элемент, и ожидает максимум 20 секунд, если не найден

Ожидание будет игнорировать экземпляры NotFoundException, которые встречаются (выбрасываются) по умолчанию в состоянии «до» и немедленно распространяет все остальные.

WebDriverWait

Это ожидает до 20 секунд, прежде чем выдается исключение TimeoutException, если только находит элемент для возврата в течение 20 секунд. По умолчанию WebDriverWait вызывает ExpectedCondition каждые 500 миллисекунд, пока не завершится успешно. Успешное возвращение для типа ExpectedCondition - логическое возвращаемое значение true или не нулевое возвращаемое значение для всех других типов ExpectedCondition.

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

1 голос
/ 02 апреля 2020

Ознакомьтесь с примером и документацией здесь .

Цитирование: "Это ожидает до 10 секунд, прежде чем выдается исключение TimeoutException, если не будет найдено, что элемент возвращается в течение 10 секунд. «

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...