有没有办法使用Watir按项目编号从dro下拉列表中选择项目?也就是说,在使用SelectList
时,option()
除value
和text
之外还有其他任何内容吗?
我正在尝试在网页上运行一个进程,我在其中选择下拉列表中的第一个项目,执行操作,转到第二个项目,再次执行操作等。此下拉列表已结束700个选项!
这是HTML的样子:
<SELECT NAME="sl" SIZE="1">
<option value=""> </OPTION>
<option value="abq">Abaza</option>
<option value="abk">Abkhazian</option>
...
<option value="zun">Zuni</option>
</SELECT>
SelectList
文档建议如下:
b.select_list(:name => 'sl').select_value("abq")
问题是如何进入下一个值?接下来的700?有没有办法按项目编号选择?或者将值提取到数组中然后循环它们?
谢谢!
答案 0 :(得分:0)
如果要通过文本或值以外的任何内容选择选项元素,可以直接找到并选择元素。例如,相当于使用select_value
方法:
b.select_list(:name => 'sl').option(value: 'abq').click
您可以使用常用的定位器。要选择第二个选项,您可以使用:index
定位器(请注意它是从0开始的):
b.select_list(:name => 'sl').option(index: 1).click
请注意,如果您想迭代每个选项,使用其中一个Enumerable方法进行循环可能更有意义。这可以消除担心索引的需要。但是,根据您计划采取的其他行动,可能无法正常工作。
b.select_list(:name => 'sl').options.each do |option|
option.click
# Do other actions
end