我是 Watir 世界的新手,在之前的公司使用过 webdriver 和 geb。我想知道 Watir 是否提供任何类似于 webdriver 中的 get_elements 方法的方法。请参阅下面的示例。
假设以下 html 存在于一个较大的页面中
<div class="someClass">someText</div>
<div class="someClass">someMoreText</div>
<div class="someClass">evenMoreText</div>
我想通过定位给定类的所有元素并遍历它们来对每个 div 进行一些断言。使用 webdriver,我可以这样做:
elements = driver.get_elements(:css, ".someClass")
elements.each do |element|
//some assert on element
end
Watir 是否提供等效结构?我在 Watir 文档中找不到任何有用的信息。
最佳答案
你可以这样做:
elements = driver.elements(:css => '.someClass')
或者如果你知道它们都是 div,你应该这样做:
elements = driver.divs(:css => '.someClass')
这两种方法都会返回符合您条件的元素集合。在第一种情况下,它会匹配任何标签类型,而在第二种情况下,结果将仅限于 div。
然后,使用以上任一方法,您可以以相同的方式进行迭代:
elements.each do |element|
//some assert on element
end
关于ruby - 返回匹配为数组的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13234145/