Как уменьшить Xpath, чтобы сделать его короче? - PullRequest
0 голосов
/ 16 мая 2019

Я пытаюсь получить значение пункта меню на угловом сайте. Если я поставлю подробный Xpath, я могу выбрать пункт меню из выпадающего списка.

Как бы получить XPath значительно короче? Извиняюсь, если это ужасный вопрос, я вырываю волосы!

Я использовал точный XPath, но мой код был отклонен при регистрации.

driver.FindElement(By.XPath("/html/body/modal-container/div/div/inv-education-modal/article/div[2]/div/div[1]/div[1]/div/inv-drop-down-select/section/div/ul/li[3]/a/span"));

Я на самом деле хочу передать параметр, чтобы он выбирал соответствующее раскрывающееся значение, но это угловой сайт, поэтому я не могу использовать SelectElement.

1 Ответ

1 голос
/ 16 мая 2019

Существует тег <a> перед вашим тегом <span> , который указывает гиперссылку .

Обычно гиперссылки имеют атрибут href и связанный текст, например:

<a href="http://example.com>Click me!</a>

, который будет выглядеть на вашем сайте как:

Нажми меня!

«более короткий» XPath, который будет искать гиперссылку с текстом «Click me», будет выглядеть так:

//a[@href='Click me!']

и если хотите следующий span - //a[@href='Click me!']/span

Ссылки:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...