前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >web自动化09-frame切换、多窗口切换

web自动化09-frame切换、多窗口切换

作者头像
似小陈吖
发布2023-10-17 09:56:12
2470
发布2023-10-17 09:56:12
举报
文章被收录于专栏:测试那些事

frame切换

1、html代码:

代码语言:javascript
复制
<frameset cols="25%,50%,25%">
  <frame src="a.htm">
  <frame src="b.htm">
  <frame src="c.htm">
</frameset>

上述是frame框架页面元素

看看展示效果:

 2、我们无法定位三个页面的元素,怎么办呢?

  说明:在Selenium中封装了如何切换frame框架的方法

  方法:

    1). driver.switch_to.frame(frame_reference) --> 切换到指定frame的方法

               frame_reference:可以为frame框架的name、id或者定位到的frame元素

    2). driver.switch_to.default_content() --> 恢复默认页面方法

如果想要切换下一个页面,需要回到默认页面在进行操作

3、看需求:打开‘注册实例.html’页面,完成以下操作:

代码语言:javascript
复制
1). 填写主页面的注册信息
2). 填写注册页面A中的注册信息
3). 填写注册页面B中的注册信息

doing:

代码语言:javascript
复制
1. 完成主页面注册信息;
2. 调用frame切换方法(switch_to.frame("myframe1"))切换到注册用户A框架中
//想要切换到另一个frame页面,需要回到默认页面
3. 调用恢复默认页面方法(switch_to.default_content()) 
4. 调用frame切换方法(switch_to.frame("myframe2"))切换到注册用户B框架中

多窗口切换

说明:在HTML页面中,当点击超链接或者按钮时,有的会在新的窗口打开页面。

1、 为什么要切换窗口?

如果我们定位元素,操作中打开了一个新的窗口,我们想要到新的窗口中

2、如何切换窗口?

  说明:在Selenium中封装了获取当前窗口句柄、获取所有窗口句柄和切换到指定句柄窗口的方法;

        句柄:英文handle,窗口的唯一识别码

  每个浏览器的句柄值也不一样

        方法:

              1). driver.current_window_handle -->      获取当前窗口句柄

              2). driver.window_handles -->       获取所有窗口句柄

                   3). driver.switch_to.window(handle) -->   切换指定句柄窗口

      先获取,在切换

 切换窗口:列表的  -1 索引对应的值,始终是最新窗口的句柄值

  driver.switch_to.window(handles[-1])

看需求:

代码语言:javascript
复制
打开‘百度首页’页面,完成以下操作
1). 点击‘百度热搜’进入热搜页面
2). 在热搜页面中,停留3s,关闭当前页面
3). 回到百度首页 

doing:

代码语言:javascript
复制
1). 点击‘百度热搜’进入热搜页面

关闭当前页面后,不会自动回到上一页,如果想要回到上一页操作,需要切换句柄

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-03-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • frame切换
  • 多窗口切换
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档