2014-09-02 3 views
0

Как я могу перебирать все элементы?Ватировский цикл через элементы класса

Я ищу что-то вроде:

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 

Спасибо за ваше время.

ответ

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 

Коллекция элемента включает в перечислимой, таким образом, есть также целый ряд методов итерация.

С точкой зрения документации, вы можете посмотреть на:

+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 

Или цикл по всем text_fields с атрибутом :name => "asdf":

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

+1 для вашего времени. благодаря –