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
___