Le sélénium plusieurs onglets à la fois
Je suis en train de travailler avec le Sélénium, et je me demande si il est possible d'utiliser plusieurs ONGLETS à la fois? Je ne veux pas utiliser plusieurs instances de navigateur (c'est à dire, 2 exemplaires de IE jeu de mots). SI IL n'EST PAS possible, comment peut-on aller sur le passage entre les différents onglets, qui exécutent séquentiellement?
Merci!
OriginalL'auteur Trevor Tiernan | 2013-08-09
Vous devez vous connecter pour publier un commentaire.
Si il y a un lien qui ouvre une nouvelle fenêtre/onglet, vous pouvez utiliser
driver.switchTo().window();
Toutefois, si vous voulez faire quelque chose sur les fenêtres multiples, alors je vous recommande d'avoir plusieurs instances de webdriver. Il est beaucoup plus facile à gérer, et est pris en charge (Il y a des solutions de contournement sur l'ouverture d'un nouvel onglet/fenêtre, par exemple en appuyant sur une touche de raccourci qui ouvre une nouvelle fenêtre, mais ils ne sont pas pris en charge).
Si vous êtes désireux d'avoir plusieurs threads agissent tous sur la même instance de pilote, mais les différents onglets, qui n'est PAS possible.
Vous devez obtenir les poignées de fenêtre à l'aide du pilote.getWindowHandles(). Vous pouvez alors parcourir le windows et tester l'URL ou le titre assurez-vous que celui que vous voulez.
Je pense que j'ai besoin d'un peu plus d'un exemple. Je suis à l'aide de C#. Je pense que cela pourrait être de java..
Yep, son langage de programmation java. Je ne sais pas ce qu'il serait en C#, mais ils sont généralement nommés de la même façon.
Plusieurs threads agissant sur la même instance de pilote EST possible avec zeroMQ - thread zeroMQ envoie une demande au pilote du processus de zeroMQ serveur qui agit alors sur la fenêtre ou l'onglet désiré. Autant de threads que vous le souhaitez.
OriginalL'auteur Nathan Merrill
Il est possible de basculer entre les onglets sans avoir plusieurs instances de navigateur.
Il y a une différence comment web pilote gère les différents windows et comment il gère les différents onglets.
Cas 1:
Dans le cas où il existe plusieurs fenêtres, puis le code suivant peut aider:
Cas 2:
Dans le cas où il y a plusieurs onglets dans la même fenêtre, puis il ya seulement une poignée de la fenêtre. D'où la commutation entre les poignées de fenêtre conserve la maîtrise dans le même onglet.
Dans ce cas, à l'aide de Ctrl + \t (Ctrl + Tab) pour basculer entre les onglets est plus utile.
Détaillée de l'échantillon de code peut être trouvé ici:
http://design-interviews.blogspot.com/2014/11/switching-between-tabs-in-same-browser-window.html
OriginalL'auteur Sourabh
D'ouvrir plusieurs onglets:
Swich entre eux:
OriginalL'auteur Marisco
si vous êtes désireux d'exécuter le multıple wındows dans le même temps, l'utilisation de thread avec plusieurs instances de IWebDriver
EX:
et appeler la fonction comme ceci:
OriginalL'auteur Yahya Hussein
Essayer avec le code ci-dessous.
OriginalL'auteur Rupam Dhar