selenium-webdriver
Interactie met de browservenster (s)
Zoeken…
Het actieve venster beheren
C #
Het venster maximaliseren
driver.Manage().Window.Maximize();
Dit is vrij eenvoudig, zorgt ervoor dat ons momenteel actieve venster wordt gemaximaliseerd.
Positie van het venster
driver.Manage().Window.Position = new System.Drawing.Point(1, 1);
Hier verplaatsen we in wezen het momenteel actieve venster naar een nieuwe positie. In het Point
object geven we x
en y
-coördinaten; deze worden vervolgens gebruikt als offsets in de linkerbovenhoek van het scherm om te bepalen waar het venster moet worden geplaatst. Merk op dat u de vensterpositie ook in een variabele kunt opslaan:
System.Drawing.Point windowPosition = driver.Manage().Window.Position;
Grootte van het venster
Het instellen en verkrijgen van de venstergrootte gebruikt dezelfde syntaxis als de positie:
driver.Manage().Window.Size = new System.Drawing.Size(100, 200);
System.Drawing.Size windowSize = driver.Manage().Window.Size;
URL van het venster
We kunnen de huidige URL van het actieve venster verkrijgen:
string url = driver.Url;
We kunnen ook de URL instellen voor het actieve venster, waardoor de bestuurder naar de nieuwe waarde gaat:
driver.Url = "http://stackoverflow.com/";
Raamgrepen
We kunnen de handle voor het huidige venster verkrijgen:
string handle = driver.CurrentWindowHandle;
En we kunnen de handvatten verkrijgen voor alle geopende vensters:
IList<String> handles = driver.WindowHandles;
Python
Het venster maximaliseren
driver.maximize_window()
Krijg positie van het venster
driver.get_window_position() # returns {'y', 'x'} coordinates
Stel de positie van het venster in
driver.set_window_position(x, y) # pass 'x' and 'y' coordinates as arguments
Krijg de grootte van het venster
driver.get_window_size() # returns {'width', 'height'} values
Stel de grootte van het venster in
driver.set_window_size(width, height) # pass 'width' and 'height' values as arguments
Huidige paginatitel
driver.title
Huidige URL
driver.current_url
Raamgrepen
driver.current_window_handle
Lijst met geopende vensters
driver.window_handles
Het huidige browservenster sluiten
Ga naar het nieuwe geopende tabblad. Sluit de huidige vensters (in dit geval het nieuwe tabblad). Schakel terug naar het eerste venster.
GRADENBOOG:
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));
Meerdere vensters verwerken
Python
Meest gebruikte scenario:
- open pagina in nieuw venster
- overschakelen naar het
- doe iets
- sluit het
- schakel terug naar bovenliggend venster
# 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'