Я сделал несколько поисков и не могу найти подходящий ответ. В основном, у меня есть неупорядоченный список, который может быть разной длины. Я хочу выполнить итерацию по списку, сделать несколько других действий, а затем вернуться и выбрать следующий пункт списка. Я могу сделать это отлично, когда определяю количество раз, которое мой цикл должен выполнить итерацию, т.к. я знаю количество элементов в списке.
Однако я не хочу определять это для каждого теста, я хочу взять количество элементов в списке, а затем всплыть в переменную, которую я могу использовать, чтобы выйти из цикла и сделать следующее, что я хочу.
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
Но не с webdriver.
Я думал, что могу использовать 'lis', но получил результат Hex:
$bob = browser.ul(:id => "PageContent_cat").lis. ставит $bob
Спасибо,
Пол