Обработка окон — важнейший аспект веб-автоматического тестирования с помощью Selenium. Он позволяет вам взаимодействовать с несколькими окнами или вкладками браузера во время выполнения теста. В этой статье блога мы рассмотрим различные методы обработки окон в Selenium, а также приведем примеры кода, демонстрирующие их использование.
- getWindowHandle():
Этот метод извлекает уникальный дескриптор текущего окна или вкладки. Он возвращает строковое значение, представляющее дескриптор окна.
Пример:
from selenium import webdriver
driver = webdriver.Chrome()
driver.get("https://www.example.com")
# Get the current window handle
current_window = driver.current_window_handle
print("Current Window Handle:", current_window)
driver.quit()
- getWindowHandles():
Этот метод возвращает набор дескрипторов окон для всех открытых окон или вкладок. Он позволяет переключаться между несколькими окнами во время выполнения теста.
Пример:
from selenium import webdriver
driver = webdriver.Chrome()
driver.get("https://www.example.com")
# Open a new window
driver.execute_script("window.open('https://www.google.com');")
# Get all window handles
window_handles = driver.window_handles
print("Window Handles:", window_handles)
# Switch to the new window
driver.switch_to.window(window_handles[1])
driver.quit()
- switch_to.window():
Этот метод позволяет переключить фокус WebDriver на другое окно или вкладку на основе дескриптора окна.
Пример:
from selenium import webdriver
driver = webdriver.Chrome()
driver.get("https://www.example.com")
# Open a new window
driver.execute_script("window.open('https://www.google.com');")
# Get all window handles
window_handles = driver.window_handles
# Switch to the new window
driver.switch_to.window(window_handles[1])
# Perform actions on the new window
print("Title of the new window:", driver.title)
driver.quit()
- close():
Этот метод закрывает текущее окно или вкладку.
Пример:
from selenium import webdriver
driver = webdriver.Chrome()
driver.get("https://www.example.com")
# Close the current window
driver.close()
driver.quit()
- quit():
Этот метод закрывает все окна, открытые экземпляром WebDriver.
Пример:
from selenium import webdriver
driver = webdriver.Chrome()
driver.get("https://www.example.com")
# Close all windows
driver.quit()
Обработка окон — важный навык для эффективного веб-автоматического тестирования с помощью Selenium. Используя такие методы, как getWindowHandle(), getWindowHandles(), switch_to.window(), close()и quit(), вы можете легко управлять окнами и вкладками во время процесса автоматизации тестирования.
При выборе подходящего метода обработки окон не забудьте учитывать конкретные сценарии тестирования и требования. Приятного тестирования!