我是watir和ruby的新手。我有2个问题,我无法得到解决方案。我现在用谷歌搜索超过30小时,仍然没有得到解决方案。任何紧急援助都会有很大的帮助。
问题1:如何解雇javascript事件。
html如下所述。
img onclick="javascript:previousScreen(1);" alt="Back" src="/WSWeb/images/someimage.gif"/
我已尝试过大多数解决方案,例如谷歌上的fireevent e.t.c。请给我写一段适用于上述场景的代码。
问题2:如何点击或验证下面提到的html元素是否存在。
场景1:这是html文本
input onclick="history.go(-1)" type="button" value="Back"/
情景2:此{ - 1}}下的>文本 - 登录ID。这就是现有的一切。这是一个表格中的单元格。请给我写两个场景的代码。
提前致谢。
答案 0 :(得分:3)
好吧,如果你有两个问题,请发两个问题。 :)
如果网页是公开的,请发布指向该网页的链接,这是我们提供帮助的最佳方式。
关于javascript事件,请参阅How to find out which JavaScript events fired?
您可以点击此按钮:
browser.button(:value => "Back").click
对于center元素,您必须提供更多HTML。我不确定你需要做什么。
答案 1 :(得分:0)
首先,关于选择没有属性的元素,请看一下这个问题的答案(全部三个):Accessing an element with no attributes in Watir
关于您的具体示例/问题:如果您参考watir wiki的methods supported for selecting elements列表,您将看到src可以选择图像元素(img标签)。所以,首先,你要做到这一点
browser.image(:src => '/WSWeb/images/someimage.gif').click
如果由于某种原因,click方法不起作用,那么您可以尝试直接触发onclick事件
browser.image(:src => "/WSWeb/images/someimage.gif").fire_event('onclick')
对于第二部分,您还会注意到该值可用于选择“button”元素,其中包含type = button的输入标记。因此,看看按钮是否在那里
browser.button(:value => 'Back').exists? #(will return true or false)
对于第二种情况,Watir目前不支持选择大多数格式化标签(如center),因此您需要查看包含该文本的元素。你说它是一个表格单元格(td)在一个框架内(我不知道如何识别,因为你没有提供html),如果是这种情况,那我就理解它了
browser.frame(:how => 'what').cell(:text => 'Login Id').exists?
应该有用(假设文本实际上是'登录ID'而不是'登录ID')