selenium-webdriver
Interagire con le finestre del browser
Ricerca…
Gestire la finestra attiva
C #
Massimizzare la finestra
driver.Manage().Window.Maximize();
Questo è abbastanza semplice, assicura che la nostra finestra attualmente attiva sia massimizzata.
Posizione della finestra
driver.Manage().Window.Position = new System.Drawing.Point(1, 1);
Qui essenzialmente spostiamo la finestra attualmente attiva in una nuova posizione. Nel Point
oggetto forniamo x
ed y
coordinate; questi vengono quindi utilizzati come offset dall'angolo in alto a sinistra dello schermo per determinare dove posizionare la finestra. Nota che puoi anche memorizzare la posizione della finestra in una variabile:
System.Drawing.Point windowPosition = driver.Manage().Window.Position;
Dimensione della finestra
L'impostazione e il recupero delle dimensioni della finestra utilizzano la stessa sintassi della posizione:
driver.Manage().Window.Size = new System.Drawing.Size(100, 200);
System.Drawing.Size windowSize = driver.Manage().Window.Size;
URL della finestra
Possiamo ottenere l'URL corrente della finestra attiva:
string url = driver.Url;
Possiamo anche impostare l'URL per la finestra attiva, che consentirà al conducente di navigare verso il nuovo valore:
driver.Url = "http://stackoverflow.com/";
Maniglie per finestre
Possiamo ottenere l'handle per la finestra corrente:
string handle = driver.CurrentWindowHandle;
E possiamo ottenere le maniglie per tutte le finestre aperte:
IList<String> handles = driver.WindowHandles;
Pitone
Massimizzare la finestra
driver.maximize_window()
Ottieni la posizione della finestra
driver.get_window_position() # returns {'y', 'x'} coordinates
Imposta la posizione della finestra
driver.set_window_position(x, y) # pass 'x' and 'y' coordinates as arguments
Ottieni dimensioni della finestra
driver.get_window_size() # returns {'width', 'height'} values
Imposta la dimensione della finestra
driver.set_window_size(width, height) # pass 'width' and 'height' values as arguments
Titolo della pagina corrente
driver.title
URL corrente
driver.current_url
Maniglie per finestre
driver.current_window_handle
Elenco delle finestre attualmente aperte
driver.window_handles
Chiusura della finestra del browser corrente
Passa alla nuova scheda aperta. Chiudi le finestre correnti (in questo caso la nuova scheda). Torna alla prima finestra.
GONIOMETRO:
browser.getAllWindowHandles().then(function (handles) {
browser.driver.switchTo().window(handles[1]);
browser.driver.close();
browser.driver.switchTo().window(handles[0]);
});
Selenio JAVA:
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));
Gestire più finestre
Pitone
Scenario più comunemente usato:
- apri la pagina in una nuova finestra
- passare ad esso
- fare qualcosa
- chiudilo
- torna alla finestra principale
# 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'