Кажется, вы были довольно близки.
В первой пробной версии кода:
driver.find_element_by_xpath("//a[@class='aOOlW HoLwm']")
<tag>
- это не тег <a>
, а <button>
тег.Поэтому изменение его следующим образом сработало бы:
driver.find_element_by_xpath("//button[@class='aOOlW HoLwm ']")
Теперь желаемый элемент - это элемент, поддерживающий JavaScript , поэтому вам нужно вызвать WebDriverWait для элемента чтобы быть кликабельным и следующая строка работала бы безупречно:
WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.XPATH, "//button[@class='aOOlW HoLwm ']"))).click()
В качестве альтернативы вы могли бы также использовать cssSelector следующим образом:
WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "button.aOOlW.HoLwm"))).click()
Примечание : Вы должны добавить следующий импорт:
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC