0

我需要测试页面跟踪器的行为。跟踪器的报告在单击链接时触发,但是在锚元素上生成单击事件不会指示浏览器导航到链接中的页面。我试过 Selenium IDE - 没有效果。

有没有办法做到这一点?也许一些浏览器设置?如果它特定于 Firefox 或 Google Chrome 或 Opera - 没关系,我可以使用其中任何一个进行测试。

这是一个类似的问题How do I programmatically click a link with javascript? 但这对我没有帮助,正如我刚刚描述的那样,在这种情况下不会发生导航。

4

2 回答 2

1

通常,单击锚链接会将您带到页面内的其他位置并将锚链接更改为 foo.php#bar(其中 bar 是锚的名称),因此这种行为是设计使然。

这是我能想到的所有不同方法

方法 1:调整您的跟踪器

也许您可以配置您的跟踪器来跟踪这些变化?单击锚点会触发hashchange事件。检查这个 SO 问题

检查这些链接以了解使用 hashchange 事件的方法:

方法二:使用 HTML5 历史 API

您可以通过 HTML5 pushState() 方法(即历史 API)以编程方式更改浏览器的 URL。

以下是一些使用 HTML 历史 API 的示例:

于 2013-06-19T14:09:23.200 回答
1
 <a id="gLink" href="http://www.google.com">Google</a>

<script>
    document.getElementById("gLink").click()
</script>

行得通。

于 2013-06-19T14:08:20.877 回答