关于ruby:如何使用Watir单击具有Javascript的链接

How to Click on link which has Javascript using Watir

我是Watir的新手,并且遇到了一个阻碍我前进的场景。我必须点击下面的链接。它显示为链接。是正常的忘记了密码吗?单击此处..我正在测试的应用程序中存在的选项。请建议如何单击此链接。我也尝试了下面提到的x路径,但是没有运气。

1
 

没有运气的x路径:

1
2
3
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


您尝试过吗?

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


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

第一行

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

旨在查找链接,但查找图像。那行得通吗?

尝试使用

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

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

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

我无法完全确定该页面,但是您可能根本不需要使用xpath来查找此元素。

如果文本为" Click here ",则可以将其用作定位符。

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

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

要在不查看有问题的html的情况下诊断问题非常困难,并且要针对该问题运行准确的Watir(即直接从文件中复制并粘贴),因此这些建议几乎是黑暗中的镜头。<铅>


首先检查xpath是否在您的系统上运行:appart form watir gem,您必须已安装版本大于3.1.6的REXML。

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

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