web自动化测试(九)多窗口处理
多窗口场景
- 点击某些链接操作,会重新打开一个窗口,要想操作新的窗口页面就要先切换到新窗口上,那要怎么才可以切换到新窗口,就要获取窗口的唯一标识句柄来表示,所有切换窗口就是先识别窗口的句柄,然后通过切换句柄达到切换窗口的效果。
多窗口处理流程
- 先获取当前窗口句柄
- 再获取所有窗口句柄
- 看是否是想要操作的窗口,如果是直接操作,如果不是,切换另外窗口
窗口操作API
- driver.current_window_handle
- driver.window_handles
- driver.switch_to.window
多窗口处理示例
# 获取当前窗口句柄
current_win = driver.current_window_handle
# 获取所有窗口句柄
windows = driver.window_handles
# 切换窗口,句柄的顺序:先出现的先加入列表。后出现的,后加入列表。
driver.switch_to.window(windows[-1])