Comment puis-je changer le focus à un nouveau popup onglet en Sélénium?
Je suis en utilisant le Sélénium et Firefox.
J'ai un lien sur une page (dire linkA) qui ouvre une nouvelle page dans un nouvel onglet. Le nouvel onglet s'affiche lorsque linkA est cliqué. Je veux interagir avec les nouvelle page.
Voici mon sélénium script:
- cliquez sur linkA
- pause 5000
- selectWindow Titre
- cliquez sur linkB (note: linkB est sur la nouvelle page)
Sélénium ne peut pas identifier le nouvel onglet. Il rapporte:
[avertir] Lien de la cible '_blank', ce qui n'est pas pris en charge dans le Sélénium! La randomisation des cibles à: selenium_blank24003
Est-il une manière de dire que le Sélénium pour interagir avec l'onglet affiché?
- Avez-vous ce résolu?
Vous devez vous connecter pour publier un commentaire.
Avez-vous essayez d'ajouter un windowFocus entre selectWindow et cliquez sur linkB?
Edit:
selectWindow prend un Javascript windowID. Est-ce que votre linkA spécifier un windowID pour le Sélénium d'accès?
Ici est l'ensemble de la première page de test (t1.html), dans la fenêtre.appel ouvert le 2ème paramètre est 'WindowTest", c'est le javascript windowID que le sélénium recherche.
Voici la deuxième page de test (t2.html):
L'exécution de votre script se termine avec la fenêtre pop-up sur t1.html
Mon script
hi essayer celui-ci ..
Il a travaillé pour moi.
Voici les étapes que j'ai pris pour Selenium IDE:
getEval | ce.page().findElement ("lien=cliquez ici").removeAttribute ("cible")||
storeEval | ce.page().findElement ("lien=cliquez ici").href | myUrl
getEval | ce.page().findElement ("lien=cliquez ici").href=”javascript:window.open(‘${myUrl}’,'mafenêtre’)” ||
clic | lien=cliquez ici ||
pause | 1000 ||
selectWindow | nom=mafenêtre ||
lericain59 est m'a envoyé dans la bonne direction, même si j'ai dû faire quelques modifications pour que ça marche avec ma version de selenium IDE (je suis en cours d'exécution 1.0.6). Aussi, pour mes fins, je n'ai pas besoin de vérifier, si bien qu'il a ouvert dans une fenêtre séparée, seulement que c'était l'ouverture de la fenêtre correcte.
Voici le script qui a fonctionné pour moi.
cette.page() ne fonctionne pas. Il semble avoir été remplacée par la présente.browserbot. Aussi, je viens d'ouvrir directement la page, il évite un manuel de pause et a moins d'étapes.
Simplement utiliser ce code.