if else loop на Python. Проверка имени класса с помощью Selenium

У меня есть эта система назначения, где мне нужно подождать, пока ссылка не будет доступна. Если эта ссылка доступна, щелкните ее. Если не вернуться назад и нет (потому что страница не позволяет мне перезагружать). И проверьте его снова, пока не будет доступно.

while True: if driver.find_element_by_class_name("linkButton"): #do somthing else: driver.back() driver.forward() #check again. 

Программа не бросает никаких ошибок, но когда я заставляю if быть false то else просто ничего не делает.

Я не могу проверить это с помощью ссылки, которая недоступна, потому что на странице до тех пор, пока она доступна, поэтому я могу заставить if быть false

One Solution collect form web for “if else loop на Python. Проверка имени класса с помощью Selenium”

Прежде всего, find_element_*() не возвращают true / false, они либо возвращают экземпляр WebElement (который является правдивым), либо NoSuchElementException исключение NoSuchElementException (или другое исключение).

Проверка существования обычно выполняется с помощью find_elements_*() которые, если элемент не найден, возвращают пустой список, который является ложным:

 while True: if driver.find_elements_by_class_name("linkButton"): # do something else: driver.refresh() 

Обратите внимание, что я думаю, что вы просто хотели refresh() страницу, а не возвращаться и двигаться вперед.

И вы также должны добавить некоторые задержки времени между попытками.

  • Как навести указатель мыши на python Webdriver
  • Комбинированный веб-сайт Selenium
  • Как избежать повторного входа в мои аккаунты каждый раз, Selenium Python mac
  • OSError: Ошибка формата Exec selenium
  • Webdriver не может пройти, нажав кнопку следующей страницы
  • Помогите Firefox не реагировать при использовании Selenium WebDriver с Python?
  • Скачать картинку с selenium python
  • Связь с python mysql через ssh
  • Python - лучший язык программирования в мире.