Используйте While
loop и WebdriverWait
, где упомянуто timeout
и poll_frequency
, чтобы проверить наличие элементов, если он щелкнет по элементам и прервет цикл, иначе продолжайте до тайм-аута. Надеюсь, это поможет.
while(True):
elements=WebDriverWait(self.driver, 300,1 ).until(EC.presence_of_all_elements_located((By.CSS_SELECTOR, 'a_css_selector')))
if(len(elements)>0):
self.driver.find_element_by_css_selector('a_css_selector').click()
break
else:
continue
Обратите внимание: вам нужно использовать следующие операции импорта.
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
EDITED
while(True):
elements=driver.find_elements_by_css_selector('a_css_selector')
if(len(elements)>0):
self.driver.find_element_by_css_selector('a_css_selector').click()
break
else:
continue