开发者问答丨元素属性变化导致无法找到目标?

UiBot培训交流群里,有不少小伙伴提问:

UiBot 6.0.1遍历数组命令在哪儿?

数据索引越界,怎么回事?

模拟操作、后台操作、系统消息有何区别?

元素属性变化导致无法找到目标?

流程块与流程块之间有判断流程块,怎么传递值?

本期,我们一一来解答下这些问题。

UiBot 6.0.1遍历数组命令在哪儿?

UiBot 6.0.1的遍历数组命令在UiBot Creator的【词法语法】里,详见下图

开发者问答丨元素属性变化导致无法找到目标?

数据索引越界,怎么回事?

索引越界是超出了数组的最大长度,即访问了数组中不存在的索引对应元素,造成索引越界问题。

例如,创建一个长度为30的数组。因为数组索引是从0开始的,从0~29分别表示数组的第1~30的数组成员,当数据索引大于29时,就提示索引越界。

所以需要保证输入的值小于或等于数组的长度-1。

详情可回看《消失吧问题》第3期(08:10-10:21)

模拟操作、后台操作、系统消息有何区别?

在UiBot Creator中,高频用到的命令有【点击目标】【在目标中输入】等。

这些命令都有一个同名属性“操作类型”,分别有“模拟操作”“后台操作”“系统消息”这3个下拉选择项。它们有什么区别,该怎么使用呢?

三种操作类型的区别

模拟操作(simulate):指通过调用系统API mouseevent等实现鼠标操作,运行过程中会实际移动光标;

系统消息(message):指发送鼠标消息到目标元素,运行过程中不移动光标;

后台操作(uia):可以理解为调用了一次元素的鼠标响应回调函数。

后台操作识别的是软件UI元素,系统消息识别的是系统UI元素。

模拟操作就是模拟人工操作(可能会受到分辨率的影响,以及其他页面弹窗的影响),系统消息就是系统后台点击。

建议使用:

一般默认选择模拟操作,兼容性好;后台操作比较快,更精准。

由上往下(模拟操作 → 系统消息 → 后台操作)是底层到上层的顺序,越底层兼容性越好,上层有速度和精准的优势。

元素属性变化导致无法找到目标?

网页刷新后, 同一个输入框抓取到的元素属性ID是变化的。如果元素属性变化导致无法找到目标,可尝试将把变化的部分使用通配符 代替。

如果有些元素不支持通配符,可使用UiBot 6.0之后的版本,用UI分析器去识别目标,选择不会变化的元素去定位目标。

详情可回看《学妹邀你学RPA》第9期·UiBot6.0元素技巧讲解

流程块与流程块之间有判断流程块

怎么传递值?

流程块与流程块之间有判断流程块,可以设置全局变量(即流程图变量)传递值。

声明:
1.本内容作为作者独立观点,不代表RPA学习天地立场,RPA学习天地仅提供信息存储空间服务。
2.未经允许不得转载,如需转载和授权,请联系工作客服微信号。
3.如果对本稿件有异议或投诉,请联系邮箱或工作客服微信号。
作者:RPA学习天地,如若转载,请注明出处:https://www.rpa-learning.com/rpa-learning/4223

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注