2 votes

Comment puis-je renvoyer toutes les options de la liste déroulante ?

Je veux retourner toutes les options du menu déroulant

Code HTML :

<select class="custom-select ng-pristine ng-untouched ng-valid ng-not-empty" ng-model="Air.Class" aria-invalid="false">
    <option value="0">All</option>
    <option value="F">First Class</option>
    <option value="C">Business Class</option>
    <option value="Y">Economy</option>
    <option value="W">Economy Premium</option>
    <option value="M">Economy Standard</option>
</select>

Code :

public List<WebElement> ddgetOpt(WebElement a) {
    Select drp = new Select (a);
    List<WebElement> opt = drp.getOptions();
    for (WebElement we : opt) {
        String name = we.getText();
    }
    return opt;
}

Mais il ne renvoie pas les options du menu déroulant...

J'ai essayé d'utiliser la fonction name également, mais elle ne renvoie que le dernier élément du menu déroulant

2voto

Guy Points 16347

Vous devez ajouter les textes à une nouvelle liste et la renvoyer

public List<String> ddgetOpt(WebElement a) {
    Select drp = new Select (a);
    List<WebElement> opt = drp.getOptions();
    List<String> texts = new ArrayList<>();
    for (WebElement we : opt) {
        texts.add(we.getText());
    }
    return texts;
}

0voto

Ledjon Points 105

La méthode suivante récupère un élément web de type liste déroulante et renvoie toutes ses options sous la forme d'une liste de chaînes de caractères.

public List<String> getDropDownOptions(WebElement e) {
                    e.click();
                    Select select = new Select(e);

            return select.getOptions().stream().map(WebElement::getText).collect(Collectors.toList());
        }

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X