К приостановить выполнение веб-драйвера на миллисекунды. Вы можете передать number of seconds
или floating point number of seconds
следующим образом:
import time
time.sleep(1) #sleep for 1 sec
time.sleep(0.25) #sleep for 250 milliseconds
Однако при использовании Selenium и WebDriver для Автоматизация с использованием time.sleep(secs)
без каких-либо особых условий для достижения поражает цель Автоматизация и следует избегать любой ценой.Согласно документации:
time.sleep(secs)
приостанавливает выполнение текущего потока на указанное количество секунд.Аргумент может быть числом с плавающей запятой, чтобы указать более точное время сна.Фактическое время приостановки может быть меньше запрошенного, потому что любой перехваченный сигнал прервет режим сна () после выполнения процедуры перехвата этого сигнала.Кроме того, время приостановки может быть больше, чем запрошено на произвольную сумму, из-за планирования других действий в системе.
Так что согласно обсуждению вместо time.sleep(sec)
вы должны использоватьWebDriverWait()
в сочетании с expected_conditions()
для проверки состояния элемента и трех широко используемых ожидаемых условий:
sence_of_element_located
sence_of_element_located (locator) определяется следующим образом:
class selenium.webdriver.support.expected_conditions.presence_of_element_located(locator)
Parameter : locator - used to find the element returns the WebElement once it is located
Description : An expectation for checking that an element is present on the DOM of a page. This does not necessarily mean that the element is visible or interactable (i.e. clickable).
visibility_of_element_located
visibility_of_element_located (locator) определяется следующим образом:
class selenium.webdriver.support.expected_conditions.visibility_of_element_located(locator)
Parameter : locator - used to find the element returns the WebElement once it is located and visible
Description : An expectation for checking that an element is present on the DOM of a page and visible. Visibility means that the element is not only displayed but also has a height and width that is greater than 0.
element_to_be_clickable
element_to_be_clickable (locator) определяется следующим образом:
class selenium.webdriver.support.expected_conditions.element_to_be_clickable(locator)
Parameter : locator - used to find the element returns the WebElement once it is visible, enabled and interactable (i.e. clickable).
Description : An Expectation for checking an element is visible, enabled and interactable such that you can click it.
Ссылка
Вы можете найтиподробное обсуждение в WebDriverWait не работает должным образом