文章目录
- 学习目标
- 一、frame切换
- 1.1 为什么要学习frame切换
- 1.2 frame切换方法
- 1.3 案例解决方案
- 1.4 frame切换-总结
- 二、多窗口切换
- 2.1 为什么要切换窗口?
- 2.2 如何实现多窗口切换
- 2.3 案例解决方案分析
- 2.4 多窗口切换 — 总结
学习目标
我们web自动化的内容,一共分为七个模块。今天开始第二章的学习,Selenium-API操作相关内容。如果你们还想回顾功能测试等等相关内容欢迎关注上方专栏!!!
本文学习目标:
1.掌握切换frame的方法
2.掌握多窗口切换的技巧
一、frame切换
frame:HTML页面中的一种框架,主要作用是在当前页面中指定区域显示另一页面元素; 形式一:[了解]
形式二:
1.1 为什么要学习frame切换
案例:打开‘注册实例.html’页面,完成以下操作
1).填写主页面的注册信息
2).填写注册页面A中的注册信息
3).填写注册页面B中的注册信息
问题 当前页面内无法定位注册页面A和注册页面B
1.2 frame切换方法
说明:在Selenium中封装了如何切换frame框架的方法
方法:
1). driver.switch_to.frame(frame_reference) --> 切换到指定frame的方法
frame_reference:可以为frame框架的name、id或者定位到的frame元素
2). driver.switch_to.default_content() --> 恢复默认页面方法
在frame中操作其他页面,必须先回到默认页面,才能进一步操作
1.3 案例解决方案
1.完成主页面注册信息;
2.调用frame切换方法(switch_to.frame(“myframe1”))切换到注册用户A框架中
3.调用恢复默认页面方法(switch_to.default_content())
4.调用frame切换方法(switch_to.frame(“myframe2”))切换到注册用户B框架中
1.4 frame切换-总结
1.HTML中常用的frame框架
2.切换框架的方法
3.恢复到默认页面的方法
二、多窗口切换
说明:在HTML页面中,当点击超链接或者按钮时,有的会在新的窗口打开页面。
2.1 为什么要切换窗口?
案例:
需求:打开‘注册实例.html’页面,完成以下操作
1).点击‘注册A页面’链接
2).在打开的页面中,填写注册信息
问题: 无法定位注册A页面中的元素
2.2 如何实现多窗口切换
说明:在Selenium中封装了获取当前窗口句柄、获取所有窗口句柄和切换到指定句柄窗口的方法;
句柄:英文handle,窗口的唯一识别码
方法:
1). driver.current_window_handle --> 获取当前窗口句柄
2). driver.window_handles --> 获取所有窗口句柄
3). driver.switch_to.window(handle) --> 切换指定句柄窗口
2.3 案例解决方案分析
1.获取‘注册实例.html’当前窗口句柄
2.点击‘注册实例.html’页面中注册A页面
3.获取所有窗口句柄
4.获取注册A页面对应的窗口句柄,并切换
5.操作注册A页面元素
2.4 多窗口切换 — 总结
1.什么是句柄?
2.获取当前窗口句柄方法
3.获取所有窗口句柄方法
4.切换指定句柄窗口方法