réponse ci-dessus, personne ne frappe la cause, il n'a rien à voir avec le besoin d'attendre un élément. La cause première est que vous devez cliquer sur la zone de saisie de la ville de/à pour faire apparaître la liste des villes, puis cliquez sur la ville que vous vouliez.
Il s'agit d'un principe de conception au sélénium: un élément doit être visible, avant que le sélénium ne le clique. Le sélénium desinger espère pouvoir simuler des opérations du point de vue de l'utilisateur, car nous savons que l'utilisateur a besoin de voir la liste des villes avant de pouvoir en choisir une. Nous devons donc également faire en sorte que le sélénium «voit» la liste des villes au début.
Mais une exception, lorsque vous souhaitez sélectionner une option à partir d'un Select, vous pouvez directement cliquez sur l'option souhaitée, pas besoin de faire les options pop-up d'abord.
vous pouvez trouver une telle question du lien ci-dessous, et je donne la réponse détaillée pour cela.
Using firefox webdriver trying to load the option Name from dropdown but not working?
extrait de code pour résoudre votre problème:
driver.get("https://www.goindigo.in/");
// click 'One Way' tab
driver.findElement(By.css(".one-way-tab")).click();
// Click 'OK' on Information pop-up
driver.findElement(By.css(".buttonGlbl.btn-close")).click();
// Click 'From' city input box for 'One Way'
driver.findElement(By.css("#oneWay .origins-value.city-name-value")).click();
// Choose city 'Delhi'
driver.findElement(By.css("#oneWay .origin-city-name"))
.findElement(By.partialLinkText("Delhi"))
.click();
// Click 'To' city input box for 'One Way'
driver.findElement(By.css("#oneWay .destinations-value.city-name-value")).click();
// Choose city 'Indore'
driver.findElement(By.css("#oneWay .dest-city-name"))
.findElement(By.partialLinkText("Indore"))
.click();
Oui, vous pouvez obtenir l'erreur ElementNotVisible même si vous utilisez le sélecteur unique ... quelle est votre question? – Andersson
Je ne parviens pas à sélectionner la ville dans la liste déroulante. Je ne sais pas comment procéder – Abhishek