0

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

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

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

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

4

1 回答 1

2

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

做就是了:

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

这将单击搜索结果中具有“链接名称”href 的第一个链接。请注意,如果您确实希望链接文本(而不是 href)与“链接名称”匹配,则应该是link(:text=>"linkname").

于 2012-08-29T16:36:13.067 回答