rpa_uia_captureAsImage
获取元素截图,或截取指定矩形范围的图片
1. 函数
rpa_uia_captureAsImage(appId, elementId, path, index=0, waitElement=True, rect=(0,0,0,0))
- appId:字符串类型,程序Id
- elementId:字符串类型,通过捕获元素功能保存的元素Id
- path:图片的保存路径
- index:整数类型,元素序号,若捕获到的元素存在多个时,标识操作的元素序号,索引从0开始;
- waitElement:bool类型,是否等待元素出现。若值为True,函数先等待元素出现,再执行操作;若值为False,函数直接执行操作。默认等待10秒;
- rect:tuple类型,值分别为left, top, right, bottom,全局坐标,若矩形范围有效,则截取矩形范围图片
2. 返回值
若执行成功返回True,执行失败返回False,通过rpa_getLastErrorCode()获取错误码,rpa_getLastErrorMsg()获取错误信息。
3. 示例
- 抓取京麦登录界面图片,通过OCR识别是否存在‘立即打开’字符串,若存在则表示账号已登录
# 调用OCR解析图片
def parseError(imagePath):
textInfo = rpa_ocr_normal(imagePath)
print(textInfo)
recognizeResult = rpa_ocr_parseCharacterInfo(textInfo)
if not recognizeResult.success:
return 'OCR识别失败'
# 识别文本信息
listText = recognizeResult.listText
if not listText:
return 'OCR识别结果为空'
error = listText[0].text
if '立即打开' in error:
return '登录失败,账号已登录'
return error
# 抓图
def capture(appId):
dir = rpa_view_readParam('临时目录')
imagePath = dir + '/login.png'
if not rpa_uia_captureAsImage(appId, '本地已登录', imagePath, index=0, waitElement=True):
rpa_exit()
errorDesc = parseError(imagePath)
print(errorDesc)
其中,【本地已登录】元素如下: