11 KiB
Here you can find the docs and examples of the OpenRPA desktop app access.
Definitions
UIO - UI Object (class of pywinauto UI object) [pywinauto.base_wrapper]
UIOSelector - List of dict (key attributes)
PWA - PyWinAuto
PWASpecification - List of dict (key attributes in pywinauto.find_window notation)
UIOTree - Recursive Dict of Dict ... (UI Parent -> Child hierarchy)
UIOInfo - Dict of UIO attributes
UIOActivity - Activity of the UIO (UI object) from the Pywinauto module
UIOEI - UI Object info object
UIOSelector structure & examples
Desciption
[
{
"index" - index of the UI element in parent child list,
"depth_start" - глубина, с которой начинается поиск (по умолчанию 1),
"depth_end" - глубина, до которой ведется поиск (по умолчанию 1),
"class_name" - наименование класса, который требуется искать,
"title" - наименование заголовка,
"rich_text" - наименование rich_text,
"backend": <"win32"||"uia", only for the 1-st list element> - if not specified, use mDefaultPywinautoBackend
"is_enabled": - признак, что элемент доступен для выполнения действий,
"is_visible": - признак, что элемент отображается на экране,
},
{ ... }
]
Example
[{"title":"Настройка периода","class_name":"V8NewLocalFrameBaseWnd","backend":"uia"},{"ctrl_index":0},{"ctrl_index":0},{"ctrl_index":5}]
The UIDesktop module (OpenRPA/Robot/UIDesktop.py)
The UIDesktop is extension of the pywinauto module which provide access to the desktop apps by the win32 and ui automation dll frameworks (big thx to the Microsoft :) ).
Functions
Naming convention: <InArgument>_<ActivityName>_<OutArgument - if exist>
List
- UIOSelector_Get_UIOList
- UIOSelector_Get_UIO
- UIOSelector_Exist_Bool
- UIOSelectorsSecs_WaitAppear_List
- UIOSelectorsSecs_WaitDisappear_List
- UIOSelectorSecs_WaitAppear_Bool
- UIOSelectorSecs_WaitDisappear_Bool
- UIOSelector_Get_BitnessInt
- UIOSelector_SearchChildByMouse_UIO
- UIOSelector_SearchChildByMouse_UIOTree
- UIOSelector_Get_UIOInfoList
- UIOSelector_IsExist_Bool
- UIOSelector_WaitAppear_Dict
- UIOSelector_TryRestore_Dict
- UIOSelector_Get_UIOActivityList
- UIOSelectorUIOActivity_Run_Dict
- UIOSelector_Get_UIOInfo
- UIOSelector_GetChildList_UIOList
- UIOSelector_SearchUIONormalize_UIOSelector
- UIOSelector_SearchProcessNormalize_UIOSelector
- UIOSelector_FocusHighlight
- UIOSelector_Highlight
Description
UIOSelector_Get_UIOList (inSpecificationList,inElement=None,inFlagRaiseException=True)
Get list of the UIO
inSpecificationList - UIOSelector - List of dict (key attributes)
inElement - UIO pywinauto Входной элемент - показатель, что не требуется выполнять коннект к процессу
inFlagRaiseException - Флаг True - выкинуть ошибку в случае обнаружении пустого списка
UIOSelector_Get_UIO (inSpecificationList,inElement=None,inFlagRaiseException=True)
Get first (if more than one UIO are applied) UIO (UI Object)
inSpecificationList - UIOSelector
inElement - Входной элемент - показатель, что не требуется выполнять коннект к процессу
inFlagRaiseException - Флаг True - выкинуть ошибку в случае обнаружении пустого списка
UIOSelector_Exist_Bool (inSpecificationList)
Check if UIO exist (Identified by the UIOSelector)
inSpecificationList - UIOSelector
UIOSelectorsSecs_WaitAppear_List (inSpecificationListList,inWaitSecs,inFlagWaitAllInMoment=False)
Wait for UIO is appear (at least one of them or all at the same time). return: [0,1,2] - index of UIOSpecification, which is appear
inSpecificationListList - !List! of the UIOSelector
inWaitSecs - Время ожидания объекта в секундах
inFlagWaitAllInMoment - доп. условие - ожидать появление всех UIOSelector одновременно
UIOSelectorsSecs_WaitDisappear_List (inSpecificationListList,inWaitSecs,inFlagWaitAllInMoment=False)
Wait for UIO is Disappear (at least one of them or all at the same time). return: [0,1,2] - index of UIOSpecification, which is Disappear
inSpecificationListList - !List! of the UIOSelector
inWaitSecs - Время ожидания пропажи объекта в секундах
inFlagWaitAllInMoment - доп. условие - ожидать пропажу всех UIOSelector одновременно
UIOSelectorSecs_WaitAppear_Bool (inSpecificationList,inWaitSecs)
Wait for UIO is appear (at least one of them or all at the same time). return: Bool - True - UIO is appear.
inSpecificationList - UIOSelector
inWaitSecs - Время ожидания объекта в секундах
UIOSelectorSecs_WaitDisappear_Bool (inSpecificationList,inWaitSecs)
Wait for UIO is disappear (at least one of them or all at the same time) . return: Bool - True - UIO is Disappear.
inSpecificationList - UIOSelector
inWaitSecs - Время ожидания пропажи объекта в секундах
UIOSelector_Get_BitnessInt (inSpecificationList)
Get process bitness (32 or 64). return None (if Process not found), int 32, or int 64
inSpecificationList - UIOSelector
UIOSelector_SearchChildByMouse_UIO(inElementSpecification)
Run the search UIO by mouse hover event. result = pywinauto element wrapper instance or None
inElementSpecification - UIOSelector (see description on the top of the document)
UIOSelector_SearchChildByMouse_UIOTree(inElementSpecification)
Run the search UIO by mouse hover event. result = pywinauto element wrapper instance or None
inElementSpecification - UIOSelector
UIOSelector_Get_UIOInfoList (inSpecificationList,inElement=None)
Получить список информационных объектов, который удовлетворяет условиям
inSpecificationList - UIOSelector
UIOSelector_IsExist_Bool (inSpecificationList)
Check is the UIO/UIO's by the UIOSelector exist
inSpecificationList - UIOSelector
UIOSelector_WaitAppear_Dict(inSpecificationList,inTimeout=60)
Wait for the UIO by the UIOSelector appear
inSpecificationList - UIOSelector
UIOSelector_TryRestore_Dict(inSpecificationList)
Try to restore (maximize) window, if it's was minimized. (особенность uia backend - он не может прицепиться к окну, если оно свернуто)
inSpecificationList - UIOSelector
UIOSelector_Get_UIOActivityList (inControlSpecificationArray)
Get the list of the UI object activities
inControlSpecificationArray - UIOSelector
UIOSelectorUIOActivity_Run_Dict(inControlSpecificationArray,inActionName,inArgumentList=\[\],inkwArgumentObject={})
Run the activity in UIO (UI Object)
inControlSpecificationArray - UIOSelector
inActionName - UIOActivity (name) from Pywinauto
UIOSelector_Get_UIOInfo(inControlSpecificationArray)
Get the UIO dict of the attributes
inControlSpecificationArray - UIOSelector
UIOSelector_GetChildList_UIOList(inControlSpecificationArray=\[\],inBackend=mDefaultPywinautoBackend)
Get list of child UIO's by Parent UIOSelector
inControlSpecificationArray - UIOSelector
UIOSelector_SearchUIONormalize_UIOSelector (inControlSpecificationArray)
Подготовить массив для обращения к поиску элементов
inControlSpecificationArray - UIOSelector
UIOSelector_SearchProcessNormalize_UIOSelector (inControlSpecificationArray)
Подготовить массив для обращения к поиску процесса (отличается от поиска элемента, т.к. данная функция нужна для нормализации спецификации для подключения к процессу с окнами)
inControlSpecificationArray - UIOSelector
UIOSelector_FocusHighlight(inSpecificationArray)
Set focus and highlight (draw outline) the element (in app) by the UIO selector.
inSpecificationArray - UIOSelector
UIOSelector_Highlight(inSpecificationArray)
Highlight (draw outline) the element (in app) by the UIO selector.
inSpecificationArray - UIOSelector