如何使用Watir点击有Javascript的链接

时间:2012-01-30 13:02:57

标签: javascript ruby xpath hyperlink watir

我是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

3 个答案:

答案 0 :(得分:4)

你试过这个吗?

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

答案 1 :(得分:0)

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

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

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

答案 2 :(得分:0)

你的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')

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

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

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

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

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

在没有看到问题的html的情况下诊断问题并且准确地反对它(即直接从你的文件中复制和粘贴)来诊断问题是非常困难的,所以这些建议在黑暗中是非常多的镜头。