Selenium如何:从<a> tag that has no href attribute</a>获取网址

时间:2013-09-19 18:47:18

标签: java javascript url selenium selenium-webdriver

我必须在当前窗口中打开一个链接(通常会在点击时打开一个新窗口)。我的意图是获取href属性并导航到url,但链接没有href属性,它只有它的id和类。

离。 <a id="thisLink" class="linkOut">someLinkText</a>

当我尝试获取href属性并收到null时,我才注意到。有没有办法在不打开链接的情况下获取生成的URL,或者在当前窗口中打开此链接而不是新链接?

我正在通过selenium webdriver测试网站,需要检查生成的页面,而不是在新窗口中打开它。

3 个答案:

答案 0 :(得分:1)

您打算如何处理known-url#id网址?如果您没有特定需求,您可以保持已知的网址...

无论如何,要重定向,您可以使用window.location.href = new-url。要获取网址,您可以使用href或使用锚点的ID自行构建网址。

- 编辑 - 我看到你的问题描述的最后更新......似乎这更像是一个硒“howto”问题。

答案 1 :(得分:0)

该锚点上的点击事件很可能会打开新页面。在任何javascript代码中查找它,它很可能找到具有id的锚点,所以尝试寻找它。

如果你有jQuery尝试看到这样$._data($("#thisLink")[0], "events" ).click;

答案 2 :(得分:0)

可能发生的事情:

var link = document.getElementById('thisLink');

link.onclick = function() {
    window.open('https://www.google.com');
};

你想要发生什么:

var link = document.getElementById('thisLink');

link.onclick = function() {
    window.location.href = "https://www.google.com";
};

您需要找到onclick处理程序对于锚标记的位置,如果它使用window.open,您需要将其替换为window.location.href