Как перевести webdriver в python на миллисекунды - PullRequest
0 голосов
/ 02 октября 2018

Я использую библиотеку time в своем сценарии:

import time
time.sleep(1)

Она может перевести мой веб-драйвер в спящий режим на 1 секунду, но мне нужно перевести его в спящий режим на 250 миллисекунд.

Ответы [ 3 ]

0 голосов
/ 02 октября 2018

Если вы хотите, чтобы он спал в миллисекундах, используйте значения с плавающей запятой:

import time
time.sleep(0.25)

#0.25 > 250ms
#0.1  > 100ms
#0.05 > 50ms
0 голосов
/ 02 октября 2018

К приостановить выполнение веб-драйвера на миллисекунды. Вы можете передать 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 не работает должным образом

0 голосов
/ 02 октября 2018

time.sleep() принимает аргумент с плавающей точкой:

time.sleep(0.25)

Документы (их стоит прочитать не в последнюю очередь, потому что они объясняют условия, при которых сон может закончитьсякороче или длиннее, чем ожидалось).

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