Maison > Java > javaDidacticiel > Comment basculer entre les onglets dans Selenium WebDriver lorsqu'ils partagent le même handle de fenêtre ?

Comment basculer entre les onglets dans Selenium WebDriver lorsqu'ils partagent le même handle de fenêtre ?

Patricia Arquette
Libérer: 2024-12-17 07:21:25
original
408 Les gens l'ont consulté

How to Switch Between Tabs in Selenium WebDriver When They Share the Same Window Handle?

Changer d'onglet avec Selenium WebDriver en Java

Dans Selenium WebDriver avec Java, l'automatisation d'un scénario impliquant plusieurs onglets peut poser un défi en raison de la possibilité pour eux de partager le même handle de fenêtre. Cela peut gêner les tentatives de basculement entre les onglets à l'aide de la méthode de gestion du commutateur par défaut.

Problème :

Le code fourni tente d'automatiser un processus qui inclut l'ouverture d'un nouvel onglet, effectuer des actions à l'intérieur et revenir à l'onglet d'origine (parent). Cependant, l’approche du handle de commutateur échoue car les deux onglets partagent le même handle de fenêtre. Ce problème se produit spécifiquement lorsque vous traitez des onglets dans la même fenêtre, contrairement à l'utilisation de fenêtres Firefox distinctes.

Solution :

Pour basculer efficacement entre les onglets dans de tels scénarios, le L'approche suivante peut être utilisée :

  1. Utilisez la méthode clickDocumentLink() pour ouvrir un nouveau
  2. Obtenez une liste de tous les handles de fenêtres ouvertes à l'aide de ArrayList tabs = new ArrayList (driver.getWindowHandles());.
  3. Passez au nouvel onglet en utilisant driver.switchTo().window(tabs.get(1));.
  4. Fermez le nouvel onglet avec le pilote .close();.
  5. Retournez à l'onglet parent en utilisant driver.switchTo().window(tabs.get(0));.

Exemple de code :

psdbComponent.clickDocumentLink();
ArrayList<String> tabs = new ArrayList<String> (driver.getWindowHandles());
driver.switchTo().window(tabs.get(1));
driver.close();
driver.switchTo().window(tabs.get(0));
Copier après la connexion

En respectant ces étapes, vous pouvez basculer avec succès entre les onglets même lorsqu'ils partagent le même handle de fenêtre. N'oubliez pas de basculer votre pilote vers le nouvel onglet avant de tenter toute action à l'intérieur de celui-ci.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal