Найдите идентификатор элемента

#python #selenium

#python #selenium

Вопрос:

Я использую python и selenium, чтобы попытаться выполнить несколько идентификаторов Medicare. Я хочу перейти на этот веб-сайт и ввести идентификатор плана:

https://www.medicare.gov/find-a-plan/questions/search-by-plan-name-or-plan-id.aspx

Я смог открыть веб-страницу с помощью selenium, но я не могу ввести свой идентификатор плана, потому что я не могу правильно идентифицировать уникальный идентификатор или имя для текстового поля идентификатора плана. Кто-нибудь может мне помочь?

Спасибо

Ответ №1:

Похоже, что у него есть идентификатор: ctl00_ctl00_ctl00_MCGMainContentPlaceHolder_ToolContentPlaceHolder_PlanFinderContentPlaceHolder_tbPlanID — почему это не работает?

В противном случае вы сможете использовать этот xpath:

 /html/body/form/div[3]/div[7]/div/div/div/div[2]/div/div/div/div/div/div[1]/div/fieldset/div[3]/div[2]/input
  

Комментарии:

1. Я пробовал оба из них, и по какой-то причине, которую я не понимаю, это не работает.

Ответ №2:

Этот xpath найдет этот конкретный элемент для вас:

 (//div[@class='textBoxDiv']/input)[2]
  

Я попробовал несколько разных подходов с помощью CSS и Xpath, но в итоге использовал этот подход

Ответ №3:

Вы можете найти свой ввод, используя текст метки //*[contains(text(),'Plan ID:')]/ancestor::div[2]//input или вы можете найти метку по тексту и получить идентификатор элемента для этой метки //input[@id=(//label[contains(text(),'Plan ID:')]/@for)]

Комментарии:

1. Я не возражаю против вашего голосования, но не могли бы вы, пожалуйста, объяснить причину? Я был бы очень признателен, если бы вы могли указать мне, что не так.