Как кликать на кнопки с разными классами на Selenium + Python?

Всем добрый день. Подскажите, как можно кликать при помощи селениума нажимать на несколько кнопок, у которых разные классы? Есть код, который кликает на каждый матч, но только на те, которые еще не начались. Как сделать так, чтобы кликалось не только на будущие игры, но и на те, которые уже идут в режиме онлайн? И также которые перенесены? (они всем имеют разные классы)

Код:

from selenium import webdriver
from selenium.common.exceptions import TimeoutException
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from webdriver_manager.chrome import ChromeDriverManager

driver = webdriver.Chrome(ChromeDriverManager().install())

count = 0

driver = webdriver.Chrome(executable_path="C:\\Users\\user\\PycharmProjects\\parsing\\chromedriver") # укажите здесь путь до файла хром драйвер
driver.get('https://www.flashscore.ru/')
time.sleep(3)

arr = driver.find_elements_by_css_selector(".event__match.event__match--scheduled.event__match--oneLine")
arr1 = driver.find_elements_by_css_selector(".event__match.event__match--last.event__match--oneLine")
arr2 = driver.find_elements_by_css_selector(".event__match.event__match--live.event__match--last.event__match--oneLine") # это селекторы кнопок, на которые нужно нажимать

driver.set_page_load_timeout(5)

for channel in arr + arr1, arr2:
    try:
        channel.click()
        count += 1
        if count == 16:
            driver.execute_script("window.scrollTo(0, 600);") # кликнул на 16 матчей и прокручиваешь вниз
            time.sleep(3)

        elif count == 28:
            driver.execute_script("window.scrollTo(600, 1100);")
            time.sleep(3)

Но почему-то всё равно не получается кликать подряд. Подскажите, как реализовать клики на кнопки с разными классами?


Ответы (1 шт):

Автор решения: Hush

Кнопки можно нажимать не только по класснапримерам, но и по id, css_selector, xpath. Например на чтобы нажать кнопку отправить ответ по id нужно написать:

driver.find_elements_by_id("submit-button").click()
→ Ссылка