大数跨境
0
0

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

开发者问答丨元素属性变化导致无法找到目标? UB Store
2022-07-08
0
导读:有问必答

点击蓝字

关注UB Store公众号

UB Store

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元素技巧讲解




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

怎么传递值?

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


长按下方二维码,查看初级开发者指南2.6.1流程图变量:

END

点击“阅读原文”,了解更多

别忘了点赞在看

【声明】内容源于网络
0
0
UB Store
让一部分人先用好RPA机器人
内容 1242
粉丝 0
UB Store 让一部分人先用好RPA机器人
总阅读1.2k
粉丝0
内容1.2k