selenium-webdriver
Interaktion mit den Browserfenstern
Suche…
Aktives Fenster verwalten
C #
Maximierung des Fensters
driver.Manage().Window.Maximize();
Dies ist ziemlich einfach und stellt sicher, dass unser derzeit aktives Fenster maximiert wird.
Position des Fensters
driver.Manage().Window.Position = new System.Drawing.Point(1, 1);
Hier verschieben wir im Wesentlichen das gerade aktive Fenster an eine neue Position. Im Point
Objekt stellen wir x
und y
-Koordinaten bereit. Diese werden dann als Versatz von der oberen linken Ecke des Bildschirms verwendet, um zu bestimmen, wo das Fenster platziert werden soll. Beachten Sie, dass Sie die Fensterposition auch in einer Variablen speichern können:
System.Drawing.Point windowPosition = driver.Manage().Window.Position;
Größe des Fensters
Das Festlegen und Abrufen der Fenstergröße verwendet dieselbe Syntax wie die Position:
driver.Manage().Window.Size = new System.Drawing.Size(100, 200);
System.Drawing.Size windowSize = driver.Manage().Window.Size;
URL des Fensters
Wir können die aktuelle URL des aktiven Fensters erhalten:
string url = driver.Url;
Wir können auch die URL für das aktive Fenster festlegen, wodurch der Treiber zum neuen Wert navigiert:
driver.Url = "http://stackoverflow.com/";
Fenstergriffe
Wir können das Handle für das aktuelle Fenster erhalten:
string handle = driver.CurrentWindowHandle;
Und wir können die Griffe für alle offenen Fenster erhalten:
IList<String> handles = driver.WindowHandles;
Python
Maximierung des Fensters
driver.maximize_window()
Holen Sie sich die Position des Fensters
driver.get_window_position() # returns {'y', 'x'} coordinates
Position des Fensters einstellen
driver.set_window_position(x, y) # pass 'x' and 'y' coordinates as arguments
Holen Sie sich die Größe des Fensters
driver.get_window_size() # returns {'width', 'height'} values
Größe des Fensters einstellen
driver.set_window_size(width, height) # pass 'width' and 'height' values as arguments
Aktueller Seitentitel
driver.title
Aktuelle URL
driver.current_url
Fenstergriffe
driver.current_window_handle
Liste der aktuell geöffneten Fenster
driver.window_handles
Das aktuelle Browserfenster schließen
Wechseln Sie zu der neu geöffneten Registerkarte. Schließen Sie die aktuellen Fenster (in diesem Fall die neue Registerkarte). Wechseln Sie wieder zum ersten Fenster.
WINKELMESSER:
browser.getAllWindowHandles().then(function (handles) {
browser.driver.switchTo().window(handles[1]);
browser.driver.close();
browser.driver.switchTo().window(handles[0]);
});
JAVA-Selen:
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));
Behandeln Sie mehrere Fenster
Python
Meistens verwendetes Szenario:
- Seite in neuem Fenster öffnen
- wechseln Sie dazu
- etwas tun
- Schließe es
- zurück zum übergeordneten Fenster wechseln
# 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'