Как нажать кнопку редактирования, когда она определена в повторяющихся идентичных идентификаторах

У меня есть страница, где есть много кнопок редактирования. И каждая кнопка имеет один и тот же идентификатор, т.е. enable_edit_content . Как нажать на конкретную кнопку.

Это код, где я должен нажать

<div class="sub-controls" id="motion_eligibility_entry-subcontrols">
<button class="btnedit" **id="enable_edit_content"** name="button" type="button"></button>
<input class="btnsave submit_form" id="save_motions_eligibility_entry" name="commit" 
 type="submit" value="" disabled="disabled">
<button class="btnkill" id="cancel_content" name="button" type="button" 
 disabled="disabled"></button>
</div>

Любая помощь будет высоко оценена. Я пытался, но не смог получить свои результаты:-

 1)   page.all(:css, '#enable_edit_content').each_with_index do |el, i|
           i += 1
           if i == 3
                     el.click
           end
        end
 2)find(:xpath, "//div[@id='motion_eligibility_entry-subcontrols']/button[1]").click

1 ответ

Вы также можете ограничить свой CSS-селектор внутренним блоком.

within('.sub-controls) do 
  page.find('#enable_edit_content).click
end

Из-за этой самой проблемы я настоятельно рекомендую уклоняться от xpath и использовать вместо этого селекторы css!

Надеюсь это поможет.

Другие вопросы по тегам