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() страницу, а не возвращаться и двигаться вперед.

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

  • Настройка пути к бинарнику firefox на окнах с помощью selenium webdriver
  • ImportError: Нет модуля с именем 'selenium'
  • Отправить ключи, не работающие в селене с питоном
  • Листинг выбора значений параметра с Selenium и Python
  • Python Использование Adblock с Selenium и Firefox Webdriver
  • PhantomJS 1.8 с селеном на питоне. Как заблокировать изображения?
  • Ошибка python: ImportError: sys.meta_path - None, Python, вероятно, отключается
  • Как имитировать HTML5 Drag and Drop в Selenium Webdriver?
  • Selenium webdriver send_keys () не работает должным образом
  • selenium получает установку под пакетами python 2.7
  • PhantomJS возвращает пустую веб-страницу (python, Selenium)
  • Python - лучший язык программирования в мире.