软件测试学习笔记丨 Selenium 网页 frame
本文转自测试人社区,原文链接:https://ceshiren.com/t/topic/30834
一、简介
在进行元素定位时,如果遇到无法找到的情况,首先需要考虑是否存在嵌套的 frame 窗口,或者目标元素位于新打开的窗口中。这时,必须进行相应的 frame 切换或窗口切换操作。
frame 类似于在原始主 HTML 页面的基础上嵌套了一个独立的 HTML,彼此之间相互独立且不产生影响。
通常,当打开一个页面时,光标默认定位在主页面中。如果页面由多个 frame 构成,直接定位到具体元素可能会受限。因此,需要在定位元素之前切换到目标 frame 中,以便准确查找所需的元素。
二、iframe 解析

三、iframe 的多种切换方式
HTML 代码示例:
复制代码
那么通过传入 id、name、index 以及 Selenium 的 WebElement 对象来切换 frame。
Python 语法:
复制代码
四、iframe 切换回默认页面
再切换页面之后,如果还想操作原页面,则可以使用:
Python 语法:
复制代码
五、iframe 多层切换
如下图,为多层嵌套结构的 iframe:

从最外部 iframe 切换到 iframe2,则需要层层切换,当从 iframe2 切换回 iframe1,则可以使用父子切换:
Python 语法:
复制代码
软件测试开发免费视频教程分享

版权声明: 本文为 InfoQ 作者【测试人】的原创文章。
原文链接:【http://xie.infoq.cn/article/5c291e27da83c95e41e664cfe】。文章转载请联系作者。
评论