如何在Watir中获取HTML中具有相同属性的元素数量?

时间:2011-06-21 23:12:24

标签: ruby watir watir-webdriver

我有一个HTML文档,其中包含具有相同类名的元素。我可以对页面中的所有元素进行迭代,并使用列表中具有类名的元素进行存储。在Watir中有更好的方法来计算具有相同类名的所有HTML元素吗?这个问题Count of Elements with same attribute in XML解决了这个问题,但我有两个与此相关的问题

  1. 如果HTML文档不是严格的XHTML文档怎么办?
  2. 如果不同类型的HTML元素具有相同的类,会发生什么?
  3. 示例HTML文件可以是:

    具有相同类名

    的相同类型的元素
    <input type="password" class="foo" /> 
    <input type="text" class="foo" />
    

    具有相同类名的不同类型的元素

    <input type="password" class="foo" /> 
    <span class="foo"></span>
    <a href='1' class="foo">Text</a>
    

    先谢谢你,伙计们

1 个答案:

答案 0 :(得分:21)

如果您使用watir-webdriver gem:

1)

HTML

<input type="password" class="foo" /> 
<input type="text" class="foo" />

的Watir

browser.elements(:class => "foo").size
# => 2 

2)

HTML

<input type="password" class="foo" /> 
<span class="foo"></span>
<a href='1' class="foo">Text</a>

的Watir

browser.elements(:class => "foo").size
# => 3