rpa_uia_getElementProp
获取元素属性
1. 函数
rpa_uia_getElementProp(appId, elementId, propName, index=0, waitElement=True)
- appId:字符串类型,程序Id
- elementId:字符串类型,通过捕获元素功能保存的元素Id
- propName:字符串类型,属性名称
- 返回bool的属性包括'visible', 'enabled', 'ready', 'active', 'selected', 'checked', 'editable'
- 返回字符串的属性包括'title', 'text'
- index:整数类型,元素序号,若捕获到的元素存在多个时,标识操作的元素序号,索引从0开始
- waitElement:bool类型,是否等待元素出现。若值为True,函数先等待元素出现,再执行操作;若值为False,函数直接执行操作。默认等待10秒;
2. 返回值
返回元素属性,若获取成功返回属性值,若属性不存在,返回None,通过rpa_getLastErrorCode()获取错误码,rpa_getLastErrorMsg()获取错误信息。
返回值类型与参数propName相关,参照参数说明
3. 示例
- 获取selected属性
# 获取所有RadioButton的文本
count = rpa_uia_getElementCount(appId, "RadioButton", False)
for index in range(count):
text = rpa_uia_getElementText(appId, "RadioButton", index, False)
print(text)
# 选中第一个RadioButton
rpa_uia_selectElement(appId, "RadioButton", index=0, waitElement=True)
# 获取所有RadioButton的选中状态
for index in range(checkCount):
state = rpa_uia_getElementProp(appId, 'RadioButton', 'selected', index, waitElement=True)
if rpa_getLastErrorCode() > 0:
print('错误码:%d,错误信息:%s' % (rpa_getLastErrorCode(), rpa_getLastErrorMsg()))
print(str(state))
- 获取ready属性和title属性
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')