我做了一些搜索,但我找不到合适的答案.基本上我有一个无序列表,可以有不同的长度.我想遍历列表,做一些其他的事情然后回来并选择列表中的下一个项目.当我定义循环应该迭代的次数时,我可以做到这一点,因为我知道列表中的项目数量.
但是我不想为每个测试定义这个,我想获取列表中的项目数,然后将其弹出到一个变量中,我可以用它来退出循环并执行下一个我想要的操作.
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>
Run Code Online (Sandbox Code Playgroud)
所以我可以看到列表中有7个项目.显然在watir我可以使用以下内容:
arr = ie.select_list(:name,'lr').getAllContents.to_a
但不是用webdriver.
我以为我可以使用'lis',但我只得到一个Hex结果:
$ bob = browser.ul(:id =>"PageContent_cat").lis put $ bob
谢谢,
保罗