2011-05-19 129 views
3

我試圖找到一種方法從網頁中的下拉列表中獲取所有值和標籤。 有了標籤,我可以使用:獲取下拉列表中的所有值

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

返回值是下拉標籤的陣列。 但是,沒有獲得所有值的等價方法。

你們知道怎麼做嗎?

回答

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; 
} 

希望這有助於。

+0

謝謝,它的工作原理。 – 2011-05-19 15:23:14

+0

很好的例子! – rs79 2011-05-19 18:22:11