Я буду коротким.Получить элементы по атрибутам
Насколько я знаю, библиотека watir предоставляет два метода для получения элементов html.
Почти для каждого элемента (Div, кнопки, таблицы, Li и т.д.) Watir обеспечивает два метода:
. Один - это метод «единственного», который получает только один конкретный элемент. Например:
watir_instance.div(:id,'my_div_id')
watir_instance.link(:href,'my_link_href')
watir_instance.button(:class =>'my_button_class', :index => 4)
Эти методы будут извлекать только один элемент. Это нормально ...
. Во-вторых, «множественное число» метод, который возвращает все элементы экземпляра Watir
watir_instance.divs
watir_instance.links
watir_instance.buttons
Но, насколько я знаю, Watir не предоставляет метод для получения более одного элемента дает определенные условия.
Например ... Если я хочу прошить все ссылки с идентификатором: my_link_id было бы очень легко сделать что-то вроде этого:
watir_instance.divs(:id, 'my_link_id').each do |link|
link.flash
end
С Hpricot эту задачу очень легко ... но если ваша цель - не разбираться, я не смог найти метод Watir, который делает то, что я хочу.
Надеется, что вы можете понять меня ...
Ура, Хуан !!
Большое спасибо Zeljko! Но я думаю, что я не очень хорошо объясняю свою проблему и то, что хочу делать ... Я просто спрашивал, поддерживает ли watir такой метод, как divs, но принимает параметры ... Например, если мне пришлось замаскировать все ссылки с помощью класса 'my_class', я бы поставил что-то вроде этого: b = Watir :: IE.start "xxxxxxx" b.links (: class, 'myclass'). each do | link | link.flash end Существует ли какой-либо метод? В любом случае, если этот метод не существует, в вашем примере я видел способ исправить мою проблему; a выполняет условие if, сравнивающее атрибут. – flyer88
Короткий ответ: нет. Ответ немного длиннее: насколько я знаю, когда вы запрашиваете коллекцию элементов (divs, links ...), вы получаете их все, нет способа получить только некоторые элементы (например, ссылки с определенным классом). К счастью, мой ответ решает эту проблему. –