J'ai utilisé Firefox Driver pour ouvrir deux URL. Chaque fois que j'appelle le pilote, une nouvelle fenêtre firefox est ouverte. Je dois basculer entre ces deux fenêtres. Comment puis-je faire ceci?Basculer entre deux fenêtres de navigateur en utilisant Selenium WebDriver
9
A
Répondre
19
vous pouvez utiliser le code ci-dessous pour basculer entre les fenêtres sur la base du titre de la fenêtre
private void handleMultipleWindows(String windowTitle) {
Set<String> windows = driver.getWindowHandles();
for (String window : windows) {
driver.switchTo().window(window);
if (driver.getTitle().contains(windowTitle)) {
return;
}
}
}
similairement vous pouvez utiliser l'URL ou d'autres critères pour changer de fenêtre.
2
J'ai également ajouté la possibilité de revenir à mainWindowHandle.
Vous pouvez essayer d'utiliser la fonction ci-dessous à condition de manipuler des fenêtres avec des titres différents.
private String mainWindowsHandle; // Stores current window handle
public static boolean swithToWindow(WebDriver driver,String title){
mainWindowsHandle = driver.getWindowHandle();
Set<String> handles = driver.getWindowHandles(); // Gets all the available windows
for(String handle : handles)
{
driver.switchTo().window(handle); // switching back to each window in loop
if(driver.getTitle().equals(title)) // Compare title and if title matches stop loop and return true
return true; // We switched to window, so stop the loop and come out of funcation with positive response
}
driver.switchTo().window(mainWindowsHandle); // Switch back to original window handle
return false; // Return false as failed to find window with given title.
}
Questions connexes
- 1. Selenium (WebDriver) Junit 4 commutation entre les fenêtres problème
- 2. Gestion de plusieurs fenêtres dans Selenium Webdriver
- 3. Comment communiquer entre deux fenêtres de navigateur?
- 4. WebDriver: basculer entre les pilotes
- 5. Communication entre deux fenêtres de navigateur Web
- 6. Initier une connexion entre deux fenêtres de navigateur en Javascript
- 7. Comment basculer facilement entre Webrat et Selenium?
- 8. Navigateur Firefox 20 support selenium-webdriver
- 9. CLick étiquette UL en utilisant Selenium WEBdriver
- 10. Authentification Facebook en utilisant Selenium WebDriver
- 11. Basculer entre deux UITabBarController?
- 12. Basculer entre deux NSWindows
- 13. Communication entre deux fenêtres de navigateur: popup et parent
- 14. Intégration de Selenium Webdriver avec Hudson - Impossible d'ouvrir le navigateur
- 15. Comment automatiser une application de discussion en utilisant Selenium/Webdriver?
- 16. Selenium Webdriver - Différence entre les attentes
- 17. set zoomfactor dans phantomjs + Webdriver Selenium en utilisant JAVA
- 18. Automatisation des tâches mainframe en utilisant Selenium WebDriver/JAVA
- 19. Comment accepter l'addon 'sigplusweb' en utilisant selenium WebDriver
- 20. Basculer entre deux scènes iOS
- 21. Comment obtenir le browser sessionId en utilisant Selenium webdriver
- 22. Gestion de plusieurs cookies de domaine en utilisant selenium webdriver
- 23. basculer entre deux Formulaire en C#?
- 24. Comment obtenir des messages d'erreur de la console du navigateur en utilisant Selenium WebDriver + Java?
- 25. Comment maximiser une fenêtre de navigateur en utilisant les liaisons Python pour Selenium 2-WebDriver?
- 26. Commutation entre les images dans Selenium 2 avec PHP-Webdriver
- 27. osx basculer entre deux vues
- 28. Comment basculer entre deux tableaux
- 29. ne peut pas exécuter CHROME en utilisant selenium webdriver remote
- 30. Basculer entre deux compteurs jQuery
Merci, cela a fonctionné pour moi. :) –
moi aussi! très bonne méthode pour le faire – sircapsalot