RobotFramework:切换页面和Frame框架
切换页面主要有以下两种情况
- 在浏览器上打开多个窗口(Windows),在窗口内切换
- 打开多个浏览器(Browser),在多个浏览器内切换
1. 切换窗口
- 该操作适用于:打开两(多)个窗口页面,在打开的窗口页面进行切换操作
- 主要需要用Select Windows 和Close Windows来处理弹出的窗口
代码如下
import Selenium2Library
import Collections
Open Browser https://www.baidu.com chrome
Maximize Browser Window
Input Text kw ss
Click Element su #点击搜索框
sleep 3
Click Element xpath=.//*[@id='1']/h3/a[1] #选择第一个页面
#获取窗口的title
${titles2} Get Window Titles
${titles2} Get From List ${titles} 1
${titles1} Get From List ${titles} 0
Log ${titles}
log ${titles2}
log ${titles1}
#切换到第二个窗口
Select Window title=${titles2}
#切换回第一个窗口,即搜索页面的那个窗口
Select Window title=${titles1}
2.切换浏览器
- 该操作适用于:在多个浏览器之间切换进行切换操作
- 主要用Open Browser 、Switch Browser 和Close Browser来处理
代码引用
import Selenium2Library
${id1} Open Browser https://www.baidu.com chrome 2nd_conn
Maximize Browser Window
Input Text id=kw 你好
Click Element id=su
#**新打开浏览器**
${id2} Open Browser http://www.jianshu.com/users/8e79ee3c829b/timeline chrome
Maximize Browser Window
#**重新创建一个句柄**
${service args}= Create List --proxy=localhost:8888
${id3} Create Webdriver Chrome service_args=${service args}
Go To https://www.baidu.com
Wait Until Page Contains Element id=kw
Input Text id=kw hello
#**切换浏览器**切换到第一次打开的 这里也可以用索引 1;也可以用2nd_conn
Switch Browser ${id1}
Wait Until Page Contains Element //div[@id='content_left']/div/h3/a
Capture Page Screenshot
#**切换浏览器**切换到第二次打开的
Switch Browser ${id2}
Capture Page Screenshot
#可在该页面进行操作。。。
#**切换浏览器**切换到第三次打开的
Switch Browser ${id3}
Capture Page Screenshot
关键字Create Webdriver 可以内置参数
遇到Frame框架
Select Frame 可以通过id name等元素进行定位,若frame/iframe框架代码如下图所示:
则无法用id 或者name等系列参数进行定位时,可以采用以下方式进行定位:
Select Frame Xpath=//*[contains(@src, 'http://10.0.20.53:8080/dwp/index.html')]
具体使用代码如下:
Wait Until Element Is Enabled Xpath=//*[contains(@src,'http://10.0.20.53:8080/dwp/index.html')]
Select Frame Xpath=//*[contains(@src, 'http://10.0.20.53:8080/dwp/index.html')]
Unselect Frame
最后使用Unselect Frame退出frame/iframe框架
RobotFramework:切换页面和Frame框架的更多相关文章
- robotframework定位页面内Frame框架里的元素
在自动化开发中,会遇到在页面内部点开一个新的页面后,新的页面元素无法定位到的情况,如点击下图的上传图片,弹出的界面无法直接定位到: 遇到这种情况需要查看弹出界面是否是Frame框架页面:打开火狐浏览器 ...
- JavaScript刷新页面的方法(包括Frame框架的刷新方式)
JavaScript刷新页面的方法 1 history.go(0) 去指定的某页 2 window.location.reload()刷新当前页面 window.location.relo ...
- switch_to_frame,切换frame框架
页面包含frame/iframe标签,需要先切换到该frame标签,再去定位属于这个frame的元素. 如果要再去定位其他frame的元素,需要回到该frame的上级,定位到要选择的frame,不 ...
- Python-爬虫-针对有frame框架的页面
有的页面会使用frame 框架,使用Selenium + PhantomJS 后并不会加载iframe 框架中的网页内容.iframe 框架相当于在页面中又加载了一个页面,需要使用Selenium 的 ...
- 页面嵌套frame,Selenium定位问题
有时候,什么定位元素的方法都试过了,还是定位不到元素,就考虑frame切换问题 driver.switchTo().frame("定位到的frame元素"); //接下来就可以在这 ...
- JS操作frame框架
1 框架编程概述 一个Html 页面可以有一个或多个子框架,这些子框架以<iframe>来标记,用来显示一 个独立的Html 页面.这里所讲的框架编程包括框架的自我控制以及框架之间的互相访 ...
- 【转】js frame 框架编程
源地址:http://www.blogjava.net/lusm/archive/2008/02/11/179620.html 1 框架编程概述 一个Html 页面可以有一个或多个子框架,这些子框架以 ...
- html5-6 Frame框架窗口类型
html5-6 Frame框架窗口类型 一.总结 一句话总结: 1.点左侧的a链接如何打开右侧页面? <a href='user/index.html' target='right'>& ...
- selenium webdriver从安装到使用(python语言),显示等待和隐性等待用法,切换窗口或者frame,弹框处理,下拉菜单处理,模拟鼠标键盘操作等
selenium的用法 selenium2.0主要包含selenium IDE 和selenium webDriver,IDE有点类似QTP和LoadRunner的录制功能,就是firefox浏览器的 ...
随机推荐
- 洛谷 P2216 [HAOI2007]理想的正方形 || 二维RMQ的单调队列
题目 这个题的算法核心就是求出以i,j为左上角,边长为n的矩阵中最小值和最大值.最小和最大值的求法类似. 单调队列做法: 以最小值为例: q1[i][j]表示第i行上,从j列开始的n列的最小值.$q1 ...
- 机器学习概念之特征处理(Feature processing)
不多说,直接上干货! 肯定也有不少博友,跟我一样,刚开始接触的时候,会对这三个概念混淆. 以下是,特征处理.特征提取.特征转换和特征选择的区别! 特征处理主要包含三个方面:特征提取.特征转换和特征选择 ...
- P1838 三子棋I
题目描述 小a和uim喜欢互相切磋三子棋.三子棋大家都玩过是吗?就是在九宫格里面OOXX(别想歪了),谁连成3个就赢了. 由于小a比较愚蠢,uim总是让他先. 我们用9个数字表示棋盘位置: 123 4 ...
- vs 2015 编译cocos2dx 报错
VS 2015 compiling cocos2d-x 3.3 error “fatal error C1189: #error: Macro definition of snprintf confl ...
- 微信小程序 开放能力学习
1. 用户信息小程序登录使用微信的个人信息快速搭建用户体系,登录逻辑:小程序向微信获取code 给服务端生成用户. 说明1. 小程序端调用 wx.login() 获取临时登录凭证 code,并传到服务 ...
- SIRI课程表
wen 周一@0@{今天没课哦}周一 周二今天共一节课 第2节,可编程控制器应用,11号教学楼1 0 3房间 周二 周三今天共三节课 第二节,过程控制系统,2号楼2 1 0房间,第三节机械制造技术11 ...
- 使用 Azure ARM 部署Word Press 遇到 Extension节点 扩展的问题
在使用Azure ARM模式部署wordpress,将php网站压缩成zip的形式在DefaultTemplate模板中已扩展的形式实现安装 遇到的问题总结: 1.开始在sites节点中,resour ...
- SQLyog连接MySQL时出现的2058错误解决方法
配置新连接报错:错误号码 2058,分析是 mysql 密码加密方法变了. 解决方法:windows 下cmd 登录 mysql -u root -p 登录你的 mysql 数据库,然后执行这条SQL ...
- Winform用Post方式打开IE
1.主要实现Code void OpenNewIe(string url, string postData)///url是要post的网址,postData是要传入的参数 { if (ie != nu ...
- 一个JSON字符串和文件处理的命令行神器jq,windows和linux都可用
这个命令行神器的下载地址:https://stedolan.github.io/jq/# Windows和Linux版本均只有两个可执行文件,大小不过2MB多. 以Windows版本为例,介绍其用法. ...