xpath定位--切换frame/窗口

在web自动化中,有时候我们界面上明明定位到了该元素,但是就是点击不到,怎么回事?

--可能是没有切换到对应的frame或者没有切换到对应窗口!!!

切换frame用于在同一个窗口中切换到frame上下文,以便操作frame中的元素;

切换窗口用于在不同的窗口之间切换,以便在不同的窗口中进行操作;

目录

一、切换frame

1、什么是frame

2、怎么找到frame

3、切换frame

二、切换窗口


一、切换frame

1、什么是frame

理解浏览器中的frame可以类比为在一个网页中嵌套了其他网页。就像一个画面被分割成多个小画面,每个小画面可以加载不同的内容。每个frame都有自己的文档对象模型(DOM),可以包含独立的HTML、CSS和JavaScript代码。

frame在现代Web开发中已经不再常用,因为它们存在一些问题,如SEO(搜索引擎优化)困难、页面布局复杂等。现在更常用的做法是使用CSS和JavaScript来实现网页的布局和交互效果,而不是依赖frame来划分内容区域。

2、怎么找到frame

2.1、浏览器中打开开发者工具,定位元素,定位到元素以后,向上层级找,是否存在frame标签;

2.2、浏览器中打开开发者工具,定位元素,定位到元素以后,看底部栏是否有frame标志;

3、切换frame

在一个网页中,如果存在frame或iframe,需要切换到相应的frame才能对其进行操作。切换frame的目的是将自动化操作的焦点从当前的上下文切换到frame中,以便能够对frame中的元素进行定位和操作。

比如:

1、上图中我们想要点击 请输入查询关键字 这里,就必须先 切换frame 到 id="lookupwindow"这个框架下面;

2、接下来要点击 确定 按钮,就必须先 切换到上级frame;

二、切换窗口

在Web应用程序中,可能会打开多个浏览器窗口或标签页。切换窗口的目的是将自动化操作的焦点从当前窗口切换到另一个窗口,以便能够在不同的窗口中进行操作。

比如:

下面这个点击 2024,以奋斗起笔 打开了一个新的浏览器窗口,如果我们想要操作打开的新窗口,就必须先 切换窗口;

相关推荐
九章云极AladdinEdu2 天前
超参数自动化调优指南:Optuna vs. Ray Tune 对比评测
运维·人工智能·深度学习·ai·自动化·gpu算力
学生信的大叔2 天前
【Python自动化】Ubuntu24.04配置Selenium并测试
python·selenium·自动化
GAOJ_K2 天前
弧形导轨如何提升新能源汽车的能效和续航里程?
科技·自动化·汽车·制造
全栈工程师修炼指南2 天前
告别手动构建!Jenkins 与 Gitlab 完美协作,根据参数自动化触发CI/CD流水线实践
运维·ci/cd·自动化·gitlab·jenkins
Source.Liu2 天前
【Pywinauto库】12.2 pywinauto.element_info 后端内部实施模块
windows·python·自动化
Source.Liu2 天前
【Pywinauto库】12.1 pywinauto.backend 后端内部实施模块
开发语言·windows·python·自动化
宇钶宇夕2 天前
西门子 S7-200 SMART PLC 核心指令详解:从移位、上升沿和比较指令到流水灯控制程序实战
运维·算法·自动化
大视码垛机2 天前
速度与安全双突破:大视码垛机重构工业自动化新范式
大数据·数据库·人工智能·机器人·自动化·制造
疯狂的维修2 天前
关于Gateway configration studio软件配置网关
网络协议·c#·自动化·gateway
arbboter3 天前
【自动化】深入浅出UIAutomationClient:C#桌面自动化实战指南
运维·c#·自动化·inspect·uiautomation·uia·桌面自动化