Dans le contexte de l'automatisation Web, la sélection de valeurs dans des listes déroulantes dynamiques peut être une tâche ardue. Prenez, par exemple, le champ Sujets du formulaire disponible sur https://demoqa.com/automation-practice-form. Ce champ de saisie présente dynamiquement des suggestions basées sur les saisies de l'utilisateur, et le défi réside dans la sélection de la valeur souhaitée parmi ces suggestions.
Une approche courante consiste à s'appuyer sur l'ID de l'élément et la méthode sendKeys() pour remplir le champ de saisie. . Cependant, cela seul ne suffit pas pour sélectionner la valeur. L'extrait de code fourni dans la question, tout en remplissant la zone de saisie, ne parvient pas à sélectionner la valeur.
Pour surmonter ce problème, nous devons adopter une stratégie plus globale. La solution, comme démontré dans la réponse fournie, implique l'utilisation des touches fléchées (Keys.ARROW_DOWN) et de la touche Entrée (Keys.ENTER). Voici une répartition du code mis à jour :
WebDriver Driver = new ChromeDriver(); Driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS); String url = "https://demoqa.com/automation-practice-form"; Driver.get(url); WebElement products = Driver.findElement(By.id("subjectsInput")); products.sendKeys("English"); products.sendKeys(Keys.ARROW_DOWN); products.sendKeys(Keys.ENTER);
Ce code affiné effectue les actions suivantes :
En incorporant ces frappes, le code sélectionne avec succès la valeur souhaitée dans la liste déroulante dynamique, garantissant une automatisation précise et efficace des tests.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!