我正在尝试找到一种方法来从网页的下拉列表中获取所有值和标签。 有了标签,我可以使用:
my @labels = $sel->get_select_options('s');
返回值是下拉列表中的标签数组。 但是,没有获得所有值的等效方法。
你们知道怎么做吗?
答案 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; }
希望这有帮助。