rpa_uia_waitElementProp
等待元素属性的值,与指定值是否相等,若相等该函数将立即返回,否则将一直等待,直至超时
1. 函数
rpa_uia_waitElementProp(appId, elementId, propName, propValue, timeout=10.0, index=0)
appId:字符串类型,程序Id
elementId:字符串类型,通过捕获元素功能保存的元素Id
propName:字符串类型,属性名称
返回bool的属性包括'visible', 'enabled', 'ready', 'active', 'selected', 'checked', 'editable'
返回字符串的属性包括'title', 'text'
propValue:属性值,类型与propName相关联
timeout:浮点类型,超时时间,默认为10秒
index:整数类型,元素序号,若捕获到的元素存在多个时,标识操作的元素序号,索引从0开始
2. 返回值
若元素属性的值,与指定值相等返回True,元素不存在指定属性,或超时将返回False。通过rpa_getLastErrorCode()获取错误码,rpa_getLastErrorMsg()获取错误信息。
3. 示例
def getAppId(seller):
# 根据名称获取所有pid
pids = rpa_uia_getAppIds('jm_dd_workbench.exe')
for pid in pids:
# 连接咚咚窗口
appId = rpa_uia_connectApp(pid=pid)
print('等待ready开始')
# 等待属性
if not rpa_uia_waitElementProp(appId, "咚咚主窗口", 'ready', True, timeout=30.0, index=0):
rpa_showMsgBox('等待咚咚ready失败!')
rpa_log('错误码:%d, 错误描述:%s' %(rpa_getLastErrorCode(), rpa_getLastErrorMsg()))
rpa_exit()
print('等待ready结束')
# 获取title
title = rpa_uia_getElementProp(appId, "咚咚主窗口", 'title', index=0, waitElement=True)
if title is None:
rpa_showMsgBox('获取咚咚窗口Title失败!')
rpa_log('错误码:%d, 错误描述:%s' %(rpa_getLastErrorCode(), rpa_getLastErrorMsg()))
rpa_exit()
workstationTitle = seller + '的工作台'
if title == workstationTitle:
return appId
return None
# 根据pin,获取咚咚的AppId
appId = getAppId('zhouwei_7191')
其中,【咚咚主窗口】为通过‘捕获原生元素’功能捕获的原生节点。