selenium-webdriver
Interaction avec la ou les fenêtres du navigateur
Recherche…
Gestion de la fenêtre active
C #
Maximiser la fenêtre
driver.Manage().Window.Maximize();
Ceci est assez simple, garantit que notre fenêtre active est maximisée.
Position de la fenêtre
driver.Manage().Window.Position = new System.Drawing.Point(1, 1);
Ici, nous déplaçons essentiellement la fenêtre actuellement active vers une nouvelle position. Dans l'objet Point
, nous fournissons les x
et y
; ceux-ci sont ensuite utilisés comme décalages du coin supérieur gauche de l'écran pour déterminer où la fenêtre doit être placée. Notez que vous pouvez également stocker la position de la fenêtre dans une variable:
System.Drawing.Point windowPosition = driver.Manage().Window.Position;
Taille de la fenêtre
Définir et obtenir la taille de la fenêtre utilise la même syntaxe que la position:
driver.Manage().Window.Size = new System.Drawing.Size(100, 200);
System.Drawing.Size windowSize = driver.Manage().Window.Size;
URL de la fenêtre
Nous pouvons obtenir l'URL actuelle de la fenêtre active:
string url = driver.Url;
Nous pouvons également définir l'URL de la fenêtre active, ce qui fera naviguer le pilote vers la nouvelle valeur:
driver.Url = "http://stackoverflow.com/";
Poignées de fenêtre
Nous pouvons obtenir le handle pour la fenêtre en cours:
string handle = driver.CurrentWindowHandle;
Et nous pouvons obtenir les poignées pour toutes les fenêtres ouvertes:
IList<String> handles = driver.WindowHandles;
Python
Maximiser la fenêtre
driver.maximize_window()
Obtenir la position de la fenêtre
driver.get_window_position() # returns {'y', 'x'} coordinates
Définir la position de la fenêtre
driver.set_window_position(x, y) # pass 'x' and 'y' coordinates as arguments
Obtenir la taille de la fenêtre
driver.get_window_size() # returns {'width', 'height'} values
Définir la taille de la fenêtre
driver.set_window_size(width, height) # pass 'width' and 'height' values as arguments
Titre de la page en cours
driver.title
URL actuelle
driver.current_url
Poignées de fenêtre
driver.current_window_handle
Liste des fenêtres actuellement ouvertes
driver.window_handles
Fermer la fenêtre du navigateur en cours
Passez au nouvel onglet ouvert. Fermez les fenêtres actuelles (dans ce cas, le nouvel onglet). Revenez à la première fenêtre.
RAPPORTEUR:
browser.getAllWindowHandles().then(function (handles) {
browser.driver.switchTo().window(handles[1]);
browser.driver.close();
browser.driver.switchTo().window(handles[0]);
});
JAVA Selenium:
Set<String> handlesSet = driver.getWindowHandles();
List<String> handlesList = new ArrayList<String>(handlesSet);
driver.switchTo().window(handlesList.get(1));
driver.close();
driver.switchTo().window(handlesList.get(0));
Manipuler plusieurs fenêtres
Python
Scénario le plus couramment utilisé:
- ouvrir la page dans une nouvelle fenêtre
- passer à elle
- faire quelque chose
- Ferme le
- revenir à la fenêtre parente
# Open "Google" page in parent window
driver.get("https://google.com")
driver.title # 'Google'
# Get parent window
parent_window = driver.current_window_handle
# Open "Bing" page in child window
driver.execute_script("window.open('https://bing.com')")
# Get list of all windows currently opened (parent + child)
all_windows = driver.window_handles
# Get child window
child_window = [window for window in all_windows if window != parent_window][0]
# Switch to child window
driver.switch_to.window(child_window)
driver.title # 'Bing'
# Close child window
driver.close()
# Switch back to parent window
driver.switch_to.window(parent_window)
driver.title # 'Google'