元素捕获的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次,每次都重新获取相似元素列表,并点击对应的当前项,获取当前项的商品价格。