【郑州校区】frame切换、多窗口切换
目标1. 掌握切换frame的方法 2. 掌握多窗口切换的技巧 frame切换 frame:HTML页面中的一种框架,主要作用是在当前页面中指定区域显示另一页面元素;形式一:[了解] <frameset cols="25%,75%"> <frame src="frame_a.htm"> <frame src="frame_b.htm"> </frameset> 形式二: <iframe name="iframe_a" src="demo_iframe.htm" width="200" height="200"></iframe> 1.1 为什么要学习frame切换 案例:打开‘注册实例.html’页面,完成以下操作 1). 填写主页面的注册信息 2). 填写注册页面A中的注册信息 3). 填写注册页面B中的注册信息 问题1. 当前页面内无法定位注册页面A和注册页面B 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.1 案例解决方案 1. 完成主页面注册信息; 2. 调用frame切换方法(switch_to.frame("myframe1"))切换到注册用户A框架中 3. 调用恢复默认页面方法(switch_to.default_content()) 4. 调用frame切换方法(switch_to.frame("myframe2"))切换到注册用户B框架中 1.1 frame切换-总结 1. HTML中常用的frame框架 2. 切换框架的方法 3. 恢复到默认页面的方法 多窗口切换 说明:在HTML页面中,当点击超链接或者按钮时,有的会在新的窗口打开页面。 1.1 为什么要切换窗口?案例需求:打开‘注册实例.html’页面,完成以下操作 1). 点击‘注册A页面’链接 2). 在打开的页面中,填写注册信息 问题 1). 无法定位注册A页面中的元素 1.1 如何实现多窗口切换? 说明:在Selenium中封装了获取当前窗口句柄、获取所有窗口句柄和切换到指定句柄窗口的方法; 句柄:英文handle,窗口的唯一识别码 方法: 1). driver.current_window_handle --> 获取当前窗口句柄 案例解决方案分析 1. 获取‘注册实例.html’当前窗口句柄 2. 点击‘注册实例.html’页面中注册A页面 3. 获取所有窗口句柄 4. 获取注册A页面对应的窗口句柄,并切换 5. 操作注册A页面元素 1.1 多窗口切换-总结 1. 什么是句柄? 2. 获取当前窗口句柄方法 3. 获取所有窗口句柄方法 4. 切换指定句柄窗口方法 |