循环相似元素(Web)并点击的替代解决方案
评论
收藏

循环相似元素(Web)并点击的替代解决方案

经验分享
琥珀
2024-07-31 19:46·浏览量:4935
琥珀
发布于 2024-07-31 19:464935浏览

循环相似元素是客户常用的指令,理想情况是:循环相似元素+点击当前循环项,而元素本身在捕获的时候就会遇到诸多问题,多个元素稳定性则会更加降低,除了死磕”元素捕获“之外,在实际应用过程中也有许多常用的灵活的方法,可以一定程度上替代或改进此指令的使用。

一、问题类型:

  • 无法捕获目标相似元素组,也就无法点击
  • 循环相似元素后,点击元素点不对位置
  • 第一次循环正确,从第二次就点击不了

二、前期排查:

  • 使用深度模式也无法捕获相似元素列表深度模式捕获相似元素方法_参考链接_https://www.bilibili.com/video/BV17f4y127e7/?spm_id_from=333.999.0.0&vd_source=6206d6093caa9f2868ab9ede3d6d40b8
  • 确保无元素遮挡,排除元素偏移等元素偏移参考链接_https://www.yingdao.com/community/detaildiscuss?id=9656fdca-a63f-4e50-af09-f597570031c8 去除勾选人工点击_参考链接_https://www.yingdao.com/community/detaildiscuss?id=328e2cac-2fd7-4585-b4e5-d3fdbd4120cd&tag=&from=userCenter&sort=createTime&page=1
  • 打开开发者模式排查目标相似元素组层级是否一致

三、解决方案

1.编辑元素属性

通用性:⭐⭐⭐⭐⭐  稳定性:⭐⭐⭐⭐⭐

原理:使用动态元素定位,以选择下拉框为例,每次点击的元素的名字和位置都发生变化,将其中每次不一样的定量提出来设置为全局变量,通过改变全局变量的值,改变元素文本/位置进行定位。

操作:设置全局变量_获取其中一个元素_编辑元素_在外层加上循环并改变默认值

注意事项:

  • 选择属性作为变量时根据实际情况:确定顺序的情况优先选择index,确定内容选择innerText
  • 全局变量的值可以利用循环设置,外层循环中当前循环项可以是字符串or数字,可以用列表循环/次数循环

2.鼠标点击加滚轮

通用性:⭐⭐⭐       稳定性:⭐⭐⭐

操作:确定鼠标点击位置,循环增加位置(滚轮操作/若无滚轮可将点击位置每次偏移固定量)


3.懒加载指令解决(对于相似元素列表捕获不全_只可捕获到显现在界面上的部分)

通用性:⭐⭐         稳定性:⭐⭐⭐

操作:使用指令”获取相似元素列表-懒加载“尝试抓取相似元素

Ps:关联元素解决懒加载问题_参考链接_https://www.yingdao.com/community/detaildiscuss?id=f9e8ff68-1b0a-40db-a056-82f5fc43c8dd

4.将循环相似元素指令拆分替代。

通用性:⭐⭐         稳定性:⭐⭐⭐⭐⭐

原理:循环相似元素可以拆分为:获取列表+循环列表。如在下拉框内容无法捕获元素,则利用下拉框自带属性和指令,将循环相似元素拆分为获取列表+循列表+设置下拉框选项。

操作获取下拉框选项获得列表---循环列表并保存”当前循环项“---再使用设置下拉框指令---设置为”当前循环项“

 此方法也适用于”只需循环相似元素中的部分相似元素“时循环相似元素中的高级选项失效:转化为列表后可设置循环开始和结束


四、相关解决方案推荐:

循环相似元素第一次成功,第二次失败的解决方案_https://www.yingdao.com/community/detaildiscuss?id=bfb73350-0550-459c-8a2a-87310586dbb1

【小技巧】遇到循环过程中某项元素会消失的相似元素组该如何处理?(报错信息:未找到指定id的元素/下标值超过最大下标)_https://www.yingdao.com/community/detaildiscuss?id=698fd948-bf07-4600-ac31-2a30e916950a

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