查找OCR文本位置
命令说明
使用本地OCR在窗口范围内查找指定文本的位置,成功则返回字典类型的文本位置,失败则引发异常。调用时不需要访问网络,没有调用频次的限制,但需要消耗一定的系统资源
命令原型
objPoint = LocalOCR.Find(objElement, objRect,sText, sRule, iOccurrence, iTimeOut, optionArgs)
命令参数
参数 | 必选 | 类型 | 默认值 | 说明 |
---|---|---|---|---|
objElement | True | decorator | @ui"" | 对应需要操作的界面元素,当属性传递为 字符串 类型时,作为特征串查找界面元素,当属性传递为 UiElement 类型时,直接对 UiElement 对应的界面元素进行点击操作 |
objRect | True | dictionary | {"x":0,"y":0,"width":0,"height":0} | 需要进行OCR文字识别的范围,程序会在控件这个范围内进行文字识别,如果范围传递为 {"x":0,"y":0,"width":0,"height":0},则进行控件矩形区域范围内的文字识别 |
sText | True | string | "" | 查找元素时使用的文本 |
sRule | True | enum | "instr" | 查找文本时使用的规则 |
iOccurrence | True | number | 1 | 如果“文本”字段中的字符串在指示的界面元素中出现多次,请在此处指定要单击的出现次数。例如,如果字符串出现4次并且您要单击第一个匹配项,请在此字段中写入1 |
iTimeOut | True | number | 10000 | 指定在SelectorNotFoundException引发异常之前等待活动运行的时间量(以毫秒为单位)。默认值为10000毫秒(10秒) |
bContinueOnError | False | boolean | False | 指定即使活动引发错误,自动化是否仍应继续。该字段仅支持布尔值(True,False)。默认值为False |
iDelayAfter | False | number | 300 | 执行活动后的延迟时间(以毫秒为单位)。默认时间为300毫秒 |
iDelayBefore | False | number | 200 | 活动开始执行任何操作之前的延迟时间(以毫秒为单位)。默认的时间量是200毫秒 |
bSetForeground | False | boolean | True | 进行操作之前,是否先将目标窗口激活 |
返回结果
objPoint,将命令运行后的结果赋值给此变量。
运行实例
/*********************************查找OCR文本位置***************************************
命令原型:
objPoint = LocalOCR.Find(@ui"", {"x":0,"y":0,"width":0,"height":0},"", "instr", 1, 10000, {"bContinueOnError":false,"iDelayAfter":300,"iDelayBefore":200,"bSetForeground":true})
入参:
objUiElement--识别目标。
objRect--目标识别范围。默认值:{"x":0,"y":0,"width":0,"height":0}
sText--查找文本。注:查找元素时使用的文本
sRule--查找规则。注:查找文本时使用的规则
iOccurrence--相似结果位置。
iTimeOut--超时时间。注:指定在SelectorNotFoundException引发异常之前等待活动运行的时间量(以毫秒为单位)。默认值为10000毫秒(10秒)
optionArgs--可选参数(包括:错误继续执行、执行后延时、执行前延时、激活窗口).Type:Dict
出参:
objPoint--函数调用的输出保存到的变量。
注意事项:
1.要保证操作的页面为打开状态,否则会报错。
2.调用时不需要使用外部网络,但是需要消耗一部分系统资源。
********************************************************************************/
Dim objPoint = ""
objPoint = LocalOCR.Find(@ui"文本<span>_查找OCR文本位置2", {"x":0,"y":0,"width":0,"height":0},"文本", "instr", 1, 10000, {"bContinueOnError":false,"iDelayAfter":300,"iDelayBefore":200,"bSetForeground":true})
TracePrint(objPoint)