web-dev-qa-db-fra.com

Comment sélectionner une valeur de liste déroulante dans Selenium WebDriver à l'aide de Java

je suis nouveau dans Selenium, je travaille actuellement sur Selenium Webdriver et je souhaite sélectionner une valeur dans la liste déroulante . L'id = periodId et plusieurs options sont en cours dans cette tentative de sélection des 52 dernières semaines.

Voici le tag HTML:

<select id="periodId" name="period" style="display: none;">
    <option value="l4w">Last 4 Weeks</option>
    <option value="l52w">Last 52 Weeks</option>
    <option value="daterange">Date Range</option>
    <option value="weekrange">Week Range</option>
    <option selected="" value="monthrange">Month Range</option>
    <option value="yeartodate">Year To Date</option>
</select>

S'il vous plaît, suggérez-moi un moyen de cliquer sur le menu déroulant.

J'ai essayé avec les exemples de lignes ci-dessus mais j'obtiens une erreur telle que l'élément n'est pas visible et ne peut donc pas interagir avec Durée de la commande ou délai d'attente: 32 millisecondes Les valeurs déroulantes sont au format jQuery multiselect

40
Amirdha

Si vous voulez écrire tout en une ligne, essayez

new Select (driver.findElement(By.id("designation"))).selectByVisibleText("Programmer ");
5
SamK

En fait, select sélectionne mais ne place pas les valeurs sélectionnées dans le champ respectif. Où s'est demandé l'extrait ci-dessous fonctionne parfaitement 

driver.findElement(By.name("period")).sendKeys("Last 52 Weeks");
3
user5027588

Comme indiqué ci-dessus, nous devons implémenter Select Class dans Selenium. Nous pouvons également utiliser diverses méthodes telles que:enter image description here

3
AugustRush

code pour sélectionner la liste déroulante

Select select = new Sélectionnez (driver.findElement (By.xpath ("// select [@ id = 'periodId'])));

code pour sélectionner une option particulière

select.selectByVisibleText (52 dernières semaines);

0
Mohan Kumar Dg

Vous pouvez utiliser les méthodes suivantes pour gérer les menus déroulants dans Selenium.

  1. driver.selectByVisibleText ("Text");
  2. driver.selectByIndex (1);
  3. driver.selectByValue ("prog");

Pour plus de détails, vous pouvez consulter http://www.codealumni.com/handle-drop-Selenium-webdriver/ this post.

Cela vous aidera certainement beaucoup à résoudre vos questions. 

0
Jayant Gupta