selenium-webdriver
Interakcja z oknami przeglądarki
Szukaj…
Zarządzanie aktywnym oknem
DO#
Maksymalizacja okna
driver.Manage().Window.Maximize();
Jest to dość proste, zapewnia maksymalizację naszego obecnie aktywnego okna.
Pozycja okna
driver.Manage().Window.Position = new System.Drawing.Point(1, 1);
Tutaj zasadniczo przesuwamy aktywne okno do nowej pozycji. Z Point
celu dostarczamy x
i y
współrzędnych; są one następnie używane jako przesunięcia od lewego górnego rogu ekranu, aby określić, gdzie należy umieścić okno. Pamiętaj, że możesz także zapisać pozycję okna w zmiennej:
System.Drawing.Point windowPosition = driver.Manage().Window.Position;
Rozmiar okna
Ustawienie i uzyskanie rozmiaru okna używa tej samej składni, co pozycja:
driver.Manage().Window.Size = new System.Drawing.Size(100, 200);
System.Drawing.Size windowSize = driver.Manage().Window.Size;
URL okna
Możemy uzyskać aktualny adres URL aktywnego okna:
string url = driver.Url;
Możemy również ustawić adres URL aktywnego okna, co spowoduje, że sterownik przejdzie do nowej wartości:
driver.Url = "http://stackoverflow.com/";
Klamki do okien
Możemy uzyskać uchwyt do bieżącego okna:
string handle = driver.CurrentWindowHandle;
I możemy uzyskać uchwyty dla wszystkich otwartych okien:
IList<String> handles = driver.WindowHandles;
Pyton
Maksymalizacja okna
driver.maximize_window()
Uzyskaj pozycję okna
driver.get_window_position() # returns {'y', 'x'} coordinates
Ustaw pozycję okna
driver.set_window_position(x, y) # pass 'x' and 'y' coordinates as arguments
Uzyskaj rozmiar okna
driver.get_window_size() # returns {'width', 'height'} values
Ustaw rozmiar okna
driver.set_window_size(width, height) # pass 'width' and 'height' values as arguments
Aktualny tytuł strony
driver.title
Aktualny adres URL
driver.current_url
Klamki do okien
driver.current_window_handle
Lista aktualnie otwartych okien
driver.window_handles
Zamykanie bieżącego okna przeglądarki
Przejdź do nowej otwartej karty. Zamknij bieżące okna (w tym przypadku nowa karta). Wróć do pierwszego okna.
KĄTOMIERZ:
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));
Obsługa wielu okien
Pyton
Najczęściej używany scenariusz:
- otwórz stronę w nowym oknie
- przejdź na to
- Zrób coś
- Zamknij to
- przełącz się z powrotem do okna nadrzędnego
# 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'