跳到主要内容

屏幕OCR识别

命令说明

使用本地OCR识别屏幕指定窗口范围内的文本内容。调用时不需要访问网络,没有调用频次的限制,但需要消耗一定的系统资源

命令原型

sText = LocalOCR.ScreenOCR(objElement,objRect,sOcrType,iTimeOut,optionArgs)

命令参数

参数必选类型默认值说明
objElementTruedecorator@ui""对应需要操作的界面元素,当属性传递为 字符串 类型时,作为特征串查找界面元素,当属性传递为 UiElement 类型时,直接对 UiElement 对应的界面元素进行点击操作
objRectTruedictionary{"x":0,"y":0,"width":0,"height":0}需要进行OCR文字识别的范围,程序会在控件这个范围内进行文字识别,如果范围传递为 {"x":0,"y":0,"width":0,"height":0},则进行控件矩形区域范围内的文字识别
sOcrTypeTrueenum"SceneText"待识别的文本类型
iTimeOutTruenumber10000指定在SelectorNotFoundException引发异常之前等待活动运行的时间量(以毫秒为单位)。默认值为10000毫秒(10秒)
bContinueOnErrorFalsebooleanFalse指定即使活动引发错误,自动化是否仍应继续。该字段仅支持布尔值(True,False)。默认值为False
iDelayAfterFalsenumber300执行活动后的延迟时间(以毫秒为单位)。默认时间为300毫秒
iDelayBeforeFalsenumber200活动开始执行任何操作之前的延迟时间(以毫秒为单位)。默认的时间量是200毫秒
bSetForegroundFalsebooleanTrue进行操作之前,是否先将目标窗口激活

返回结果

sText,将命令运行后的结果赋值给此变量。

运行实例

/*********************************屏幕OCR识别***************************************
命令原型:
sText = LocalOCR.ScreenOCR(@ui"",{"x":0,"y":0,"width":0,"height":0},"SceneText",10000,{"bContinueOnError":false,"iDelayAfter":300,"iDelayBefore":200,"bSetForeground":true})
入参:
objUiElement--识别目标。
objRect--目标识别范围。默认值:{"x":0,"y":0,"width":0,"height":0}
sOcrType--文本场景。注:待识别的文本类型
iTimeOut--超时时间。注:指定在SelectorNotFoundException引发异常之前等待活动运行的时间量(以毫秒为单位)。默认值为10000毫秒(10秒)
optionArgs--可选参数(包括:错误继续执行、执行后延时、执行前延时、激活窗口).Type:Dict
出参:
sText--函数调用的输出保存到的变量。
注意事项:
1.调用时不需要使用外部网络,但是需要消耗一部分系统资源。
2.注意文本类型的选择。
3.调用时限没有限制,但是因为占用系统资源,所以在使用时尽量设置延时调用。
********************************************************************************/
Dim sText = ""
sText = LocalOCR.ScreenOCR(@ui"文本<span>_屏幕OCR识别",{"x":0,"y":0,"width":0,"height":0},"SceneText",10000,{"bContinueOnError":false,"iDelayAfter":300,"iDelayBefore":200,"bSetForeground":true})
TracePrint(sText)

可视化样例