Как получить количество элементов, имеющих одинаковый атрибут в HTML в Watir? - PullRequest
7 голосов
/ 22 июня 2011

У меня есть HTML-документ, который содержит элементы с одинаковым именем класса. Я мог бы просто выполнить итерацию для всех элементов на странице и сохранить элементы с именем класса в списке. Есть ли лучший способ в Watir подсчитать все элементы HTML, имеющие одинаковое имя класса? Этот вопрос Количество элементов с таким же атрибутом в XML как бы решает проблему, но у меня было два запроса, связанных с этим

  1. Что если документ HTML не является строгим документом XHTML?
  2. Что произойдет, если различные типы элементов HTML имеют одинаковый класс?

Примеры файлов 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 Ответ

21 голосов
/ 22 июня 2011

Если вы используете 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 
...