Вопрос по selenium. Найти элемент на странице, если структура кода страницы меняется

Надеюсь правильно задал вопрос. Прикрепляю ссылку на сохраненный личный кабинет, надеюсь откроется.

Мне нужно найти на странице элемент input по id="react-select-16-input" (это "Выбор объекта" -> напротив него поле ввода кадастрового номера, вот его то и нужно найти). Проблема заключается в том что каждый раз id="react-select-16-input" изменяется на случайные цифры (не 16, а 4 или 20 и т.д).

Когда откроете файл, элемент id="react-select-16-input" на странице вот это: введите сюда описание изображения

Думал сделать так, найти элемент class="rros-ui-lib-dropdown__value-container css-1hwfws3", который находится выше нужного мне элемента (если смотреть средство разработчика в браузере), далее по нему найти часть текста из id="react-select-16-input" (т.е. "react-select-"), он его находит, но не хочет вводить или принимать (в общем send_keys('52:18:0060182:759')). Выдает ошибку "selenium.common.exceptions.ElementNotInteractableException: Message: element not interactable" именно на send_keys('52:18:0060182:759')

Вот мой код

element = browser.find_element(By.CSS_SELECTOR, '#realEstateItems > div > div.real-estate-selector-base > div > label > div > div.rros-ui-lib-dropdown-container.css-2b097c-container > div > div.rros-ui-lib-dropdown__value-container.css-1hwfws3')
if element.find_element(By.XPATH, '//*[contains(@id,"react-select-")]'):
   print('yes')
   element.send_keys('52:18:0060182:759')

Помогите пожалуйста


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

Автор решения: Михаил Ширшов

Ура... разобрался...

Вот код, который мне требовался

browser.find_element(By.XPATH, '//div[contains(text(), "Начните вводить адрес или кадастровый номер")]/following-sibling::div[@class="css-bph5ye"]/div[@class="rros-ui-lib-dropdown__input"]/*[contains(@id, "react-select")]').send_keys(result[0])
→ Ссылка