Le sélénium ChromeDriver changer d'onglet
Quand je clique sur un lien dans mon test, il ouvre un nouvel onglet.
Je veux ChromeDriver pour ensuite se concentrer sur cet onglet. J'ai essayé le code suivant pour obtenir ChromeDriver de changer de tabas en utilisant le raccourci ctrl+tab:
Actions builder = new Actions(driver);
builder.KeyDown(Keys.Control).KeyDown(Keys.Tab).KeyUp(Keys.Tab).KeyUp(Keys.Control);//switch tabs
IAction switchTabs = builder.Build();
switchTabs.Perform();
Mais cela lève l'exception suivante:
ekmLiveChat.tests.UITests.EndToEndTest.EndToEnd:
System.ArgumentException : key must be a modifier key (Keys.Shift, Keys.Control, or Keys.Alt)
Parameter name: key
Est-il un moyen pour changer d'onglet à l'aide de ChromeDriver?
Juste deviner ici: Le nouvel onglet est une nouvelle fenêtre, qui est, vous pouvez le trouver dans le pilote.SwitchTo().Fenêtre(manche). Alors, bien sûr, vous devez utiliser une condition pour la trouver.
OriginalL'auteur Lisa Young | 2012-05-11
Vous devez vous connecter pour publier un commentaire.
Comme mentionné dans mon commentaire sur ton post, je ne suis pas sûr si le Chrome pilote gère les onglets de la même manière qu'il traite de windows.
Ce code fonctionne dans Firefox lors de l'ouverture de nouvelles fenêtres, donc j'espère que cela fonctionne dans votre cas:
(J'espère que mes modifications sur le code pour cette réponse n'introduit pas d'erreurs,...)
Assurez-vous de ne pas commencer à regarder pour le nouvel onglet avant le Chrome a eu la chance de l'ouvrir 🙂
OriginalL'auteur Torbjörn Kalin
C'est ce qui a fonctionné pour moi:
OriginalL'auteur DevDav
Après un long combat avec ce que j'étais capable de le faire fonctionner avec chrome pilote. Le message d'alerte n'est pas visible, mais apporte de la languette à l'avant et à l'accepter il se ferme immédiatement.
OriginalL'auteur Henry Wood
En C#, j'ai utilisé les lignes ci-dessous pour basculer entre les deux onglet.
OriginalL'auteur mani kandan