Не получается нажать на кнопку с помощью selenium
Пишу парсер сайта https://www.avtoto.ru/#page:shop При входе он просит выбрать город и пункт получения заказа. Для этого использую код:
but = driver.find_element_by_class_name('modal-other-city__label-city')
but.click()
time.sleep(1)
but = driver.find_element_by_class_name('modal-other-city__result-list modal-other-city__result-list--mb20 x-op-list')
but.click()
Город нормально выбирается потому что тэг элемента lable, он кликабелен. После попытки нажать на пункт выдачи, выдаёт ошибку:
selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"css selector","selector":".modal-other-city__result-item x-op-item"}
Я думаю, что это потому, что в html разметке этого элемента нет тэга lable и я не понимаю, как на него нажать по-другому.
UPD: Я покопался в интернете и изменил код, теперь он выглядит так:
but = driver.find_element_by_class_name('modal-other-city__label-city')
but.click()
time.sleep(1)
try:
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
but = WebDriverWait(driver, 10).until(
EC.presence_of_element_located((By.CLASS_NAME, "modal-other-city__result-list modal-other-city__result-list--mb20 x-op-list"))
)
finally:
but.click()
Но он всё равно не заработал, теперь выдаёт:
selenium.common.exceptions.ElementNotInteractableException: Message: element not interactable