presence_of_all_elements_located
() найдет все элементы, присутствующие в DOM, независимо от того, видны они на странице или нет. Вместо этого используйте visibility_of_all_elements_located
(), который ждет, пока элемент не станет видимым на странице.
driver.get("https://www.sportstats.ca/display-results.xhtml?raceid=9381")
buttons_wait = WebDriverWait(driver, 10).until(EC.visibility_of_all_elements_located((By.CLASS_NAME, 'ui-row-toggler.ui-icon.ui-icon-circle-triangle-e'))
)
for button in buttons_wait:
button.click()
time.sleep(0.6)
Используйте класс действий , чтобы сначала перейти к этому элементу, а затем щелкните.
driver.get("https://www.sportstats.ca/display-results.xhtml?raceid=9381")
buttons_wait = WebDriverWait(driver, 10).until(EC.visibility_of_all_elements_located((By.CLASS_NAME, 'ui-row-toggler.ui-icon.ui-icon-circle-triangle-e'))
)
for button in buttons_wait:
ActionChains(driver).move_to_element(button).click().perform()
Вам необходимо импортировать ниже librar ie.
from selenium.webdriver.common.action_chains import ActionChains