我有以下HTML代码:
<a href="/search/?p=2&q=move&mt=1"> 2 </a>
我想得到href中包含的内容,即我正在寻找一个命令,它会给我“/ search /?p = 2&amp; q = move&amp; mt = 1”的值为href。
对于上述查询,有人可以帮助我使用selenium中的相应命令和css定位器吗?
如果我有类似的东西:
<a href="/search/?p=2&q=move&mt=1"> 2 </a>
<a href="/search/?p=2&q=move&mt=2"> 3 </a>
如果我要获得href的属性值,其中的文本为'2',那么我的css定位器synatx将如何显示?
答案 0 :(得分:6)
如果您的HTML仅由一个<a>
标记组成,那么应该这样做:
String href = selenium.getAttribute("css=a@href");
您使用DefaultSelenium#getAttribute()
method并传入CSS定位器,@
符号以及要获取的属性的名称。在这种情况下,您选择a
并获取其@href
。
回复您的评论/编辑:
@
之后的部分告诉Selenium该部分是该属性的名称。
您应该在:contains('2')
之前放置@href
,因为它是定位器的一部分,而不是属性。所以,像这样:
selenium.getAttribute("css=a:contains('2')@href");
答案 1 :(得分:2)
将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");
}