2012-01-30 26 views
1

我是Watir的新手,并且对我来说有一个阻挡者的场景。我必须点击下面的链接。它显示为一个链接。这是任何正常的忘记密码?点击这里....选项,这是在我正在测试的应用程序中。请建议如何点击此链接。我已经尝试了下面提到的x路径,但没有运气。没有运气使用如何点击使用Watir的Javascript的链接

<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 
+0

如果您可以向我们展示您尝试与之互动的链接的HTML源代码将非常有帮助。 – anonygoose 2012-01-30 15:14:41

回答

0

首先检查是否XPath的工作原理您的系统上:你有APPART形式的Watir创业板已经安装REXML与版本比3.1.6更高。

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

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

此外,我试过这个,甚至这个工作对我很好。 ie.link(:xpath,“// a [@ href ='javascript:forgot_password()'] /”)。点击 – anagraj 2012-02-09 05:25:00

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

这是一个元素上使用.click时可能只是没有触发onClick事件尝试。我不记得它是否存在。

没有看到页面,我不能确定,但​​你可能不需要使用xpath来找到这个元素。

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

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

...或等值.fire_event('onclick')

这是令人难以置信很难诊断的问题,没有看到有问题的HTML和准确的Watir正在对其运行(即复制和直接从您的文件粘贴)所以这些建议在黑暗中非常棒。

4

你试过这个吗?

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

Zeljko的答案是您应该先尝试的答案。只要确保你在之前添加冒号:href =>或者你会得到一个错误。 – anonygoose 2012-01-31 14:52:55

+1

@anonygoose:谢谢,修正了错字:) – 2012-01-31 16:22:25

+0

同意,避免使用xpath,除非它是解决问题的唯一方法。很难理解,经常是脆弱的,有时候解析起来更慢。 – 2012-02-01 01:16:08

相关问题