switch_to
selenium webdriver + python进行web自动化测试时,经常要进行windows或frame的切换,在面对windows或frame切换时,很多人并不理解其具体实现,或是并未掌握如何进行切换。
下面我们就selenium webdriver python端api源码进行分析说明,让大家进一步了解和掌握其使用方法,常用的切换api如下:
- Frame切换:switch_to.frame()
- 多窗口切换:switch_to.window()
在switch_to.py主要提供了以下几个类、方法:
SwitchTo类
实现了frame切换、windows切换能力,需要将webdriver对象传给该类型
default_content SwitchTo类成员
提供了切换至默认frame的能力
frame SwitchTo类成员
提供了切换至指定frame的能力,可以用索引、frame名称或webelement对象进行切换
官方案例:
parent_frame SwitchTo类成员
提供了切换至当前frame的父frame的能力,如果当前frame是最顶层了,则停留在当前frame环境下
widow SwitchTo类成员
提供了切换至指定窗口的能力,可以通过指定window名称或handle(句柄)切换至指定的窗口
几个关键点需要注意的是:
1,理解Frame层级的概念
2,理解default content, 默认Frame
3,理解handle句柄的概念