Поиск веб-элемента с 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.**