selenium-webdriver
Interagera med webbläsarfönstret
Sök…
Hantera det aktiva fönstret
C #
Maximera fönstret
driver.Manage().Window.Maximize();
Detta är ganska enkelt, säkerställer att vårt för närvarande aktiva fönster maximeras.
Fönsterets placering
driver.Manage().Window.Position = new System.Drawing.Point(1, 1);
Här flyttar vi i princip det nuvarande aktiva fönstret till en ny position. I Point
objektet tillhandahåller vi x
och y
-koordinater; dessa används sedan som förskjutningar från skärmens övre vänstra hörn för att bestämma var fönstret ska placeras. Observera att du också kan lagra fönsterpositionen i en variabel:
System.Drawing.Point windowPosition = driver.Manage().Window.Position;
Storlek på fönstret
Att ställa in och få fönsterstorlek använder samma syntax som positionen:
driver.Manage().Window.Size = new System.Drawing.Size(100, 200);
System.Drawing.Size windowSize = driver.Manage().Window.Size;
URL till fönstret
Vi kan få den aktuella URL: n i det aktiva fönstret:
string url = driver.Url;
Vi kan också ställa in URL: en för det aktiva fönstret, vilket gör att föraren navigerar till det nya värdet:
driver.Url = "http://stackoverflow.com/";
Fönsterhandtag
Vi kan få handtaget för det aktuella fönstret:
string handle = driver.CurrentWindowHandle;
Och vi kan få tag på alla öppna fönster:
IList<String> handles = driver.WindowHandles;
Pytonorm
Maximera fönstret
driver.maximize_window()
Skaffa fönstret
driver.get_window_position() # returns {'y', 'x'} coordinates
Ställ in fönstret
driver.set_window_position(x, y) # pass 'x' and 'y' coordinates as arguments
Få storlek på fönstret
driver.get_window_size() # returns {'width', 'height'} values
Ställ in fönstret
driver.set_window_size(width, height) # pass 'width' and 'height' values as arguments
Aktuell sidtitel
driver.title
Nuvarande URL
driver.current_url
Fönsterhandtag
driver.current_window_handle
Lista med för närvarande öppnade fönster
driver.window_handles
Stänger det aktuella webbläsarfönstret
Byt till den nya öppnade fliken. Stäng de aktuella fönstren (i detta fall den nya fliken). Byt tillbaka till första fönstret.
GRADSKIVA:
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));
Hantera flera fönster
Pytonorm
Det vanligaste scenariot:
- öppna sidan i nytt fönster
- växla till det
- göra någonting
- Stäng det
- växla tillbaka till överordnat fönster
# 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'