Watir Webdriver подсчитывает количество элементов в списке UL

Я сделал несколько поисков и не могу найти подходящий ответ. В основном, у меня есть неупорядоченный список, который может быть разной длины. Я хочу выполнить итерацию по списку, сделать несколько других действий, а затем вернуться и выбрать следующий пункт списка. Я могу сделать это отлично, когда определяю количество раз, которое мой цикл должен выполнить итерацию, т.к. я знаю количество элементов в списке.

Однако я не хочу определять это для каждого теста, я хочу взять количество элементов в списке, а затем всплыть в переменную, которую я могу использовать, чтобы выйти из цикла и сделать следующее, что я хочу.

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

Спасибо,

Пол

9
задан Paul Coles 30 August 2011 в 15:27
поделиться