我可以通过硒获取链接位置吗?

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"]

【讨论】:

以上是关于我可以通过硒获取链接位置吗?的主要内容,如果未能解决你的问题,请参考以下文章

通过硒单击链接

如何使用硒下载文件?

谷歌地图:我们可以添加一个链接来获取当前位置的路线吗?

硒 - 不可点击的链接[重复]

我无法将硒切换到 iframe

如何获取下载的文件名? (硒)