元素定位(三)
1|0一. 什么是iframe
iframe是指一个html页面中嵌套了另外一个或多个html页面
如下代码,在外层html中有个id为"11"的div元素,iframe中也有一个id为"11"的div元素,由于元素定位的是当前html页面,所以无法定位iframe里面的元素。这时需要从当前html页面切换到iframe
2|0二. frame框架里面元素定位
2|11. driver.switch_to.frame():从主页面切换到iframe
如果我们需要切换到你想要的内嵌页面上去,就需要定位到frame框架切换过去,切换用到的方法:driver.switch_to.frame(),然后就可以自己去定位框架里面元素,去进行对应的操作
switch_to.frame()中frame()方法源码如下:frame的参数可以是一个<iframe>标签的name属性值,也可以是下标(多个iframe,下标从1开始),还可以是定位到的一个iframe的元素对象
2|22. driver.switch_to.default_content():从iframe切换回主页面
当iframe上的操作完后,想重新回到主页面上操作元素,这时候,就可以用driver.switch_to.default_content()方法返回到主页面
举个例子:腾讯课堂登录切换到输入用户名/密码登录
frame框架名:login_frame_qq
3|0三. CSS定位
css:样式,一般页面的展示都是靠css来展示元素的
css可以通过元素的id、class、标签这三个常规属性直接定位到
# 表示id属性,如 #kw div#id值
. 表示class属性,如 .s_ipt div.class值
直接用tag名称来定位元素,无任何标识符,如 input
用tag名称和属性值(属性=value)来定位 如 from[name="loginform"] div[id="id值"][style="display:block"]
层级定位
> 子元素 如 div#id>div.class
后代元素 如 div#id div.class(中间有空格)
^= 以XX开头
$= 以XX结尾
*= 包含XX
__EOF__

本文链接:https://www.cnblogs.com/my_captain/p/9234263.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
2017-06-27 《Advanced Bash-scripting Guide》学习(八):从一个目录移动整个目录树到另一个目录