webdriverwait не истекает должным образом, когда элементы не находятся в окне прокрутки и некоторых других случаях - PullRequest
0 голосов
/ 24 августа 2018

Я использую python, firefox и webdriver, чтобы найти все элементы, видимые в текущем окне прокрутки. Вот три утверждения, которые пытались перебрать все элементы.

   e = WebDriverWait(driver, 1).until(EC.visibility_of_element_located((By.XPATH, xpath)))
   e = WebDriverWait(driver, 1).until(EC.presence_of_element_located((By.XPATH, xpath)))
   e = WebDriverWait(driver, 1).until(EC.element_to_be_clickable((By.XPATH, xpath)))

Однако, когда элемент не отображается в текущем окне прокрутки, функция webDriverWait () будет отключена через несколько минут вместо 0,3 секунды.
Может кто-нибудь показать мне, почему это неправильно?

Я могу показать больше кода при необходимости.

Также есть способ получить все видимые элементы в одном операторе.
Я видел, что некоторые предлагают получить все элементы и затем отфильтровать их с помощью метода is_displayed ().
Но это не решает мою проблему, что webdriverwait (), кажется, не в состоянии тайм-аут.

...