Watir循环通过类元素

时间:2014-09-02 11:16:34

标签: watir watir-webdriver

如何循环浏览所有元素?

我正在寻找类似的东西:

brower.text_field[0](:name, "asdf").click # get the first element
brower.text_field[1](:name, "asdf").click # get the second element

是否有更好的文档可用于更高级的内容? 我没有找到任何有用的东西,我得到的只是简单的东西,但我正在寻找一些可以链接元素的东西:

browser.tr(:id, "asdf").td.click

感谢您的时间。

2 个答案:

答案 0 :(得分:2)

对于您所描述的内容,您只需使用:index属性:

brower.text_field(:name => "asdf", :index => 0).click # get the first element
brower.text_field(:name => "asdf", :index => 1).click # get the second element

或者遍历所有带有属性:name => "asdf"的text_fields:

browser.text_fields(:name => "asdf").each { |elem| elem.click }

答案 1 :(得分:1)

要循环浏览所有匹配元素,您正在寻找"element collections"

基本上你需要复制用于获取元素的方法,然后你可以使用[]来获得特定的索引:

brower.text_fields(:name, "asdf")[0].click # get the first element
brower.text_fields(:name, "asdf")[1].click # get the second element

元素集合包括Enumerable,因此还有各种迭代方法。

在文档方面,您可以查看: