switch切换器
切换器会在三种场景中使用到
- 切换浏览器tag
- 切换页面frame
- 切换alert
官方提供了两种switch给我们使用,一种已经过时了,我们先来看看最新的
1、SwitchTo类
1 | from selenium.webdriver.remote.switch_to import SwitchTo |
alert切换器
1
2
3
4
5
6
7
8
9
10
11# 确认
SwitchTo(driver).alert.accept()
# 取消
SwitchTo(driver).alert.dismiss()
# 如果alert上有文本框,可以通过send
SwitchTo(driver).alert.send_keys("输入内容")
# 返回alert上面的文本内容
print(SwitchTo(driver).alert.text)frame切换器
1
2
3
4
5
6
7
8
9# 跳到指定frameName的frame中
# 当出现多层的时候,需要进行层级切换
SwitchTo(driver).frame("frameName")
# 跳到默认frame中(最外层frame中)
SwitchTo(driver).default_content()
# 跳到上层frame中
SwitchTo(driver).parent_frame()tag切换器
1
2
3
4handles = driver.window_handles
# SwitchToWindows接受浏览器TAB的句柄
driver.switch_to.window(handles[1])
2、已废弃的可以直接通过driver调用的switch_to方法
1 | # 写一行代码,方便我们看底层源码 |