selenium-webdriver
Interactuando con la (s) ventana (s) del navegador
Buscar..
Gestionando la ventana activa
DO#
Maximizando la ventana
driver.Manage().Window.Maximize();
Esto es bastante sencillo, asegura que nuestra ventana activa actual se maximiza.
Posición de la ventana
driver.Manage().Window.Position = new System.Drawing.Point(1, 1);
Aquí esencialmente movemos la ventana actualmente activa a una nueva posición. En el objeto Point
proporcionamos coordenadas x
e y
; Estos se usan luego como compensaciones desde la esquina superior izquierda de la pantalla para determinar dónde se debe colocar la ventana. Tenga en cuenta que también puede almacenar la posición de la ventana en una variable:
System.Drawing.Point windowPosition = driver.Manage().Window.Position;
Tamaño de la ventana
La configuración y obtención del tamaño de la ventana utiliza la misma sintaxis que la posición:
driver.Manage().Window.Size = new System.Drawing.Size(100, 200);
System.Drawing.Size windowSize = driver.Manage().Window.Size;
URL de la ventana
Podemos obtener la URL actual de la ventana activa:
string url = driver.Url;
También podemos establecer la URL para la ventana activa, lo que hará que el controlador navegue al nuevo valor:
driver.Url = "http://stackoverflow.com/";
Manijas de ventana
Podemos obtener el manejador para la ventana actual:
string handle = driver.CurrentWindowHandle;
Y podemos obtener las asas para todas las ventanas abiertas:
IList<String> handles = driver.WindowHandles;
Pitón
Maximizando la ventana
driver.maximize_window()
Obtener la posición de la ventana
driver.get_window_position() # returns {'y', 'x'} coordinates
Establecer posición de la ventana
driver.set_window_position(x, y) # pass 'x' and 'y' coordinates as arguments
Obtener el tamaño de la ventana.
driver.get_window_size() # returns {'width', 'height'} values
Establecer tamaño de la ventana
driver.set_window_size(width, height) # pass 'width' and 'height' values as arguments
Título de la página actual
driver.title
URL actual
driver.current_url
Manijas de ventana
driver.current_window_handle
Lista de ventanas abiertas actualmente
driver.window_handles
Cerrar la ventana del navegador actual
Cambia a la nueva pestaña abierta. Cerrar las ventanas actuales (en este caso la nueva pestaña). Volver a la primera ventana.
TRANSPORTADOR:
browser.getAllWindowHandles().then(function (handles) {
browser.driver.switchTo().window(handles[1]);
browser.driver.close();
browser.driver.switchTo().window(handles[0]);
});
JAVA Selenio:
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));
Manejar múltiples ventanas
Pitón
Escenario más utilizado:
- abrir página en nueva ventana
- cambiar a eso
- hacer algo
- cierralo
- volver a la ventana principal
# 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'