从下拉列表中获取所有值

Min*_* Le 3 perl selenium-rc

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

my @labels = $sel->get_select_options('s');
Run Code Online (Sandbox Code Playgroud)

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

你们知道怎么做吗?

Vam*_*rni 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;
}

希望这可以帮助.