Watir / Ruby - 循环搜索结果列表 - 搜索元素,如果找到元素 - 动作和退出循环

时间:2012-08-29 16:00:44

标签: ruby-on-rails watir-webdriver

我目前有一个搜索结果列表,我想循环找到一个特定的元素。这个元素可以出现多次(从几个到几千个),但我只是想找到元素的第一个实例,单击它然后退出我的循环。

尝试了以下但是认为我有点偏离

i = 0
@browser.div(:id=>"resultsList").lis.each do|li| -- loop through list
@browser.link(:href=>"linkname").exists --- check if element exists
@browser.goto(@browser.link(:href=>"linkname") --if it exists click

break if i == 1 ---then break out of loop

end

任何指针都将不胜感激 谢谢!

1 个答案:

答案 0 :(得分:2)

您无需遍历元素。默认情况下,Watir-Webdriver将返回第一个匹配元素。

只是做:

@browser.div(:id=>"resultsList").link(:href=>"linkname").click

这将点击搜索结果中包含" linkname"的href的第一个链接。请注意,如果您确实希望链接文本(不是href)匹配" linkname"它应该是link(:text=>"linkname")