Поиск веб-элемента с xpath, начиная с

Я пытаюсь найти ссылку, используя Selenium Webdriver. Я не хочу, чтобы найти его по тексту ссылки, только фактическая ссылка, которая набрана. Это можно сделать, используя элемент поиска Selenium методом xpath, но что такое синтаксис, когда я знаю только начало этого текста href, а не весь текст?

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

Ответ 1

Вы можете использовать start-with в xpath, чтобы найти значение атрибута, которое начинается с определенного текста.

Например, предположим, что на странице есть следующая ссылка:

<a href="mylink_somerandomstuff">link text</a>

Затем вы можете использовать следующий xpath для поиска ссылок, имеющих href, который начинается с 'mylink':

//a[starts-with(@href, "mylink")]

Ответ 2

Вы также можете использовать, если вы не знаете, с чего начинается href:

<a href="link_with_key_word_in.html">Link</a>

Чтобы найти эту ссылку, вы можете использовать:

By.xpath("//a[contains(@href, 'key_word')]"));

Ответ 3

Просто установите эти дополнения: Firebug и FirePath в Mozilla Firefox.

Перейдите по ссылке в firefox и вызовите firebug с помощью клавиши F12.

Затем выберите FirePath.

Нажмите кнопку "Проверить элемент" и выберите элемент. Он покажет xpath элемента.

Пример:

<input type = "text" id ="text-checking123"> </input>

Xpath элемента будет

//input[starts-with(@id, 'text-')]

Затем используйте его в java-коде.

**Please do add comment, if the code works for you. It will help others to view the answer.**