RPA脚本定制进阶:元素定位稳定性优化的8个核心技巧

做 RPA 开发的朋友,你有没有过这种经历? 你花了一天,做了个自动化流程,测试的时候,跑的好好的,结果过了两天,再跑,就报错了,说 “找不到元素”。 你改了半天,好不容易改好了,过两天,又报错了,你...

做 RPA 开发的朋友,你有没有过这种经历?

你花了一天,做了个自动化流程,测试的时候,跑的好好的,结果过了两天,再跑,就报错了,说 “找不到元素”。

你改了半天,好不容易改好了,过两天,又报错了,你都快疯了。

这就是因为,你的元素定位,没做好,不稳定。

今天我就给你 8 个,元素定位稳定性优化的核心技巧,学会了,你的流程,跑几个月都不会报错,稳定性提升 99%。

为什么你的元素定位,总是不稳定?

很多人做元素定位,就只用 ID,或者只用坐标,结果,网页一更新,ID 变了,窗口一挪,坐标变了,就找不到元素了。

元素定位的核心,就是要找到一个,不管网页怎么变,都能唯一标识这个元素的特征,这样,不管怎么变,你都能找到它。

这 8 个技巧,帮你搞定稳定性

1. 别只用 ID,用多属性组合定位

很多网页的 ID,是动态的,每次打开都不一样,比如id="button12345",后面的数字,每次都变,你用 ID 定位,下次就找不到了。

你要用多属性组合,比如tag=div AND text=确定 AND class=btn,组合起来,就算 ID 变了,这些属性不变,你也能找到元素。

2. 用 XPath 的文本定位,更稳定

对于按钮、链接这些,有固定文本的,你用 XPath 的文本定位,比如//*[text()='确定'],这个特别稳定,不管其他属性怎么变,文本不变,就能找到。

3. 加等待,等元素加载出来再操作

很多人报错,不是定位不对,是元素还没加载出来,你就去点,当然找不到了。

你别用固定的延时,你用 “等待元素出现”,等元素加载出来了,你再操作,这样就不会错了。

4. 用相对定位,别用绝对定位

很多人用工具生成的 XPath,是绝对定位,比如/html/body/div[1]/div[2]/button,这个特别不稳定,网页的结构一变,就找不到了。

你要用相对定位,从最近的父元素开始,找相对的位置,这样就稳定多了。

5. 处理 iframe 的问题

很多网页,用了 iframe,你要是不切换 iframe,就找不到里面的元素,当然报错了。

你做操作之前,先切换到对应的 iframe,操作完了,再切回来,就好了。

6. 处理 ShadowDOM 的问题

现在很多网页,用了 ShadowDOM,普通的定位,找不到里面的元素,你要先把 ShadowDOM 的根节点拿到,然后再在里面找元素,就找到了。

7. 加重试机制,找不到就重试

就算你做的再好,有时候网络卡了,元素加载慢了,也会找不到,所以你加个重试机制,找不到了,重试 3 次,要是还找不到,再报错,这样,大部分的偶发的问题,都能解决。

8. 用图像识别兜底

要是实在是元素定位不了,比如有些老的软件,没有元素,你就用图像识别,识别那个按钮的图片,然后点击,这个也很稳定,能兜底。


很多人说,元素定位有什么难的,拖个组件就行了。

我倒觉得,元素定位,是 RPA 最核心的基础,你把这个做好了,你的流程的稳定性,就能提升一大截,不然,你做的流程,跑两天就坏了,等于白做。有人说元素定位不用学,工具自动就搞定了,我倒觉得,懂这些技巧,才能做真正稳定的流程,你同意吗?

联系我们

联系我们

微信:17639573648

在线咨询: QQ交谈

邮箱: 17473648@qq.com

工作时间:周一至周五,9:00-17:30,节假日休息
返回顶部
饶平县郁南县云城区良庆区罗定市江南区揭东区普宁市神湾镇坦洲镇邕宁区武鸣县上林县青秀区三乡镇