Products
GG网络技术分享 2025-11-13 04:19 3
在Selenium中处理许多窗口是一个常见的任务,特别是在自动化测试中需要模拟用户在不同窗口之间切换的场景。
先说说你需要获取当前浏览器中全部打开的窗口句柄。个个窗口句柄dou是独一个的,Neng用来标识和切换到特定的窗口。

python from selenium import webdriver
driver = webdriver.Chrome driver.get
handles = driver.window_handles
你Neng通过遍历窗口句柄列表来找到目标窗口,并用switch_to.window方法切换到该窗口。
python
targettitle = "targetwindowtitle" for handle in handles: driver.switchto.window if driver.title == target_title: break
在操作完目标窗口后你兴许需要切换回原始窗口。Neng用switch_to.default_content方法实现。
python
driver.switch_to.default_content
当你点击链接打开新鲜窗口时需要等待新鲜窗口加载完成。Neng用WebDriverWait和expected_conditions来实现。
python from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC
newwindowhandle = handles # 新鲜窗口句柄通常是列表中的再说说一个 driver.switch_to.window
wait = WebDriverWait wait.until))
当测试完成后你兴许需要关闭打开的窗口。Neng用close方法关闭当前窗口,或者用window_handles列表中的索引来关闭特定的窗口。
driver.close
driver.switch_to.window # 切换到第一个窗口 driver.close
switch_to.default_content返回到原始窗口。的效率和准确性。
Demand feedback