2016-01-12 1 views
1

Могу ли я использовать $$(elementLocator).first() для большего количества элементов, таких как второй, третий и т. Д.?

или это только для первого и последнего элементов?

Например - Я выпадающий список с 5 кнопками внутри, но они имеют некоторые свойства, и я хочу, чтобы нажать на все из них один на один .. поэтому первый из них будет:

$$("button.font-sm.md-button.md-ink-ripple").first().click(); 

И как я могу нажать на второй вариант?

Это свойство элементов:

<button class="font-sm md-button md-ink-ripple" type="button" ng-transclude="" ng-click="actionClick(saction, $event)"><span class="ng-binding ng-scope">Message</span></button> 

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

ответ

1

Вы можете использовать функцию get(), которая встроена в транспортир. Функция get() - это функция с нулевым индексом. Вот как его использовать -

$$("button.font-sm.md-button.md-ink-ripple").get(0).click(); //Click first element 
$$("button.font-sm.md-button.md-ink-ripple").get(1).click(); //Click second element 

Вы всегда можете использовать first() и last() функции, реализации get() функции внутренне. Надеюсь, поможет.

+0

Большое спасибо! Он отлично работает! –

0

Вы можете использовать .get (x), где x - индекс элемента, основанный на нулевом значении.

$$("button.font-sm.md-button.md-ink-ripple").get(1).click(); //Click second item 
$$("button.font-sm.md-button.md-ink-ripple").last().click(); //Click last item 
Смежные вопросы