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: \\_\\_\*
### List
- [UIOSelector_Get_UIOList](#UIOSelector_Get_UIOList)
- [UIOSelector_Get_UIO](#UIOSelector_Get_UIO)
- [UIOSelector_Exist_Bool](#UIOSelector_Exist_Bool)
- [UIOSelectorsSecs_WaitAppear_List](#UIOSelectorsSecs_WaitAppear_List)
- [UIOSelectorsSecs_WaitDisappear_List](#UIOSelectorsSecs_WaitDisappear_List)
- [UIOSelectorSecs_WaitAppear_Bool](#UIOSelectorSecs_WaitAppear_Bool)
- [UIOSelectorSecs_WaitDisappear_Bool](#UIOSelectorSecs_WaitDisappear_Bool)
- [UIOSelector_Get_BitnessInt](#UIOSelector_Get_BitnessInt)
- [UIOSelector_SearchChildByMouse_UIO](#UIOSelector_SearchChildByMouse_UIO)
- [UIOSelector_SearchChildByMouse_UIOTree](#UIOSelector_SearchChildByMouse_UIOTree)
- [UIOSelector_Get_UIOInfoList](#UIOSelector_Get_UIOInfoList)
- [UIOSelector_IsExist_Bool](#UIOSelector_IsExist_Bool)
- [UIOSelector_WaitAppear_Dict](#UIOSelector_WaitAppear_Dict)
- [UIOSelector_TryRestore_Dict](#UIOSelector_TryRestore_Dict)
- [UIOSelector_Get_UIOActivityList](#UIOSelector_Get_UIOActivityList)
- [UIOSelectorUIOActivity_Run_Dict](#UIOSelectorUIOActivity_Run_Dict)
- [UIOSelector_Get_UIOInfo](#UIOSelector_Get_UIOInfo)
- [UIOSelector_GetChildList_UIOList](#UIOSelector_GetChildList_UIOList)
- [UIOSelector_SearchUIONormalize_UIOSelector](#UIOSelector_SearchUIONormalize_UIOSelector)
- [UIOSelector_SearchProcessNormalize_UIOSelector](#UIOSelector_SearchProcessNormalize_UIOSelector)
- [UIOSelector_FocusHighlight](#UIOSelector_FocusHighlight)
- [UIOSelector_Highlight](#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
___