как получить значение атрибута с помощью 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");
}