元素捕获的8种技巧:
动态元素
怎么获取下拉框中的一个选项?(非标准下拉框,div元素)
方法一:
通过循环下拉列表中的项与目标项进行对比,如果一致则点击选择。
方法二:
通过动态元素的方式获取。
将全局变量做为参数写入要获取的元素当中。
当全局变量改变时,获取的元素也就不同。
PS:
动态元素无法在「元素编辑器」中校验到,因为流程没有运行时没有值,可以在全局变量中设置一个默认值,方便检验确认。
终极限制条件
如何获取全网的所有img图片?可以使用终极限制条件。
只勾选稳定的属性和层级,取消所有父级属性。
捕获相似元素时,哪相似元素有部分div不同时,无法全部捕获,可以取消前面的父级元素,只选择最重要的4级(保留相同元素,放开不同元素):
使用index位置定位
元素内容经常变换,但位置不变,可以使用 index
属性。
使用innerText条件
元素位置经常改变,但内容不变(如选项卡),可以使用 innerText
属性。
通过关联元素找到元素
我们可以通过关联元素找到捕获不到的元素。
案例一:
如图的商品订单表,如果状态为完成,则确认发货。该如何处理?
1、循环相似元素:每一行tr的商品订单。
2、获取元素对象:获取订单完成状态的相似元素组,通过关联上一步的父级元素,获取循环中当前的订单状态。
3、if判断,如果状态为完成,则点击确认发货。
4、确认发货元素的获取和订单状态元素的获取方法一致:获取发货对象的相似元素组,通过关联上一步的父级元素,获取循环中当前的确认发货元素。
相比以上方法,我们也可以使用「获取关联元素
」来查找。
通过一个元素,找到它的关联元素(父元素、子元素、兄弟元素)。
案例二:
如图,当列表并不是相同元素组成(一个a标签,两个div),无法捕获相似元素组,就可以捕获它们的父元素。
「获取关联元素」指令:
从父元素中获取相似元素列表
如何从父元素中获取一组相似元素?(不要页面所有图片,但需要商品详情页的图片)
1、获取父元素的元素对象;
2、调用「获取相似元素列表」指令;
3、勾选父元素,选择父元素对象;
捕获一闪而过的悬浮元素
1、一闪消失的元素 F12-Network-Slow3G
2、一闪隐藏的元素 网页源代码设置style属性可见
改成: style="block"
(让元素变成可见)。
未找到指定ID的元素
我们通过京东的商品型号去获取商品价格,循环商品型号列表时,会出现无法找到ID。
因为每次点击一个型号,都会刷新到一个新的url,获取的网页元素无效了。
如图:京东的商品规格型号点击后,会刷新网页,原来捕获的id无法再找到。
我们可以按商品数量(比如数量5),做for次数循环5次,每次都重新获取相似元素列表,并点击对应的当前项,获取当前项的商品价格。