Nous travaillons avec Selenium webdriver pour les tests d'interface utilisateur pour Internet Explorer 11. Dans l'application Web de test, plusieurs écrans apparaissent. Dans certains tests, nous nous sommes retrouvés avec trois fenêtres de navigateur et donc trois Driver.WindowHandles. Pour passer d'un WindowHandle à un autre, nous nous attendons à ce que Driver.WindowHandles soit trié avec la fenêtre la plus ancienne en premier et la fenêtre la plus récente en dernier. Mais ce n’est pas le cas : c’est complètement aléatoire !
Parce que windowhandle est un GUID, nous finissons par créer un dictionnaire avec le GUID WindowHandle comme clé et la valeur comme valeur pour le type de page chargé dans la fenêtre du navigateur. Mais cela entraînera également la maintenance du dictionnaire lorsque la fenêtre est fermée.
Cela semble demander beaucoup de travail pour une chose aussi simple. Existe-t-il une meilleure solution ?
Vous avez tout à fait raison :
Dans une discussion, Simon a clairement mentionné :
Nous augmenterons donc
WebDriverWait
,然后每次打开新选项卡/窗口时收集窗口句柄,最后迭代窗口句柄和switchTo().window(newly_opened)
selon les besoins :Java :
Sortie console :
Autres
Vous pouvez trouver des discussions basées sur python sur Ouvrir Web Selenium + Python dans un nouvel onglet p>