【问题标题】:How to Click on link which has Javascript using Watir如何使用 Watir 单击具有 Javascript 的链接
【发布时间】:2012-01-30 13:02:57
【问题描述】:

我是 Watir 的新手,有一个场景对我来说是一个障碍。我必须点击下面的链接。它显示为链接。这是任何正常的忘记密码?单击此处 .... 我正在测试的应用程序中的选项。请告知如何点击此链接。我也尝试过下面提到的 x 路径,但没有运气。

<a href="javascript:forgot_password()"> 

x 没有运气使用的路径:

1> ie.link(:xpath, "//img[@onclick='javascript:forgot_password()']").click
2> ie.link(:xpath,"//a[@href='javascript:forgot_password()']/").text # => "Click Here) "
3> ie.element_by_xpath("//link[contains(@href , 'javascript:forgot_password()')]/").click

【问题讨论】:

  • 如果您能向我们展示您尝试与之交互的链接的 HTML 源代码,将会非常有帮助。

标签: javascript ruby xpath hyperlink watir


【解决方案1】:

你试过了吗?

browser.link(:href => "javascript:forgot_password()").click

【讨论】:

  • Zeljko 的答案是您应该首先尝试的答案。只需确保在 :href => 之前添加冒号,否则会出错。
  • 同意,避免使用 xpath,除非它是解决问题的唯一方法。它更难理解,通常很脆弱,有时解析更慢。
  • 大家好,抱歉迟到的回复超出了互联网的范围。上面的解决方案对我有用......谢谢你的同样
  • 另外...我已经多次看到“避免使用 xpath”.. 我想了解为什么会这样。一段时间后会中断还是无法始终如一地工作??
【解决方案2】:

首先检查 xpath 是否适用于您的系统:appart form watir gem 您必须安装版本高于 3.1.6 的 REXML。

我不知道您的代码有什么问题,因为我不知道您正在访问哪个页面,如果可以,请给我们链接。我个人会做这样的事情,但可能有很多选择。

ie.link(:xpath, "//a[contains(@href='javascript:forgot_password')]/").click 

【讨论】:

  • 另外,我试过这个,甚至这对我也有好处。 ie.link(:xpath,"//a[@href='javascript:forgot_password()']/").click
【解决方案3】:

您的 xpath 选择器看起来很困惑。

第一行

ie.link(:xpath, "//img[@onclick='javascript:forgot_password()']").click

打算查找链接,但查找图像。那会有用吗?

尝试使用

ie.link(:xpath, "//a[@onclick='javascript:forgot_password()']").click

ie.link(:xpath, "//a[@onclick='javascript:forgot_password()']").fire_event('onclick')

在元素上使用.click 时,可能只是不会触发onClick 事件。我不记得有没有。

如果没有看到页面,我无法确定,但您可能根本不需要使用 xpath 来查找此元素。

如果文本是“单击此处”,您可以将其用作定位器。

ie.link(:text => "Click here").click

...或等效的.fire_event('onclick')

如果没有看到有问题的 html 并且针对它运行准确的 Watir(即直接从您的文件中复制和粘贴),诊断问题非常困难,因此这些建议几乎是在黑暗中拍摄。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-08-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多