博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
frame 嵌套的定位方法
阅读量:7294 次
发布时间:2019-06-30

本文共 831 字,大约阅读时间需要 2 分钟。

在 web 应用中经常会出现 iframe 嵌套的应用,假设页面上有 A、B 两个 iframe,其中 B 在 A 内,那么定位 B 中的内容则需要先到 A,然后再到 B。

iframe 中实际上是嵌入了另一个页面,而 webdriver 每次只能在一个页面识别,因此需要用 switch_to_frame 方法去获取 iframe 中嵌入的页面,对那个页面里的元素进行定位。

如果iframe里有id或者name,使用switch_to_frame()可以很方便的定位到,如

例1:

# 先找到到 ifrome1(id = f1)

driver.switch_to_frame("f1")

# 再找到其下面的 ifrome2(id =f2)

driver.switch_to_frame("f2")

# 下面就可以正常的操作元素了

driver.find_element_by_id("xx").click()

注:切到frame中之后,我们便不能继续操作主框架的元素,这时如果想操作主框架内容,则需切回主文档(最上级文档);若使用后需要再次对iframe定位需要重新从初始化的frame进行定位。

br.switch_to.default_content()  回到当前页面的上一个页面,建议直接使用id回到主页面再往下找

 

如果要再去定位其他frame的元素,需要回到该frame的上级,定位到要选择的frame,不过为了保险起见,可以回到整个页面的主frame,然后再去选择其他frame。
.switch_to_frame("XXX")  XXX为frame的id或name或通过find_element_by_xxx找到的frame元素
.switch_to_default_content() 回到当前页面的原始页面,即可以退出当前的frame

转载于:https://www.cnblogs.com/bozhu-liao/p/9133689.html

你可能感兴趣的文章
寓言四则
查看>>
让那些设计师在没有斗志的时候读读
查看>>
SQLServer2008 数据库 开启 远程 连接 设置
查看>>
嵌入式开发交叉调试技术简介
查看>>
JavaScript基础
查看>>
C#重点内容之:接口(interface)(一)网络初级示例
查看>>
dojo表格操作的简单示例(建立表格)
查看>>
div辅助线【完整版】
查看>>
ZZULIOJ 1898: 985的数字难题 【水题】
查看>>
移动tempdb导致数据库服务不能启动
查看>>
[BEC][hujiang] Lesson04 Unit1:Working life ---Reading + Listening &Grammar & Speaking
查看>>
AspNet GridView Excel 下载 Excel 导出
查看>>
习题整理,二叉树后续遍历得到指定节点到其祖先的路径
查看>>
输入数字和小数点
查看>>
CRUD全栈式编程架构之服务层的设计
查看>>
day8--socketserver作业
查看>>
JAVA自带的加密算法-MD5\SHA1\BASE64
查看>>
React + Redux 实现的个人博客
查看>>
[BZOJ1597][Usaco2008 Mar]土地购买(斜率优化)
查看>>
算法模板——平衡树Treap
查看>>