как получить значение атрибута с помощью selenium и css
у меня есть следующий HTML-код:
<a href="/search/?p=2&q=move&mt=1"> 2 </a>
Я хотел бы получить то, что содержится в href, т. е. я искал команду, которая дала бы мне "/search/?p=2 & q=move & mt=1 " значение для href.
может ли кто-нибудь помочь мне с соответствующей командой и локатором css в selenium для вышеуказанного запроса?
Если у меня что-то вроде:
<a href="/search/?p=2&q=move&mt=1"> 2 </a>
<a href="/search/?p=2&q=move&mt=2"> 3 </a>
из этих двух, если я должен был получить значение атрибута для href, чей текст conatins '2', тогда как будет выглядеть мой CSS locator synatx?
2 ответов
если ваш HTML состоит исключительно из этого <a>
tag, тогда это должно сделать это:
String href = selenium.getAttribute("css=a@href");
использовать DefaultSelenium#getAttribute()
метод и передайте в локатор CSS,@
символ, и имя атрибута, который вы хотите получить. В этом случае вы выбираете a
и @href
.
в ответ на ваш комментарий/редактировать:
после
@
Селена говорит, что это имя атрибут.-
вы должны
:contains('2')
до@href
потому что это часть указателя, а не атрибутом. Итак, вот так:selenium.getAttribute("css=a:contains('2')@href");
изменение css=a@href на href должно сделать трюк. Позвольте мне, если это не сработает.
List<WebElement> ele = driver.findElements(By.className("c"));
for(WebElement e : ele)
{
String doctorname = e.getText();
String linkValue = e.getAttribute("href");
}