Ватир: щелкните раскрывающееся меню с теми же атрибутами

<div class="subtab">
    <button class="ui-multiselect ui-widget ui-state-default ui-corner-all" type="button" aria-haspopup="true" style="width: 231px;">
        <span class="ui-icon ui-icon-triangle-2-n-s"></span>
            <span>None</span>
    </button>
    <button class="ui-multiselect ui-widget ui-state-default ui-corner-all" type="button" aria-haspopup="true" style="width: 231px;">
        <span class="ui-icon ui-icon-triangle-2-n-s"></span>
            <span>None</span>
    </button>
</div>

Это 2 выпадающих меню (первое прямо над вторым). У них обоих одинаковый атрибут. Как указать, на какой из них нажать? Я даже не уверен, почему у них одинаковые атрибуты, но они есть.


person user2807487    schedule 23.09.2013    source источник
comment
Отсутствует html? В html есть только div, кнопки и диапазоны. Какой элемент вы называете раскрывающимся меню и флажком?   -  person Justin Ko    schedule 23.09.2013
comment
извините, я отредактирую это, чтобы быть более ясным. Выпадающее меню является кнопкой в ​​этом случае.   -  person user2807487    schedule 23.09.2013
comment
Кажется необычным, что нет ничего, что отличало бы два меню. Хотя html двух элементов одинаков, обычно вокруг элементов есть что-то (например, одноуровневое), что отличает их. Как, как пользователь, вы различаете, на какую кнопку нажимать?   -  person Justin Ko    schedule 24.09.2013


Ответы (1)


Вы можете использовать локатор :index, чтобы указать, какие из соответствующих элементов возвращаются. Например, :index => 0 вернет первый соответствующий элемент, :index => 1 вернет второй соответствующий элемент и т. д. Обратите внимание, что :index начинается с 0 (т. е. начинается с 0).

# To click the first one
browser.button(:class => class="ui-multiselect", :index => 0).click

# To click the second one
browser.button(:class => class="ui-multiselect", :index => 1).click
person Justin Ko    schedule 23.09.2013