我可以通过硒获取链接位置吗?
Posted
技术标签:
【中文标题】我可以通过硒获取链接位置吗?【英文标题】:Can I get link location through selenium? 【发布时间】:2012-01-01 01:03:57 【问题描述】:我在网页上有一个链接。我想右键单击并复制链接位置是否可以通过 selenium 1? 例如,我打开了一个网页,它有一个“添加书籍”链接,如果我右键单击并复制链接位置,它会手动指向 http://webserver/webapps/books/addbook.jsp?book_id=44_1&type=reference&promo=none
有没有办法通过给出文本的 XPath 来找出复制链接:“add book”?还是使用javascript?
提前致谢。
【问题讨论】:
【参考方案1】:我正在使用下面的代码来获取链接位置(使用 Selenium-WebDriver 和 java 绑定):
WebElement link = driver.findElement(By.linkText("add book"));
String linkLocatin = link.getAttribute("href");
System.out.println("Link Location "+linkLocatin);
【讨论】:
感谢 Surya,但我们没有使用 webdriver。我们直接使用硒。 好的...在 selenium 1.0 中,您可以尝试以下代码来获取链接位置: String linkLocation = selenium.getAttribute("//a[text()=\"add book\"]@href ");【参考方案2】:在 Selenese 中我使用这样的东西:
<tr>
<td>storeAttribute</td>
<td>xpath=//a[text()="add book"]@href</td>
<td>linkToBook</td>
</tr>
<tr>
<td>echo</td>
<td>$linkToBook</td>
<td></td>
</tr>
【讨论】:
【参考方案3】:Selenium 接口有一个
gethtmlSource()
-方法。这将返回一个字符串,您可以在其上应用这样的 Xpath:
//a[text()="add book"]
【讨论】:
以上是关于我可以通过硒获取链接位置吗?的主要内容,如果未能解决你的问题,请参考以下文章