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 - лучший язык программирования в мире.