从下拉列表中获取所有值

时间:2011-05-19 13:15:46

标签: perl selenium-rc

我正在尝试找到一种方法来从网页的下拉列表中获取所有值和标签。 有了标签,我可以使用:

my @labels = $sel->get_select_options('s');

返回值是下拉列表中的标签数组。 但是,没有获得所有值的等效方法。

你们知道怎么做吗?

1 个答案:

答案 0 :(得分: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;
}

希望这有帮助。