Я сделал несколько поисков, и я не могу найти подходящий ответ. В основном у меня есть неупорядоченный список, который может быть разной длины. Я хочу перебрать список, сделать что-то еще, а затем вернуться и выбрать следующий элемент в списке. Я могу сделать это нормально, когда я определяю, сколько раз мой цикл должен повторяться, поскольку я знаю количество элементов в списке.
Однако я не хочу определять это для каждого теста, я хочу получить количество элементов в списке, а затем вставить его в переменную, которую я могу использовать для выхода из цикла и выполнения следующего действия, которое я хочу.
HTML такой:
<ul id="PageContent_cat">
<li class="sel">
<a target="_self" href="/searchlocation.aspx?c=S1">S1</a>
</li>
<li>
<a target="_self" href="/searchlocation.aspx?c=S2">S2</a>
</li>
<li>
<a target="_self" href="/searchlocation.aspx?c=S3">S3</a>
</li>
<li>
<a target="_self" href="/searchlocation.aspx?c=S4">S4</a>
</li>
<li>
<a target="_self" href="/searchlocation.aspx?c=S5">S5</a>
</li>
<li>
<a target="_self" href="/searchlocation.aspx?c=S6">S6</a>
</li>
<li>
<a target="_self" href="/searchlocation.aspx?c=S7">S7</a>
</li>
</ul>
Итак, я вижу, что в списке 7 элементов. По-видимому, в watir я мог бы использовать что-то следующее:
arr= ie.select_list(:name,'lr').getAllContents.to_a
Но не с вебдрайвером.
Я думал, что мог бы использовать «lis», но я просто получаю результат Hex:
$bob = browser.ul(:id => "PageContent_cat").lis помещает $bob
Спасибо,
Павел