Получение «объекта не поддерживает свойство или метод «оценка»» в селене | ИЕ

Я автоматизирую веб-приложение в браузере IE (Internet Explorer).

Я получаю следующую ошибку, когда пытаюсь найти какой-либо элемент на странице после загрузки страницы.

selenium.common.exceptions.InvalidSelectorException: Message: Unable to locate an element with the xpath expression //div[@id='index_logo']/following-sibling::div/form because of the following error:
TypeError: Object doesn't support property or method 'evaluate';

Код

#xpaths
cpDvForm = "//div[@id='index_logo']/following-sibling::div/form"
cpDvUser = "//input[@id='username']"
cpDvPass = "//input[@id='password']"
cpDvLanRadio = "//input[@id='net_lan']"
cpDvLogin = "//a[@onclick='login()']"
#code
options= webdriver.IeOptions()
d = webdriver.Ie(options=options)
d.get(url)
#time.sleep(10)
#WebDriverWait(d,10).until(EC.element_to_be_clickable(d.find_element(By.XPATH,cpDvUser)))
form = d.find_element(By.XPATH,cpDvForm)
form.find_element(By.XPATH,cpDvUser).clear()
form.find_element(By.XPATH,cpDvUser).send_keys('user')
form.find_element(By.XPATH,cpDvPass).send_keys('pass')
form.find_element(By.XPATH,cpDvLanRadio).click()
form.find_element(By.XPATH,cpDvLogin).click()

Я попытался вызвать ожидание Webdriver и ожидание сна, чтобы гарантировать загрузку страницы. Я проверил Iframes и Shadow dom. нет ни того, ни другого.

Как уже упоминалось, ошибка возникает, когда мы пытаемся найти какой-либо элемент после загрузки страницы. Все предложения и решения приветствуются!

Дополнительное примечание/информация:

  • Мне необходимо использовать браузер IE
  • Селен 4.18.0
  • Питон 3.12

Дайте мне знать, если потребуется дополнительная информация, я добавлю ее соответствующим образом. Ваше здоровье !

Пожалуйста, покажите нам, в чем ценность, например cpDvUser

Siebe Jongebloed 05.04.2024 09:54

Поможет ли вам этот вопрос: stackoverflow.com/questions/75485006/… ?

Siebe Jongebloed 05.04.2024 09:55

Привет @SiebeJongebloed. Я добавил приведенные выше xpath //input[@id='username'] для cpDvUser. Я ответил на предложенный вопрос, но мне это не помогло. Если вы чувствуете, что я что-то пропустил, добавьте, пожалуйста. Спасибо !

subham chomal 05.04.2024 12:21

XPath действителен. Вам не нужно искать форму, а затем искать ее, если у элементов есть идентификаторы. Пробовали ли вы удалить шаг формы, а затем использовать более поздние локаторы? Они работают? Попробуйте что-нибудь простое для имени пользователя (By.ID, "username") вместо XPath. Мне интересно, не скопировали ли вы откуда-то этот локатор и не получили ли в строке неверный символ, который не виден. Попробуйте ввести локатор cpDvForm заново.

JeffC 05.04.2024 17:06

Привет @JeffC, первоначальный подход был только без формы, так как я получал ту же ошибку, я пробовал разные xPath, а затем увидел, что элементы заключены в форму, поэтому попытался получить к ней доступ из формы. Я попробую подход ID и сообщу вам, спасибо!

subham chomal 06.04.2024 08:08

Привет @JeffC, спасибо за терпение! Я попробовал селектор поиска By.ID, и он сработал!! Я не уверен, почему XPath не работает. Я немного знаком с xpath и в основном использую его. Я дал простой xpath '//*[@id='username']', но он не работает с той же ошибкой. Я понятия не имею, почему. Есть идеи по этому поводу, и можете ли вы указать мне на какие-либо учебные ресурсы. Спасибо !

subham chomal 09.04.2024 18:30

Не имею представления. Я протестировал XPath, который вы предоставили в инструментах разработчика Chrome, и ни на одном из них не обнаружил ошибок. Единственное, о чем я могу думать, это то, о чем я упоминал ранее... что в локатор был вставлен какой-то случайный скрытый символ, так что мы его не видим, но это вызывает ошибку.

JeffC 09.04.2024 19:35

Не беспокойтесь, еще раз спасибо @JeffC, я продолжу работу с идентификационными тегами для этого веб-приложения. Ваше здоровье !

subham chomal 10.04.2024 11:50
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
8
52
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Как подчеркнул @JeffC, для этого подойдет селектор идентификатора By.ID,'theId'. Продолжаем выбор идентификатора.

Несмотря на то, что XPath правильный, по какой-то другой причине он выдает ошибку.

Другие вопросы по теме