在web自动化中,有时候我们界面上明明定位到了该元素,但是就是点击不到,怎么回事?
--可能是没有切换到对应的frame或者没有切换到对应窗口!!!
切换frame用于在同一个窗口中切换到frame上下文,以便操作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,以奋斗起笔 打开了一个新的浏览器窗口,如果我们想要操作打开的新窗口,就必须先 切换窗口;