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')
powered by Gitbook修订时间: 2021-04-15 15:56:54

找到相关内容

    未找到""相关内容

    找到相关内容

      未找到""相关内容