Не удается найти существующий элемент с использованием Python Selenium IE

avatar
Pedro Carvalho
8 августа 2021 в 16:49
261
1
-1

Я пытаюсь ввести текст в текстовое поле

<input name="pesquisarUtente.numeroUtente" class="number numero-utente" id="pesquisarUtente.numeroUtente" type="text" maxlength="9" value="">

Я пробовал следующее

driver.find_element_by_name("pesquisarUtente.numeroUtente").send_keys('123123123') driver.find_element_by_id("pesquisarUtente.numeroUtente").send_keys('123123123')

Я всегда получаю сообщение об ошибке:

selenium.common.exceptions.NoSuchElementException: Message: Unable to find element with css selector == [id="pesquisarUtente.numeroUtente"]
Источник
YaDav MaNish
8 августа 2021 в 16:52
0

Можете ли вы проверить, не находится ли ввод под iframe, а также можете ли вы предоставить URL-адрес или соответствующий источник HTML?

Pedro Carvalho
8 августа 2021 в 16:57
0

Как я могу проверить, находится ли он под iframe? Я не могу предоставить вам URL-адрес, потому что для этого требуется вход в систему, извините.

YaDav MaNish
8 августа 2021 в 17:00
0

По крайней мере, предоставьте соответствующий источник HTML. Просто проверьте инструмент разработчика, введя iframe на вкладке Element и его область действия.

Prophet
8 августа 2021 в 17:00
0

Прежде всего, попробуйте добавить некоторую задержку, например time.sleep(5) перед driver.find_element_by_name("pesquisarUtente.numeroUtente").send_keys('123123123').

YaDav MaNish
8 августа 2021 в 17:01
1

Это может быть возможность, как упоминал @Prophet

Ответы (1)

avatar
Lobstergoat
11 августа 2021 в 20:12
0

Попробуйте использовать селекторы Xpath или Css.

Эта ошибка обычно возникает, когда имеется более одного элемента с одинаковым идентификатором, поэтому селен ожидает find_elementS_by_id. Xpaths и Selectors уникальны для каждого элемента, поэтому они лучше работают при поиске определенного элемента.

пример использования xpaths:

driver.find_element_by_xpath("ENTER XPATH HERE").send_keys('123123123')

Чтобы получить Xpath элемента, просто 1: наведите указатель мыши на элемент в режиме разработчика 2:щелкните правой кнопкой мыши по нему 3:наведите указатель мыши на параметр копирования 4:переместитесь вниз, чтобы скопировать Xpath, и нажмите

How to get the Xpath of an element

Селекторы CSS работают одинаково. (driver.find_element_by_css_selector("SELECTOR HERE")) И вы можете увидеть вариант копирования одного 3 над вариантом копирования Xpath