循环相似元素,第二次循环元素失效的问题解决方案
评论
收藏

循环相似元素,第二次循环元素失效的问题解决方案

经验分享
云烟
2024-03-13 20:07·浏览量:2241
云烟
发布于 2024-03-13 20:072241浏览

一、问题出现场景

需要循环连续点击多个相似元素,执行自动化处理,例如依次点击导航栏所有元素,依次点击所有商品等,期间第一次循环正常运行,第二次点击循环元素时找不到元素(必现)

二、问题原因

底层逻辑,执行循环相似元素指令之前,会先获取界面上的相似元素,进行相似元素循环,循环期间元素发生变化,不会再重新获取相似元素,导致出现找不到元素。即点击第一次相似元素之后,页面/元素刷新,第二次循环则无法正常执行。

三、解决方案

1.网页:判断是否可通过后退的方式返回初始网页,每次循环后后退至初始网页再次循环


2.相似元素点击之后界面发生变化,无法返回初始界面,以循环点击手机抖音商城商品信息加入购物车为例,流程如下:

循环点击每个类别-------------------->点击立即购买----------------------->返回-------------------->再次点选规格


此时第二次循环元素对象发生变化,但相似元素位置不变,因此可以重新获取相似元素列表,然后用相似元素位置下标进行定位点击,如下图。


3.相似元素位置发生变化,但文本不变,可以用动态元素定位按钮,以循环点击切换店铺为例,每次切换之后店铺列表发生变化,可以获取相似元素文本列表的方式,循环列表,将按钮文本设置为全局变量,以动态元素的方式,给元素属性增加一个innerText属性,设置一个全局变量(店铺文本),通过改变全局变量的值,改变元素文本属性进行定位元素。如下图


收藏3
全部评论1
最新
发布评论
评论