webdriver切换frame的方法
iframe:
iframe 就是一个特殊的html 元素, 它在原来的html 范围内,开辟了一个新的HTML。
iframe 元素会创建包含另外一个文档的内联框架(即行内框架)
理解:网页嵌套网页
frameset: frameset 元素可定义一个框架集。它被用来组织多个窗口(框架)。每个框架存有独立的文档。
<html>
<frameset cols="25%,50%,25%">
<frame src="frame_a.htm" />
<frame src="frame_b.htm" />
<frame src="frame_c.htm" />
</frameset>
</html>
两者的区别是:
iframe 用于在网页内显示网页。和frameset不同的是,
frameset内置好几个子html
而iframe 只内置一个子html
webdriver 切换frame方法:driver.switch_to.frame(frame_reference)
frame_reference:
以QQ邮箱登录界面查找账号密码登录元素为例:
- frame 元素的 name 属性值 或者ID属性值 :driver.switch_to.frame('login_frame')
- 索引值 (从0开始):0 driver.switch_to.frame(1)
- frame 所对应的WebElement:driver.switch_to.frame(driver.find_element_by_id('login_frame'))
嵌套frame中如何逐层切换?
<html>
<iframe id="layer1">
<iframe id="layer2" / >
</iframe>
</html>
操作:
嵌套frame需要一层一层的切换
driver.switch_to.frame('layer1')
driver.switch_to.frame('layer2')
返回上一层frame
driver.switch_to.parent_frame()
从里面的frame切换回主HTML
driver.switch_to.default_content()
webdriver切换frame的方法的更多相关文章
- 【转】selenium之 定位以及切换frame
转载自:http://www.voidcn.com/blog/huilan_same/article/p-6155896.html 很多人在用selenium定位页面元素的时候会遇到定位不到的问题,明 ...
- 【Selenium2】【selenium之 定位以及切换frame(iframe)】
参考:http://blog.csdn.net/huilan_same/article/details/52200586 总有人看不明白,以防万一,先在开头大写加粗说明一下: frameset不用切, ...
- Selenium 切换 Frame
我们知道网页中有一种节点叫作 iframe ,也就是子 Frame ,相当于页面的子页面,它的结构和外部网页的结构完全一致. Selenium 打开页面后,它默认是在父级 Frame 里面操作,而此时 ...
- 【转载】selenium之 定位以及切换frame(iframe)
更多关于python selenium的文章,请关注我的专栏:Python Selenium自动化测试详解 总有人看不明白,以防万一,先在开头大写加粗说明一下: frameset不用切,frame需层 ...
- selenium之定位以及切换frame
总有人看不明白,以防万一,先在开头大写加粗说明一下: frameset不用切,frame需层层切! 很多人在用selenium定位页面元素的时候会遇到定位不到的问题,明明元素就在那儿,用firebug ...
- selenium之 定位以及切换frame(iframe)(转)
frame标签有frameset.frame.iframe三种,frameset跟其他普通标签没有区别,不会影响到正常的定位,而frame与iframe对selenium定位而言是一样的,seleni ...
- switch_to_frame,切换frame框架
页面包含frame/iframe标签,需要先切换到该frame标签,再去定位属于这个frame的元素. 如果要再去定位其他frame的元素,需要回到该frame的上级,定位到要选择的frame,不 ...
- selenium之 定位以及切换frame(iframe)
Set<String> windows = driver.getWindowHandles(); int count = 0; for(String handl ...
- selenium webdriver三种等待方法
webdriver三种等待方法 1.使用WebDriverWait from selenium import webdriverfrom selenium.webdriver.common.by im ...
随机推荐
- Celery 服务搭建
整个项目工程如下 __init__.py """ 注意点:python3.7 需要执行 pip install --upgrade https://github.com/ ...
- “庚武讲堂”(v.gw66.net) 缘起
转载自: https://v.gw66.net/origin/ 我叫“庚武”,一个从业10余年的程序员,其实我更愿意自称软件工程师或软件设计师.转眼间倏忽十年,从最开始用ASP.net 2.0做网站入 ...
- SpringBoot Aop打印参数
import java.util.Enumeration; import javax.servlet.http.HttpServletRequest; import lombok.extern.slf ...
- 给kali的Metasploit下添加一个新的exploit
转载:https://blog.csdn.net/SilverMagic/article/details/40978081 首先在/usr/share/metasploit-framework/mod ...
- VLOOKUP使用方法
VLOOKUP函数是常用的一个内容查找函数,用于通过某一条件查询数据源中需要的内容.语法:=VLOOKUP(查询值,数据源,显示序列,匹配参数)1)查询值:匹配的key值2)数据源:查找范围,1)起点 ...
- 细说RESTful API之幂等性
目录 接口幂等性的含义 接口符合幂等性有什么用处 HTTP方法的幂等性与安全性 如何设计符合幂等性的接口 写在最后 接口幂等性的含义 幂等性原本是数学中的含义,表达式的是N次变换与1次变换的结果相同. ...
- 【miscellaneous】【C/C++语言】UTF8与GBK字符编码之间的相互转换
UTF8与GBK字符编码之间的相互转换 C++ UTF8编码转换 CChineseCode 一 预备知识 1,字符:字符是抽象的最小文本单位.它没有固定的形状(可能是一个字形),而且没有值." ...
- [转帖]50 亿美元!微软签下毕马威!JEDI 100 亿美元订单之后又一大单!
50 亿美元!微软签下毕马威!JEDI 100 亿美元订单之后又一大单! https://mp.weixin.qq.com/s/K0SrFNSVK5aOu6TIzhN92Q 前段时间,微软击败亚马逊, ...
- lambd
匿名函数 1.匿名函数格式 void test01() { []() { cout << "hello world" << endl; }(); } 2使用 ...
- 简单的爬虫程序以及使用PYQT进行界面设计(包含源码解析)
由于这个是毕业设计的内容,而且还是跨专业的.爬虫程序肯定是很简单的,就是调用Yahoo的API进行爬取图片.这篇博客主要讲的是基础的界面设计. 放上源码,然后分部解析一下重要的地方.注:flickra ...