使用uibot 的问题
1、无法跨模块引用
UIbot是允许封装函数和多模块协作的,引用方法为
Import 流程块名 流程块名.函数名 |
此处的问题是“流程块名”不是当前流程块显示的名称,名称应该是“流程块”+流程块编号,如流程块1。
所以新建流程块时应保留默认的流程块信息,补充备注信息。
2、点击图像无法识别图形
Image.Click默认按照选定图形中的文字进行识别,具体说明如下图
若需要精确识别选中的图形则应修改width和height的值,可以限制到指定区域,也可以覆盖到全屏。
{"x": 0, "y": 0, "width": 10000, "height": 9000} |
3、单行代码测试正常,使用新实例或并入全流程则报错图像识别超时
主要是使用Mouse.Action的场景,
Mouse.Action(@ui"块级元素<div>_.index-logo-srcnew,.index-logo-peak{disp","left","click",10000,{"bContinueOnError": false, "iDelayAfter": 300, "iDelayBefore": 200, "bSetForeground": true, "sCursorPosition": "Center", "iCursorOffsetX": 0, "iCursorOffsetY": 0, "sKeyModifiers": [],"sSimulate": "simulate", "bMoveSmoothly": false}) |
此时应检查选择的图像是否带有固定ID
排查思路:
1)在可视化状态下点击编辑
2)逐个点开已生效各个特征筛选器,
查看右侧属性值中id或title等定值字段是否填写了指定数值
在属性值中绑定的具体值会依赖于界面的属性内容,如果界面内容改变了则会导致界面属性内容变化,当固定的属性值变化时则会造成图像识别超时。
3)解决方法
直接删除具体属性值改为*或取消特征筛选器,修改完后再使用右上角的“校验目标”重新校验,也可以使用高亮显示确定一下目标是否被选中。
此时存在两种情况:
① 校验正常,可以选中目标,此时可以直接确认使用当前的识别方案;
② 校验失败:此时应重新分析所有特征筛选器是否还存在固定值或使用了固定标签等,重新调测,直到校验通过才是可用的识别方案。