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,以奋斗起笔 打开了一个新的浏览器窗口,如果我们想要操作打开的新窗口,就必须先 切换窗口;

相关推荐
王者鳜錸10 小时前
使用Selenium自动化获取抖音创作者平台视频数据
selenium·自动化·音视频
chao_78910 小时前
frame 与新窗口切换操作【selenium 】
前端·javascript·css·selenium·测试工具·自动化·html
LCG元14 小时前
基于MCP的CI/CD流水线:自动化部署到云平台的实践
运维·ci/cd·自动化
I'mSQL14 小时前
C#与FX5U进行Socket通信
运维·服务器·自动化·wpf
人机与认知实验室18 小时前
自动化与智能化
运维·人工智能·自动化
cpsvps1 天前
香港服务器Python自动化巡检脚本开发与邮件告警集成
服务器·python·自动化
G_whang1 天前
jenkins自动化部署前端vue+docker项目
前端·自动化·jenkins
大熋1 天前
Playwright Python 教程:网页自动化
开发语言·python·自动化
宇钶宇夕1 天前
S7-200 SMART CPU 密码清除全指南:从已知密码到忘记密码的解决方法
运维·服务器·数据库·程序人生·自动化
xiaocainiao8811 天前
Python 实战:构建 Git 自动化助手
git·python·自动化