从下拉菜单中获取所有的值

3
我正在寻找一种方法来获取网页中下拉框的所有值和标签。 有了标签,我可以使用:
my @labels = $sel->get_select_options('s');

返回值是下拉列表中标签的数组。 然而,没有相应的方法可以获取所有值。

你们知道如何做吗?

1个回答

7
在Selenium 1中,没有直接的API可以做到这一点。但是你可以尝试以下方法。考虑下面的<select>代码: <select name="mydropdown" id="optionset">
    <option value="Milk">Fresh Milk</option>
    <option value="Cheese">Old Cheese</option>
    <option value="Bread">Hot Bread</option>
</select> 以下是Java代码片段,用于检索值。您可以从此片段获取逻辑并在Perl中实现它。
int no_of_options = selenium.getSelectOptions("//select[@id='optionset']").length
String option_values[] = new String[no_of_options];
for (int i=0;i<no_of_options;i++){
   String value = selenium.getAttribute("//select[@id='optionset']/option["+i+"]/@value");
   option_values[i] = value;
}
希望这能帮到你。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接