11
votes

Comment utiliser une liste de sélection dans SELENIUM?

J'essaie de sélectionner un élément dans une liste de sélection dans sélénium à l'aide de Java avec la syntaxe basée sur webDriver.

J'ai la liste de sélection par p>

    elements = driver.findElements(By.xpath("//form[@action='inquiry/']/p/select[@name='myselect']"));
    if (elements.size() == 0) {
        return false;
    }
    if (guests != null) {
        //what do I do here?
    }


1 commentaires

Qu'est-ce que "invités! = null 'voulez-vous dire" éléments! = null'?


4 Réponses :


22
votes
dropDown.selectByValue(value);
or

dropDown.selectByVisibleText(text);

0 commentaires

1
votes
element = driver.findElements(By.xpath("//form[@action='inquiry/']/p/select[@name='myselect']/option[*** your criteria ***]"));
if (element != null) {
    element.click();
}
find the option, and then click it

0 commentaires

7
votes

Un peu de note latérale qui s'applique à Java:

Dans mon cas, lorsque j'écrivais le test selon l'exemple de @nileh, j'ai eu une erreur étrange que le constructeur n'est pas valide. Mon importation était la suivante: xxx

Si vous avez des erreurs similaires, vous devez corriger cette importation à ceci: xxx

Si vous utilisez cette deuxième importation, tout fonctionnera.


1 commentaires

Je ne sais pas de toi, mais personnellement, je déteste Java ayant plusieurs objets avec des noms identiques dans différents espaces de noms



0
votes

Essayez de le faire comme ceci:

// méthode pour sélectionner un élément dans la liste déroulante P>

VOI Public Void selectdropdowdropdown (String Value) { P>

    for (int i = 0; i < 2; i++) {

        JavascriptExecutor js = (JavascriptExecutor) this.getDriver();
        js.executeScript(
                "arguments[0].setAttribute('style', arguments[1]);",
                element, "color: yellow; border: 3px solid yellow;");
        js.executeScript(
                "arguments[0].setAttribute('style', arguments[1]);",
                element, "");

    }

}


0 commentaires