【问题标题】:Automatically click a link and navigate to another page自动单击链接并导航到另一个页面
【发布时间】:2013-06-19 22:09:23
【问题描述】:

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

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

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

【问题讨论】:

  • 所以你只需要在 JavaScript 中以编程方式单击 链接吗?

标签: javascript testing automation click


【解决方案1】:
 <a id="gLink" href="http://www.google.com">Google</a>

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

成功了。

【讨论】:

    【解决方案2】:

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

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

    方法 1:调整您的跟踪器

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

    查看这些链接以了解如何利用 hashchange 事件:

    方法2:使用HTML5历史API

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-08-19
      • 1970-01-01
      • 2016-02-08
      • 1970-01-01
      • 2020-09-03
      • 2016-11-28
      • 1970-01-01
      相关资源
      最近更新 更多