2011-05-19 4 views
3

J'essaie de trouver un moyen d'obtenir toutes les valeurs et étiquettes à partir de la liste déroulante dans la page Web. Avec étiquette, je pourrais utiliser:Obtenir toutes les valeurs de la liste déroulante

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

Valeur de retour est un tableau de étiquette déroulante. Cependant, il n'y a pas de méthode équivalente pour obtenir toutes les valeurs.

Est-ce que vous savez comment faire?

Répondre

7

En ce qui concerne le sélénium 1, il n'y a pas d'API directe pour cela. Cependant vous pourriez essayer ceci. Considérons un <select> comme ci-dessous.
<select name="mydropdown" id="optionset">
        <option value="Milk">Fresh Milk</option>
        <option value="Cheese">Old Cheese</option>
        <option value="Bread">Hot Bread</option>
</select>

est Ci-dessous l'extrait de code en Java pour récupérer les valeurs. Vous pouvez obtenir la logique de cet extrait et l'implémenter en 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; 
} 

Espérons que cela aide.

+0

Merci, cela fonctionne. –

+0

Bon exemple !!! – rs79

Questions connexes