I have the following HTML code:
<a href="/search/?p=2&q=move&mt=1"> 2 </a>
I would like to get what is contained in 开发者_高级运维href, ie, I was looking for a command which would give me "/search/?p=2&q=move&mt=1" value for href.
Could someone please help me with the respective command and css locator in selenium, for the above query?
if I have something like:
<a href="/search/?p=2&q=move&mt=1"> 2 </a>
<a href="/search/?p=2&q=move&mt=2"> 3 </a>
Out of these two if I was to get the attribute value for href whose text conatins '2', then how would my css locator synatx look like?
If your HTML consists solely of that one <a>
tag, then this should do it:
String href = selenium.getAttribute("css=a@href");
You use the DefaultSelenium#getAttribute()
method and pass in a CSS locator, an @
symbol, and the name of the attribute you want to fetch. In this case, you select the a
and get its @href
.
In response to your comment/edit:
The part after
@
tells Selenium that that part is the name of the attribute.You should place
:contains('2')
before@href
because it's part of the locator, not the attribute. So, like this:selenium.getAttribute("css=a:contains('2')@href");
Changing css=a@href to href should do the trick. Let me if this did not work.
List<WebElement> ele = driver.findElements(By.className("c"));
for(WebElement e : ele)
{
String doctorname = e.getText();
String linkValue = e.getAttribute("href");
}
精彩评论