WAIT_AFTER_SEC_FLOAT=0.4# Время, которое ожидать после выполнения любой операции модуля Keyboard. Настройка является единой для всех участов кода, использующих модуль Keyboard. Если для некоторой функции требуется изменить данное время ожидания, то в отношении этой функции можно применить соответсвующий аргумент.
# ШЕСТНАДЦАТИРИЧНЫЙ СКАН-КОД В РУССКОЙ РАСКЛАДКЕ (НЕЗАВИСИМО ОТ ВЫБРАННОГО ЯЗЫКА НА КЛАВИАТУРЕ)
# ОТОБРАЖЕНИЕ СКАН КОДОВ НА КЛАВИАТУРЕ https://snipp.ru/handbk/scan-codes
WAIT_AFTER_SEC_FLOAT=0.4# Настройка модуля Mouse: Время, которое ожидать после выполнения любой операции модуля Mouse. Настройка является единой для всех участов кода, использующих модуль Mouse. Если для некоторой функции требуется изменить данное время ожидания, то в отношении этой функции можно применить соответсвующий аргумент.
"""Нажатие (вниз) кнопки мыши и затем немедленно выпуск (вверх) её. Допускается следующая параметризация. Если не указаны inXInt и inYInt - клик производится по месту нахождения указателя мыши.
"""Переместить указатель по координатам inXInt, inYInt, после чего нажать (вниз) клавишу мыши и не отпускать до выполнения соответсвующей команды (см. Up). Если координаты inXInt, inYInt не переданы - нажатие происходит на тех координатах X/Y, на которых указатель мыши находится.
"""Отпустить (вверх) клавишу мыши. Если координаты inXInt, inYInt не переданы - нажатие происходит на тех координатах X/Y, на которых указатель мыши находится.
"""Переместить указатель мыши на позицию inXInt, inYInt и выполнить вертикальную прокрутку (скроллинг) колесом мыши на количество щелчков inScrollClickCountInt.
"""!ТОЛЬКО ДЛЯ LINUX! Переместить указатель мыши на позицию inXInt, inYInt и выполнить горизонтальную прокрутку (скроллинг) виртуальным колесом мыши на количество щелчков inScrollClickCountInt.
WAIT_AFTER_SEC_FLOAT=0.4# Время, которое ожидать после выполнения любой операции модуля Keyboard. Настройка является единой для всех участов кода, использующих модуль Keyboard. Если для некоторой функции требуется изменить данное время ожидания, то в отношении этой функции можно применить соответсвующий аргумент.
# ШЕСТНАДЦАТИРИЧНЫЙ СКАН-КОД В РУССКОЙ РАСКЛАДКЕ (НЕЗАВИСИМО ОТ ВЫБРАННОГО ЯЗЫКА НА КЛАВИАТУРЕ)
# ОТОБРАЖЕНИЕ СКАН КОДОВ НА КЛАВИАТУРЕ https://snipp.ru/handbk/scan-codes
WAIT_AFTER_SEC_FLOAT=0.4# Настройка модуля Mouse: Время, которое ожидать после выполнения любой операции модуля Mouse. Настройка является единой для всех участов кода, использующих модуль Mouse. Если для некоторой функции требуется изменить данное время ожидания, то в отношении этой функции можно применить соответсвующий аргумент.
"""Нажатие (вниз) кнопки мыши и затем немедленно выпуск (вверх) её. Допускается следующая параметризация. Если не указаны inXInt и inYInt - клик производится по месту нахождения указателя мыши.
"""Переместить указатель по координатам inXInt, inYInt, после чего нажать (вниз) клавишу мыши и не отпускать до выполнения соответсвующей команды (см. Up). Если координаты inXInt, inYInt не переданы - нажатие происходит на тех координатах X/Y, на которых указатель мыши находится.
"""Отпустить (вверх) клавишу мыши. Если координаты inXInt, inYInt не переданы - нажатие происходит на тех координатах X/Y, на которых указатель мыши находится.
"""Переместить указатель мыши на позицию inXInt, inYInt и выполнить вертикальную прокрутку (скроллинг) колесом мыши на количество щелчков inScrollClickCountInt.
"""!ТОЛЬКО ДЛЯ LINUX! Переместить указатель мыши на позицию inXInt, inYInt и выполнить горизонтальную прокрутку (скроллинг) виртуальным колесом мыши на количество щелчков inScrollClickCountInt.
Are you ready to install the pyOpenRPA solution on your machine?
Готовы испытать всю мощь перспективных технологий?
Ok, we start.
**Do the following operations:**
Будет очень интересно - начинаем!
- Download the pyOpenRPA package from master branch on GitLab [Download ZIP](https://gitlab.com/UnicodeLabs/OpenRPA/-/archive/master/OpenRPA-master.zip)
- Unzip the package
**Для начала необходимо выполнить следующие действия:**
**Installation has been completed :)**
- Скачать пакет pyOpenRPA c главной страницы https://pyopenrpa.ru/
Модуль оркестратор - это координирующее звено, которое обеспечивает бесперебойную работа массива роботов. Этот массив может состоять как из одного так и из тысячи роботов RPA.
- Centralized/decentralized user control interface (applicable and for business users and for technical users). Web based, support desktop, tablet, phone.
- Automatized robots control (customized algorithms, robots scheduling)
- Source code mega flexibility: Light Orchestrator architecture is good for own customization
**Основные возможности**
************************************
Global settings dict concept
************************************
pyOpenRPA project is complex tool which consist of several executable modules such as Robot, Orchestrator, Studio,
The description of the GSettings you can find in executable module details.
pyOpenRPA - это сложное решение, которое направлено на упрощение жизни пользователей и разработчиков роботов.
************************************
Orchestrator how to configure
************************************
Для того, чтобы предлагать рынку гибкое, адаптивное и надежное решение, одним из архитектурных решений был выбран подхъод хранения !ВСЕЙ! конфигурационной информации в едином словаре, который мы называем GSettings.
GSettings - это многоуровневая и иерархичная структура, которая позволяет произвести широкую кастомизацию под свои нужды, и в то же время быть открытой к внедрению новых возможностей.
To init pyOpenRPA Orchestrator instance use script:
Ознакомиться со структурой GSettings можно по ссылке: :ref:`module.orchestrator.gsettings`
from pyOpenRPA import Orchestrator # Import orchestrator main
gSettings = SettingsTemplate.Create(inModeStr="BASIC") # Create GSettings with basic configuration
Orchestrator.Orchestrator(inGSettings=gSettings) # Call the orchestrator def
Мы не рекомендуем вносить изменения напрямую в GSettings, хоть мы и оставляем такую возможность. Для корректировки функциональности Вы можете воспользоваться соответствующей функцией в модуле Оркестратора (см. здесь: :ref:`module.orchestrator.defs`)
gSettings structure
Используя специальные функции модуля Оркестратора вы существенно увеличиваете шансы бесшовного перехода на новые версии pyOpenRPA, если вам это потребуется.
************************************
Orchestrator architecture
Архитектура
************************************
Orchestrator has several source code components:
- User/robot activity consolidated queue single thread (Processor)
- User/robot activity asynchonus many threads (Processor)
- Scheduler single thread (main)
- RDP keep active many thread
- Autocleaner single thread
- GUI keep active single thread
- HTTP web server single thread (create user socket threads)
-
Оркестратор состоит из следующих основных потоков:
Below you can find more information about all of the component.
- Процессорная очередь активностей (ActivityItem) (Processor)
- Функциональность асинхронного исполнения активностей (ActivityItem) (Processor)
- Поток интеллектуального расписания (main)
- Поток контроля активности RDP сессий
- Поток сбора мусорных данных
- Поток контроля графической сессии на учетной записи, где работает Оркестратор
- Поток веб-сервера Оркестратора
***************************
Component Processor
***************************
Sync - Append activity list to consolidated processor queue. Execution goes sequency by the activity list order
Async - Create New thread to execute the activity list
Ознакомиться с возможностями и функциями оркестратора можно по ссылке: :ref:`module.orchestrator.defs`
- Activity list
List of the activity item
Дорогие коллеги!
- Activity item
Мы знаем, что с pyOpenRPA вы сможете существенно улучшить качество вашего бизнеса. Платформа роботизации pyOpenRPA - это разработка, которая дает возможность делать виртуальных сотрудников (программных роботов RPA) выгодными, начиная от эффекта всего в **10 тыс. руб.** И управлять ими будете только Вы!
Activity item is universal mechanism to execute different algorythms from any sources.
The core feature of the Activity is to call python defs with args and kwargs.
If you need to init do some activity you can write some python def, then create Activity item with current def.
ATTENTION: In some cases (such as web transmition), when you can't transmit python def as object you can use symbolic names for python defs. It is apply you to init all of you want from the web UI.
Если у вас останутся вопросы, то вы всегда можете обратиться в центр поддержки клиентов pyOpenRPA. Контакты: :ref:`3.-Copyrights-&-Contacts`
?Why i cant transmit python def from the web
Because the WEB space is not the Python executable space. Interaction between it spaces create by JSON protocol. So, we know than JSON apply int, float, str, bool, None, list, dict - that is all.
pyOpenRPA - роботы помогут!
..note::
******************************
Быстрая навигация
******************************
Example
{
"Def":"DefAliasTest", # def link or def alias (look gSettings["Processor"]["AliasDefDict"])
Архитектура pyOpenRPA позволяет обмениваться сообщениями о выполнении функций через механизм активностей (ActivityItem).
На стороне Агента и Оркестратора реализована процессорная очередь, которая последовательно выполняет поставленные активности. Результат этих активностей сообщается инициатору (см. функции группы Agent... в Оркестраторе)
Взаимодействие между Оркестратором и Агентом, который развертнут на других графических сессиях, где будет происходить запуск робота.
Группа функций GSettings...
######################
**Группа функций GSettings...**
Вспомогательные функции для работы с глобальным словарем настроек Оркестратора
Группа функций Storage...
######################
**Группа функций Storage...**
Функции для взаимодействия со специальным хранилищем переменных, предназначенного для хранения информации от роботов.
!ВНИМАНИЕ! Данное хранилище сохраняется при перезагрузке Оркестратора из панели управления.
Группа функций OS...
######################
**Группа функций OS...**
Функции взаимодействия с командной строкой на сессии, где запущен Оркестратор.
Группа функций Process...
######################
**Группа функций Process...**
Запуск / остановка процессов на сессии Оркестратора.
Группа функций Processor...
######################
**Группа функций Processor...**
Функции взаимодействия с процессорной очередью. Если требуется выполнить синхронизацию нескольких разных задач, то можно их отправлять в процессорную очередь.
Группа функций Python...
######################
**Группа функций Python...**
Функции взаимодействия с Python модулями.
Группа функций RDPSession...
######################
**Группа функций RDPSession...**
Запуск, отключение, перезапуск, отправка CMD команд, раскрыть на весь экран на RDP сессию
Группа функций Web...
######################
**Группа функций Web...**
Управление веб-сервером Оркестратора.
Группа функций UAC...
######################
**Группа функций UAC...**
Управление ролевой моделью доступа пользователей к панели управления Оркестратора. Актуально для подключения бизнес-пользователей.
Orchestrator has mega feature - user access control (UAC). This feature allow you to manipulate access of the web UI for the all users!
Оркестратор обладает уникальным и гибким механизмом контроля и распределения прав доступа пользователей (UAC - User Access Control). Концепция pyOpenRPA заключается в том, что настройка доступа должна быть максимально функциональной, но при этом удобной в использовании.
If you need to give admin rights - you don't customize UAC dict.
Если требуется дать все права доступа - не нужно ничего редактировать - они будут по умолчанию.
If you need to give some little rights for user only for one robot in orchestrator web panel - you can set the following properties in UAC dict.
Если нужно внести корректировки - вы можете указать лишь те ключи доступа, которые потребуются пользователю.
To work with UAC you can use defs ``Orchestrator.UAC`` group.
Также UAC механизм распределения прав доступа отлично интегрируется со сторонними системами безопасности, которые уже используются в компаниях, например Active Directory и другие.
!!!ATTENTION!!!
Функции по работе с UAC представлены в группе ``Orchestrator.UAC`` в разделе описания функций: :ref:`module.orchestrator.defs`.
Need practice example to work with UAC! - too hard to understand
Если у вас останутся вопросы, то вы всегда можете обратиться в центр поддержки клиентов pyOpenRPA. Контакты: :ref:`3.-Copyrights-&-Contacts`
Модуль обеспечивает всю необходимую функциональность для создания любого программного робота RPA. Модуль робота поставляется в качестве библиотеки Python, что позволяет с легкостью интегрировать его в другие проекты перспективных технологий.
**Содержит**
- Уровень доступа к элементам локального приложения (win32, UI automation), и веб приложения
- **Уровень доступа к элементам локального приложения (win32, UI automation), и веб приложения**
- UIDesktop: инструменты взаимодействия с элементами локального приложения (взаимодействие сОС через протоколы win32, UI automation). Перейти к описанию функций: :ref:`module.robot.uidesktop`
- UIWeb: инструменты взаимодействия с элементами веб приложения. Перейти к описанию функций: :ref:`module.robot.uiweb`
- Уровень доступа к текстовым каналам передачи данных (клавиатура, буфер обмена)
- **Уровень доступа к текстовым каналам передачи данных (клавиатура, буфер обмена)**
- Keyboard: инструменты взаимодействия с клавиатурой. Перейти к описанию функций: :ref:`module.robot.keyboard`
- Clipboard: инструменты взаимодействия с буфером обмена. Перейти к описанию функций: :ref:`module.robot.clipboard`
- Уровень доступа к графическим каналам передачи данных (мышь, экран)
- **Уровень доступа к графическим каналам передачи данных (мышь, экран)**
- Mouse: инструменты взаимодействия с мышью. Перейти к описанию функций: :ref:`module.robot.mouse`
- Image: инструменты взаимодействия с эраном рабочего стола. Перейти к описанию функций: :ref:`module.robot.image`
Ниже преставлен пример использования инструментов робота.
Дорогие коллеги!
Мы знаем, что с pyOpenRPA вы сможете существенно улучшить качество вашего бизнеса. Платформа роботизации pyOpenRPA - это разработка, которая дает возможность делать виртуальных сотрудников (программных роботов RPA) выгодными, начиная от эффекта всего в **10 тыс. руб.** И управлять ими будете только Вы!
Если у вас останутся вопросы, то вы всегда можете обратиться в центр поддержки клиентов pyOpenRPA. Контакты: :ref:`3.-Copyrights-&-Contacts`
pyOpenRPA - роботы помогут!
******************************
Примеры
******************************
**Ниже преставлен пример использования инструментов робота.**
Здесь представлено описание всех функций, которые используются для взаимодействия с UI интерфейсами локальных приложений.
Here you can find the functions description for interaction with desktop GUI applications
**Функции в модуле UIDesktop именуются по следующему принципу:**
<Входящий аргумент>_<действие>_<исходящий аргумент - если присутствует>
**Термины и определения:**
************************
UIO объект
************************
************************
UIO селектор
************************
- **UIO:** Объект пользовательского интерфейса
- **UIOSelector:** Селектор (адрес) одного и/или более UIO объектов. Селектор представлен в формате списка (list) словарей (dict) атрибутивных критериев.
Quite a few contorls have other text that is visible, for example Edit controls usually have an empty string for window_text but still have text displayed in the edit window.
- windowclasses= []
- writable_props
Build the list of the default properties to be written.
Derived classes may override or extend this list depending on how much control they need.
- rectangle()
Return the rectangle of element: {"top", "left", "right", "bottom"}
The rectangle() is the rectangle of the element on the screen. Coordinates are given from the top left of the screen.
This method returns a RECT structure, Which has attributes - top, left, right, bottom. and has methods width() and height(). See win32structures.RECT for more information.
button The mouse button to click. One of ‘left’, ‘right’, ‘middle’ or ‘x’ (Default: ‘left’, ‘move’ is a special case)
coords The coordinates to click at.(Default: the center of the control)
double Whether to perform a double click or not (Default: False)
wheel_dist The distance to move the mouse wheel (default: 0)
NOTES:
This is different from click method in that it requires the control to be visible on the screen but performs a more realistic ‘click’ simulation.
This method is also vulnerable if the mouse is moved by the user as that could easily move the mouse off the control before the click_input has finished.
colour can be either an integer or one of ‘red’, ‘green’, ‘blue’ (default ‘green’)
thickness thickness of rectangle (default 2)
fill how to fill in the rectangle (default BS_NULL)
rect the coordinates of the rectangle to draw (defaults to the rectangle of the control)
- element_info
Read-only property to get ElementInfo object
- from_point(x, y)
Get wrapper object for element at specified screen coordinates (x, y)
- get_properties()
Return the properties of the control as a dictionary.
- is_child(parent)
Return True if this element is a child of ‘parent’.
An element is a child of another element when it is a direct of the other element. An element is a direct descendant of a given element if the parent element is the the chain of parent elements for the child element.
- is_dialog()
Return True if the control is a top level window
- is_enabled()
Whether the element is enabled or not
Checks that both the top level parent (probably dialog) that owns this element and the element itself are both enabled.
If you want to wait for an element to become enabled (or wait for it to become disabled) use Application.wait('visible') or Application.wait_not('visible').
If you want to raise an exception immediately if an element is not enabled then you can use the BaseWrapper.verify_enabled(). BaseWrapper.VerifyReady() raises if the window is not both visible and enabled.
- is_visible()
Whether the element is visible or not
Checks that both the top level parent (probably dialog) that owns this element and the element itself are both visible.
If you want to wait for an element to become visible (or wait for it to become hidden) use Application.wait('visible') or Application.wait_not('visible').
If you want to raise an exception immediately if an element is not visible then you can use the BaseWrapper.verify_visible(). BaseWrapper.verify_actionable() raises if the element is not both visible and enabled.
- parent()
Return the parent of this element
Note that the parent of a control is not necesarily a dialog or other main window. A group box may be the parent of some radio buttons for example.
To get the main (or top level) window then use BaseWrapper.top_level_parent().
- root()
Return wrapper for root element (desktop)
- set_focus()
Set the focus to this element
- texts()
Return the text for each item of this control
It is a list of strings for the control. It is frequently overridden to extract all strings from a control with multiple items.
It is always a list with one or more strings:
The first element is the window text of the control
Subsequent elements contain the text of any items of the control (e.g. items in a listbox/combobox, tabs in a tabcontrol)
Селектор UIO - адрес одного и/или более UIO объектов. Селектор представлен в формате списка (list) словарей (dict) атрибутивных критериев. Поддерживает формат JSON, что позволяет обеспечить удобство форматирования и передачи через web интерфейс студии / оркестратора.
UIO селектор — это список характеристических словарей (спецификаций UIO). Данные спецификации UIO содержат условия, с помощью которых библиотека pyOpenRPA определит UIO, удовлетворяющий условиям, заданным в спецификации UIO. Индекс спецификации UIO в списке UIO селектора харакетризует уровень вложенности целевого UIO. Говоря другим языком, UIO селектор — это перечень условий, под которые может попасть 0, 1 или n UIO.
Ниже приведен перечень атрибутов — условий, которые можно использовать в спецификациях UIO:
**Формат селектора:**
[
{
"depth_start" :: [int, начинается с 1] :: глубина, с которой начинается поиск (по умолчанию 1),
"depth_end" :: [int, начинается с 1] :: глубина, до которой ведется поиск (по умолчанию 1),
"ctrl_index" || "index" :: [int, начинается с 0] :: индекс UIO в списке у родительского UIO,
"title" :: [str] :: идентичное наименование атрибута *title* искомого объекта UIO,
"title_re" :: [str] :: регулярное выражение (python диалект) для отбора UIO, у которого атрибут *title* должен удовлетворять условию данного регулярного выражения,
"rich_text" :: [str] :: идентичное наименование атрибута *rich_text* искомого объекта UIO,
"rich_text_re" :: [str] :: регулярное выражение (python диалект) для отбора UIO, у которого атрибут *rich_text* должен удовлетворять условию данного регулярного выражения,
"class_name" :: [str] :: идентичное наименование атрибута *class_name* искомого объекта UIO,
"class_name_re" :: [str] :: регулярное выражение (python диалект) для отбора UIO, у которого атрибут *class_name* должен удовлетворять условию данного регулярного выражения,
"friendly_class_name" :: [str] :: идентичное наименование атрибута *friendly_class_name* искомого объекта UIO,
"friendly_class_name_re" :: [str] :: регулярное выражение (python диалект) для отбора UIO, у которого атрибут *friendly_class_name* должен удовлетворять условию данного регулярного выражения,
"control_type" :: [str] :: идентичное наименование атрибута *control_type* искомого объекта UIO,
"control_type_re" :: [str] :: регулярное выражение (python диалект) для отбора UIO, у которого атрибут *control_type* должен удовлетворять условию данного регулярного выражения,
"is_enabled" :: [bool] :: признак, что UIO доступен для выполнения действий,
"is_visible" :: [bool] :: признак, что UIO отображается на экране,
"backend" :: [str, "win32" || "uia"] :: вид способа адресации к UIO (по умолчанию "win32"). Внимание! Данный атрибут может быть указан только для первого элемента списка UIO селектора. Для остальных элементов списка данный атрибут будет проигнорирован.
},
{ ... спецификация UIO следующего уровня иерархии }
]
**Пример UIO селектора:**
[
{"class_name":"CalcFrame", "backend":"win32"}, # Спецификация UIO 1-го уровня вложенности
{"title":"Hex", "depth_start":3, "depth_end": 3} # Спецификация UIO 1+3-го уровня вложенности (так как установлены атрибуты depth_start|depth_stop, определяющие глубину поиска UIO)
]
**UIO объект - свойства и методы (общие)**
- process_id(): Возвращает идентификатор процесса, которому принадлежит это окно
- window_text(): Текст окна элемента. Довольно много элементов управления имеют другой текст, который виден, например, элементы управления редактированием обычно имеют пустую строку для window_text, но все равно имеют текст, отображаемый в окне редактирования.
- rectangle(): Возвращает прямоугольник элемента: {"сверху", "слева", "справа", "снизу"} Прямоугольник() - это прямоугольник элемента на экране. Координаты указаны в левом верхнем углу экрана. Этот метод возвращает прямоугольную структуру, которая имеет атрибуты - top, left, right, bottom. и имеет методы width() и height(). См. раздел win32structures.Прямую кишку для получения дополнительной информации.
- right_click_input(coords=(None, None)): Щелкните правой кнопкой мыши на указанных координатах
- click_input(button='left', coords=(None, None), button_down=True, button_up=True, double=False, wheel_dist=0, use_log=True, pressed='', absolute=False, key_down=True, key_up=True): Щелкните по указанным координатам кнопкой мыши, чтобы щелкнуть. Один из "влево", "вправо", "посередине" или "x" (по умолчанию: "влево", "переместить" - это особый случай) определяет координаты, по которым нужно щелкнуть.(По умолчанию: центр элемента управления) дважды Укажите, следует ли выполнять двойной щелчок или нет (по умолчанию: False) wheel_dist Расстояние для перемещения колеса мыши (по умолчанию: 0) Внимание: Этот метод отличается от метода щелчка тем, что он требует, чтобы элемент управления был виден на экране, но выполняет более реалистичную симуляцию щелчка. Этот метод также уязвим, если пользователь перемещает мышь, поскольку это может легко переместить мышь с элемента управления до завершения click_input.
- double_click_input(button='left', coords=(None, None)): Дважды щелкните по указанным координатам
- press_mouse_input(button='left', coords=(None, None), pressed='', absolute=True, key_down=True, key_up=True): Нажмите кнопку мыши с помощью SendInput
- drag_mouse_input(dst=(0, 0), src=None, button='left', pressed='', absolute=True): Нажмите на src, перетащите его и перетащите на dst dst - это объект-оболочка назначения или просто координаты. src - это исходный объект-оболочка или координаты. Если src равен None, self используется в качестве исходного объекта. кнопка - это кнопка мыши, которую нужно удерживать во время перетаскивания. Это может быть “влево”, “вправо”, “посередине” или “x”. Нажата клавиша на клавиатуре, которую нужно нажимать во время перетаскивания. абсолютные указывает, следует ли использовать абсолютные координаты для расположения указателя мыши
- draw_outline(colour='green', thickness=2, fill=<MagicMock name='mock.win32defines.BS_NULL' id='140124673757368'>, rect=None): Нарисуйте контур вокруг окна. цвет может быть либо целым числом, либо одним из "красного", "зеленого", "синего" (по умолчанию "зеленый") толщина толщина прямоугольника (по умолчанию 2) заливка как заполнить прямоугольник (по умолчанию BS_NULL) укажите координаты прямоугольника для рисования (по умолчанию используется прямоугольник элемента управления)
- element_info: Свойство, доступное только для чтения, для получения объекта ElementInfo
- from_point(x, y): Получить объект-оболочку для элемента в заданных координатах экрана (x, y)
- get_properties(): Возвращает свойства элемента управления в виде словаря.
- is_child(parent): Возвращает значение True, если этот элемент является дочерним элементом ‘parent’. Элемент является дочерним элементом другого элемента, когда он является прямым элементом другого элемента. Элемент является прямым потомком данного элемента, если родительский элемент является цепочкой родительских элементов для дочернего элемента.
- is_dialog(): Возвращает значение True, если элемент управления является окном верхнего уровня
- is_enabled(): Независимо от того, включен элемент или нет. Проверяет, что как родительский элемент верхнего уровня (возможно, диалоговое окно), которому принадлежит этот элемент, так и сам элемент включены.Если вы хотите дождаться, пока элемент станет включенным (или дождаться, пока он станет отключенным), используйте Application.wait('visible') или Application.wait_not('visible').Если вы хотите немедленно вызвать исключение, если элемент не включен, вы можете использовать BaseWrapper.verify_enabled(). Функция BaseWrapper.Verify Ready() вызывается, если окно одновременно не видно и не включено.
- is_visible(): Является ли элемент видимым или нет. Проверяет, видны ли как родительский элемент верхнего уровня (возможно, диалоговое окно), которому принадлежит этот элемент, так и сам элемент. Если вы хотите дождаться, пока элемент станет видимым (или дождаться, пока он станет скрытым), используйте Application.wait('visible') или Application.wait_not('visible'). Если вы хотите немедленно вызвать исключение, если элемент не виден, вы можете использовать BaseWrapper.verify_visible(). Базовая оболочка.verify_actible() вызывается, если элемент одновременно не виден и не включен.
- parent(): Возвращает родительский элемент этого элемента Обратите внимание, что родительским элементом элемента управления не обязательно является диалоговое окно или другое главное окно. Например, поле группы может быть родительским для некоторых переключателей. Чтобы получить главное (или окно верхнего уровня), затем используйте BaseWrapper.top_level_parent().
- root(): Возвращаемая оболочка для корневого элемента (рабочий стол)
- set_focus(): Установить фокус на этот элемент
- texts(): Возвращает текст для каждого элемента этого элемента управления Это список строк для элемента управления. Часто переопределяется извлечение всех строк из элемента управления с несколькими элементами. Это всегда список с одной или несколькими строками: Первый элемент - это текст окна элемента управления Последующие элементы содержат текст любых элементов элемента управления (например, элементы в listbox/combobox, вкладки в tabcontrol)
- type_keys(keys, pause=None, with_spaces=False, with_tabs=False, with_newlines=False, turn_off_numlock=True, set_foreground=True, vk_packet=True): Введите ключи для элемента с помощью клавиатуры.send_keys. Ограниченная функциональность. Для более полной функциональности рекомендуем ознакомится с pyOpenPRA.Robot.Keyboard
- was_maximized(): Проверить, было ли окно развернуто перед сворачиванием или нет
**UIO свойства и методы (дополнение к базовым методам для win32 элементов)**
- get_check_state(): Вернуть состояние проверки флажка. Состояние проверки представлено целым числом 0 - непроверено 1 - проверено 2 - неопределенно. Следующие константы определены в модуле win32defines BST_UNCHECKED = 0 BST_CHECKED = 1 BST_INDETERMINATE = 2
- click(button='left', pressed='', coords=(0, 0), double=False, absolute=False): Клик на кнопку управления
- is_checked(): Возвращает True, если флажок установлен, False, если флажок не установлен, None, если значение не определено
- is_dialog(): Кнопки никогда не являются диалоговыми окнами, поэтому возвращайте значение False
- set_check_indeterminate(): Установить флажок в положение неопределенный
- friendly_class_name(): Возвращает имя класса кнопки. Они могут выглядеть следующим образом: Кнопки, этот метод возвращает “Button”; Флажки, этот метод возвращает “флажок”; RadioButtons, этот метод возвращает “RadioButton”; GroupBoxes, этот метод возвращает “GroupBox”
**Поле выбора нескольких значений из списка (ComboBox)**
- line_count(): Возвращает, сколько строк есть в редактировании
- line_length(line_index): Возвращает количество символов в строке
- select(start=0, end=None): Установите выбор редактирования элемента управления редактированием
- selection_indices(): Начальный и конечный индексы текущего выбора
- set_edit_text(text, pos_start=None, pos_end=None): Задать текст элемента управления редактированием
- set_text(text, pos_start=None, pos_end=None): Задать текст элемента управления редактированием
- set_window_text(text, append=False): Переопределите set_window_text для элементов управления редактированием, поскольку он не должен использоваться для элементов управления редактированием. Элементы управления редактированием должны использовать либо set_edit_text(), либо type_keys() для изменения содержимого элемента управления редактированием.
- text_block(): Получить текст элемента управления редактированием
- texts(): Получить текст элемента управления редактированием
- get_item_focus(): Возвращает индекс текущего выбора в списке
- is_single_selection(): Проверить, имеет ли поле списка режим одиночного выбора
- item_count(): Возвращает количество элементов в списке
- item_data(i): Возвращает item_data, если таковые имеются, связанные с элементом
- item_texts(): Возвращает текст элементов списка
- select(item, select=True): Выбрать элемент списка элемент может быть либо индексом элемента для выбора на основе 0, либо строкой, которую вы хотите выбрать
- selected_indices(): Выбранные в данный момент индексы списка
- set_item_focus(item): Установить фокус по элементу
- texts(): Получить текст элемента управления редактированием
**Выпадающее меню (PopupMenu)**
- friendlyclassname = 'PopupMenu'
- windowclasses = ['#32768']
- is_dialog(): Возвращает, является ли это диалогом
pyOpenRPA позволяет обеспечить максимальную совместимость со всеми приложениями, которые выполняются на компьютере. Мы рекомендуем разрабатывать робота под интерпретатором Python x64. В дополнение к нему Вы можете подключить Python x32 (см. ниже пример подключения). Если планируемый робот не будет взаимодействовать через pyOpenRPA.Robot.UIDesktop с другой разрядность, то эту настройку можно не применять.
@ -289,16 +198,13 @@ pyOpenRPA позволяет обеспечить максимальную со
# Теперь при вызове функций pyOpenRPA.Robot.UIDesktop платформа pyOpenRPA будет отслеживать разрядность приложения и отправлять соответсвующий вызов на идентичную разрядность.
Мы знаем, что с pyOpenRPA вы сможете существенно улучшить качество вашего бизнеса. Платформа роботизации pyOpenRPA - это разработка, которая дает возможность делать виртуальных сотрудников (программных роботов RPA) выгодными, начиная от эффекта всего в **10 тыс. руб.** И управлять ими будете только Вы!
..automodule:: pyOpenRPA.Robot.UIDesktop
:members:
:autosummary:
Если у вас останутся вопросы, то вы всегда можете обратиться в центр поддержки клиентов pyOpenRPA. Контакты: :ref:`3.-Copyrights-&-Contacts`
Клавиатура - это главный текстовый инструмент, который обладает 100% точностью передачи данных. Сего помощью можно отправлять сообщения, ожидать нажатия и выполнять различные комбинации клавиш. На этой странице представлена вся необходимая информация по управлению клавиатурой со стороны программного робота RPA.
В отличие от многих RPA платформ, pyOpenRPA обладает функциями, которые не зависят от текущей раскладки клавиатуры. За счет этого надежность и стабильность программного робота существенно возрастает.
Мы знаем, что с pyOpenRPA вы сможете существенно улучшить качество вашего бизнеса. Платформа роботизации pyOpenRPA - это разработка, которая дает возможность делать виртуальных сотрудников (программных роботов RPA) выгодными, начиная от эффекта всего в **10 тыс. руб.** И управлять ими будете только Вы!
Если у вас останутся вопросы, то вы всегда можете обратиться в центр поддержки клиентов pyOpenRPA. Контакты: :ref:`3.-Copyrights-&-Contacts`
The Robot tool is the main module for production process automation. It has no graphic/console interface. All low-level actions to OS are perfoming by the Robot tool in pyOpenRPA.
Модуль РОБОТ - это ключевое звено, которое отвечает за продуктивную роботизацию процесса. Данный модуль не имеет графический или консольный интерфейс - он подключается в качестве библиотеки в проект робота, что позволяет выполнять операции максимально быстро. А также позволяет с легкостью интегрировать робота в другие проекты.
from pyOpenRPA.Robot import UIDesktop # Взаимодействие с UI объектами приложений
from pyOpenRPA.Robot import UIWeb # Взаимодействие с UI объектами веб приложений
from pyOpenRPA.Robot import Keyboard # Взаимодействие с клавиатурой
from pyOpenRPA.Robot import Clipboard # Взаимодействие с буфером обмена
from pyOpenRPA.Robot import Mouse # Взаимодействие с мышью
from pyOpenRPA.Robot import Image # Взаимодействие с графической сессией ОС
The pyOpenRPA is fully portable solution. It contains own python enviroment both 32 and 64 bit versions. So, you can execute your python script in several ways:
- Execute in python x32 (\OpenRPA\Resources\WPy32-3720\python-3.7.2)
- Execute in python x64 (\OpenRPA\Resources\WPy64-3720\python-3.7.2.amd64)
- Execute from .cmd file
Описание каждого из этих модулей представлены в разделе "МОДУЛЬ РОБОТ"
Execute in the Python x32
Execute python script
############################################
To execute your python script in x32 bit version just write in command line from x32 python directory:
pyOpenRPA - это максимально инкапсулированная платформа программной роботизаии RPA. Все необходимые зависимости находятся внутри нее, что позволяет копировать робота между ЭВМ максимально просто.
..code-block:: python
Вы можете запустить скрипт робота RPA следующими способами:
cd "\OpenRPA\Resources\WPy32-3720\python-3.7.2"
python.exe "path to your python script.py"
- Запустить из интерпретатора Python x32 (Resources\WPy32-3720\python-3.7.2\python.exe)
- Запустить из интерпретатора Python x64 (Resources\WPy64-3720\python-3.7.2.amd64\python.exe)
- Запустить из под .cmd файла
Execute in the Python x64
Запустить из интерпретатора Python x32
############################################
To execute your python script in x32 bit version just write in command line from x32 python directory:
Для запуска срипта из интерпретатора Python x32 необходимо открыть командную строку (cmd), и выполнить следующие команды:
..code-block:: python
cd "\OpenRPA\Resources\WPy64-3720\python-3.7.2.amd64"
python.exe "path to your python script.py"
cd "Resources\WPy32-3720\python-3.7.2" # Установить рабочую директорию там, где находится интерпретатор Python
python.exe "path to your python script.py" # Запустить интерпретатор Python с файлом скрипта робота "path to your python script.py"
Execute from .cmd file
Запустить из интерпретатора Python x64
############################################
In order to simplify the execution process you can write several code lines in file with the .cmd extension:
Для запуска срипта из интерпретатора Python x64 необходимо открыть командную строку (cmd), и выполнить следующие команды:
for lItem in GUI.UIOSelector_Get_UIO([{"class_name":"CabinetWClass","backend":"uia"},{"ctrl_index":2},{"ctrl_index":0},{"ctrl_index":2},{"ctrl_index":0}]).children():
print(str(lItem))
Here you can find the docs and examples of the OpenRPA desktop (GUI) app access.
- **UIOActivity** - Activity of the UIO (UI object) from the Pywinauto module
- **UIOEI** - UI Object info object
What is UIO?
############################################
UIO is a User Interface Object (pyOpenRPA terminology). For maximum compatibility, this instance is inherited from the object model developed in the [pywinauto library (click to get a list of available class functions)](https://pywinauto.readthedocs.io/en/latest/code/pywinauto.base_wrapper.html).
This approach allows us to implement useful functionality that has already been successfully developed in other libraries, and Supplement it with the missing functionality. In our case, the missing functionality is the ability to dynamically access UIO objects using UIO selectors.
cd "Resources\WPy32-3720\python-3.7.2.amd64" # Установить рабочую директорию там, где находится интерпретатор Python
python.exe "path to your python script.py" # Запустить интерпретатор Python с файлом скрипта робота "path to your python script.py"
UIOSelector structure & example
Запустить из под .cmd файла
############################################
UIOSelector is the list of condition items for the UIO in GUI. Each item has condition attributes for detect applicable UIO. Here is the description of the available condition attributes in item.
**Desciption**
..code-block:: python
[
{
"depth_start" :: [int, start from 1] :: the depth index, where to start check the condition list (default 1),
"depth_end" :: [int, start from 1] :: the depth index, where to stop check the condition list (default 1),
"ctrl_index" || "index" :: [int, starts from 0] :: the index of the UIO in parent UIO child list,
"title" :: [str] :: the condition for the UIO attribute *title*,
"title_re" :: [str] :: regular expression (python ver) for the condition for the UIO attribute *title*,
"rich_text" :: [str] :: the condition for the UIO attribute *rich_text*,
"rich_text_re" :: [str] :: regular expression (python ver) for the condition for the UIO attribute *rich_text*,
"class_name" :: [str] :: the condition for the UIO attribute *class_name*,
"class_name_re" :: [str] :: regular expression (python ver) for the condition for the UIO attribute *class_name*,
"friendly_class_name" :: [str] :: the condition for the UIO attribute *friendly_class_name*,
"friendly_class_name_re" :: [str] :: regular expression (python ver) for the condition for the UIO attribute *friendly_class_name*,
"control_type" :: [str] :: the condition for the UIO attribute *control_type*,
"control_type_re" :: [str] :: regular expression (python ver) for the condition for the UIO attribute *control_type*,
"is_enabled" :: [bool] :: the condition for the UIO attribute *is_enabled*. If UI object is enabled on GUI,
"is_visible" :: [bool] :: the condition for the UIO attribute *is_visible*. If UI object is visible on GUI,
"backend" :: [str, "win32" || "uia"] :: the method of UIO extraction (default "win32"). ATTENTION! Current option can be only for the first item of the UIO selector. For the next items this option will be implemented from the first item.
},
{ ... specification next level UIO }
]
**The UIO selector example**
Упростить процесс запуска и свести инициализацию робота к одному нажатию можно с помощью средстве command shell и .cmd файла.
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 :) ).
Для этого достаточно выбрать рабочую директорию робота, там создать текстовый .cmd файл, и прописать в нем следующий код:
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 :) ).
*Naming convention: \<InArgument\>\_\<ActivityName\>\_\<OutArgument - if exist>*<br>
Here you can find any ways you need to use in your business case:
- Find the exact match on the screen with the other image
- Use text recognition module (OCR)
- Use computer vision (CV) to identify the objects on screen/image/video
- Use artificial intelligence (AI) to make custom identification/classification/text recognition
cd %~dp0 # Установить рабочую директорую там, где находится этот .cmd файл
copy /Y ..\Resources\WPy32-3720\python-3.7.2\python.exe ..\Resources\WPy32-3720\python-3.7.2\OpenRPAOrchestrator.exe # Выполнить компирование python.exe на другое наименование, чтобы изменить наименование процесса робота в диспетчере задач (без этой операции все роботы будут отображаться в диспетчере задач как python.exe)
.\..\Resources\WPy32-3720\python-3.7.2\OpenRPAOrchestrator.exe orchestratorMain.py # Выполнить инициализацию скрипта робота RPA
pause >nul # Не закрывать окно консоли после завершения работы скрипта робота
Модуль студии обеспечивает всю необходимую функциональность взаимодействия с UI объектами различных приложений, запущенных в сессии.
В разделе :ref:`module.studio.how-to-use` вы найдете практическое руководство по работе с пользовательским интерфейсом студии, которая отрывается в веб браузере.
Дорогие коллеги!
Мы знаем, что с pyOpenRPA вы сможете существенно улучшить качество вашего бизнеса. Платформа роботизации pyOpenRPA - это разработка, которая дает возможность делать виртуальных сотрудников (программных роботов RPA) выгодными, начиная от эффекта всего в **10 тыс. руб.** И управлять ими будете только Вы!
Если у вас останутся вопросы, то вы всегда можете обратиться в центр поддержки клиентов pyOpenRPA. Контакты: :ref:`3.-Copyrights-&-Contacts`
In order to extract the UI tree do the following: in ``UI tree viewer``
choose the object you are interested and click the button "Expand". ##
Чтобы извлечь дерево пользовательского интерфейса выполните следующие действия: в ``UI Tree viewer`` выбрать интересующий UI объект и нажать кнопку ``Expand``.
following: in ``UI tree viewer`` choose the parent object, where you are
want to search UI object, and click the button "Mouse search". The mouse
search mode will start. Turn mouse on the UI object you are interested
and wait when the studio will highlight the UI object. After the
hightlight hold the "Ctrl" key and wait 3 seconds. The interested UI
object will be shown in ``UI tree viewer``.
Action: Click the button "Mouse search"
.._how-to-search-ui-object-by-mouse-hover:
***********************************
Поиск UI объекта по наведению мыши
***********************************
Чтобы выполнить поиск UI объекта пользовательского интерфейса, необходимо в ``UI tree viewer`` выбрать родительский UI объект, в котором вы хотите выполнить поиск, и нажать кнопку ``Mouse search``.
Будет активирован режим поиск UI объекта по курсору мыши. Наведите курсор мыши на интересующий вас объект пользовательского интерфейса и дождитесь, когда студия выделит объект пользовательского интерфейса. После выделения цветов удерживайте клавишу "Ctrl" и подождите 3 секунды. Интересующий UI объект будет показан в ``UI tree viewer``.
In order to extract UI object properties do the following: in
``Selected UI object hierarchy list`` choose the UI object you are
interested and click it. The UI object property list will be shown in
``Selected UI object property list``
Чтобы извлечь свойства UI объекта, необходимо в
``Selected UI object hierarchy list`` выбрать интересующий UI объект и щелкнуть по нему. Список свойств UI объекта будет отображен в ``Selected UI object property list``
Action: Choose the UI object you are interested and click it
Действие: Choose the UI object you are interested and click it
* Вариант 1: Подписка на премиальную техническую поддержку от вендора (ежемесячно от 66 900 руб. без НДС)
* Вариант 2: Покупка бессрочной лицензии на текущую версию pyOpenRPA и ниже (разовый платеж 299 000 руб. без НДС)
* Вариант 3: Покупка бессрочной лицензии на 1-го робота, который будет использовать текущую версию pyOpenPRA и ниже (разовый платеж 99 000 руб. без НДС)
* **Вариант 1:** Подписка на премиальную техническую поддержку от вендора (ежемесячно от 66 900 руб. без НДС)
* **Вариант 2:** Покупка бессрочной лицензии на текущую версию pyOpenRPA и ниже (разовый платеж 299 000 руб. без НДС)
* **Вариант 3:** Покупка бессрочной лицензии на 1-го робота, который будет использовать текущую версию pyOpenPRA и ниже (разовый платеж 99 000 руб. без НДС)
Используя ПО pyOpenRPA Вы осознаете свою ответственность в случаях нарушения лицензионного законодательства и совершения неправомерных действий.
<liclass="toctree-l1"><aclass="reference internal"href="Tools/02_Defs.html">2. Функции StopSafe</a></li>
</ul>
@ -200,35 +197,35 @@
<divclass="section"id="id1">
<h1>1. Первый запуск<aclass="headerlink"href="#id1"title="Ссылка на этот заголовок">¶</a></h1>
<p>Are you ready to install the pyOpenRPA solution on your machine?</p>
<p>Ok, we start.
<strong>Do the following operations:</strong></p>
<p>Готовы испытать всю мощь перспективных технологий?</p>
<p>Будет очень интересно - начинаем!</p>
<p><strong>Для начала необходимо выполнить следующие действия:</strong></p>
<ulclass="simple">
<li><p>Download the pyOpenRPA package from master branch on GitLab [Download ZIP](<aclass="reference external"href="https://gitlab.com/UnicodeLabs/OpenRPA/-/archive/master/OpenRPA-master.zip">https://gitlab.com/UnicodeLabs/OpenRPA/-/archive/master/OpenRPA-master.zip</a>)</p></li>
<li><p>Unzip the package</p></li>
<li><p>Скачать пакет pyOpenRPA c главной страницы <aclass="reference external"href="https://pyopenrpa.ru/">https://pyopenrpa.ru/</a></p></li>
<li><p>Распаковать пакет куда угодно!</p></li>
</ul>
<p><strong>Installation has been completed :)</strong></p>
<p><strong>The pyOpenRPA has been successfully installed if the portable python 3.7.2 was started without any exceptions (see screenshot).</strong></p>
<p><strong>Платформа pyOpenRPA успешно развернута корректно. если интерпретаторы python 3.7.2 были запущены без проблем (см. скриншот).</strong></p>
<h2>System requirements<aclass="headerlink"href="#system-requirements" title="Ссылка на этот заголовок">¶</a></h2>
<divclass="section"id="id2">
<h2>Быстрая навигация<aclass="headerlink"href="#id2" title="Ссылка на этот заголовок">¶</a></h2>
<ulclass="simple">
<li><p>OS Windows 7+. <em>Need Windows package KB2999226 if use windows Vista/7/8/8.1/Server 2008/Server 2012 (https://support.microsoft.com/ru-ru/help/2999226)</em></p></li>
<li><p>For OpenCV: OS Windows 7/8/8/10 only (no Windows Server)</p></li>
<ahref="03_Copyrights_Contacts.html"class="btn btn-neutral float-right"title="2. Права & Контакты" accesskey="n"rel="next">Следующая <spanclass="fa fa-arrow-circle-right"aria-hidden="true"></span></a>
<ahref="03_Copyrights_Contacts.html"class="btn btn-neutral float-right"title="2. Лицензия & Контакты" accesskey="n"rel="next">Следующая <spanclass="fa fa-arrow-circle-right"aria-hidden="true"></span></a>
#IT4Busines is the methodology which is created for build compact fast and reliable IT function in company.
If you has many IT specialists, very long deadlines for the IT tasks, many bugs in IT software - #IT4Business is for you :)</p>
<p>If you need some IT help - feel free to contact me (prefer e-mail or skype).
If you will find some issue in pyOpenRPA - write about it to me via e-mail/skype/gitlab issue.</p>
<p>Thank you!</p>
<spanid="id1"></span><h1>2. Лицензия & Контакты<aclass="headerlink"href="#copyrights-contacts"title="Ссылка на этот заголовок">¶</a></h1>
<divclass="section"id="id2">
<h2>Центр поддержки клиентов<aclass="headerlink"href="#id2"title="Ссылка на этот заголовок">¶</a></h2>
<h2>Лицензия<aclass="headerlink"href="#id2"title="Ссылка на этот заголовок">¶</a></h2>
<p>Лицензия pyOpenRPA разрешает бесплатное использование только для некоммерческих организаций и физических лиц (не ИП и не самозанятый). В остальных случаях требуется получение цифрового сертификата от правообладателя (ООО «ОПЕН РПА»).</p>
<p>Получить, проверить сертификат, а также ознакомиться с текстом лицензионного соглашения Вы можете по адресу:
<h2>Используемые сторонние компоненты (лицензионная чистота)<aclass="headerlink"href="#id4"title="Ссылка на этот заголовок">¶</a></h2>
<divclass="section"id="id11">
<h2>Используемые сторонние компоненты (лицензионная чистота)<aclass="headerlink"href="#id11"title="Ссылка на этот заголовок">¶</a></h2>
<ulclass="simple">
<li><p>WinPython, v3.7.1 32-bit & 64-bit, лицензия MIT <aclass="reference external"href="https://github.com/winpython/winpython">https://github.com/winpython/winpython</a></p></li>
<h2>Быстрая навигация<aclass="headerlink"href="#id12"title="Ссылка на этот заголовок">¶</a></h2>
<ulclass="simple">
<li><p>WinPython, v3.7.1 32-bit & 64-bit, лицензия MIT (<aclass="reference external"href="https://github.com/winpython/winpython">https://github.com/winpython/winpython</a>)</p></li>
<spanid="pyopenrpa-agent-agent"></span><h2>pyOpenRPA.Agent.__Agent__<aclass="headerlink"href="#module-pyOpenRPA.Agent.__Agent__"title="Ссылка на этот заголовок">¶</a></h2>
<p><strong>Functions:</strong></p>
@ -350,17 +346,7 @@
</dl>
</dd></dl>
</div>
<divclass="section"id="references">
<h2>References<aclass="headerlink"href="#references"title="Ссылка на этот заголовок">¶</a></h2>
<h1>1. Description<aclass="headerlink"href="#description"title="Ссылка на этот заголовок">¶</a></h1>
<p>pyOpenRPA Orchestrator is the executable process.</p>
<p>The features of the orchestrator is:
- Centralized/decentralized user control interface (applicable and for business users and for technical users). Web based, support desktop, tablet, phone.
- Automatized robots control (customized algorithms, robots scheduling)
- Source code mega flexibility: Light Orchestrator architecture is good for own customization</p>
<spanid="id1"></span><h1>1. Описание<aclass="headerlink"href="#module-orchestrator-dscription"title="Ссылка на этот заголовок">¶</a></h1>
<divclass="section"id="id2">
<h2>Общее<aclass="headerlink"href="#id2"title="Ссылка на этот заголовок">¶</a></h2>
<p>Модуль оркестратор - это координирующее звено, которое обеспечивает бесперебойную работа массива роботов. Этот массив может состоять как из одного так и из тысячи роботов RPA.</p>
<h2>Orchestrator architecture<aclass="headerlink"href="#orchestrator-architecture"title="Ссылка на этот заголовок">¶</a></h2>
<p>Orchestrator has several source code components:
- User/robot activity consolidated queue single thread (Processor)
- User/robot activity asynchonus many threads (Processor)
- Scheduler single thread (main)
- RDP keep active many thread
- Autocleaner single thread
- GUI keep active single thread
- HTTP web server single thread (create user socket threads)
-</p>
<p>Below you can find more information about all of the component.</p>
<divclass="section"id="gsettings">
<h2>Концепция единого глобального словаря настроек (GSettings)<aclass="headerlink"href="#gsettings"title="Ссылка на этот заголовок">¶</a></h2>
<p>pyOpenRPA - это сложное решение, которое направлено на упрощение жизни пользователей и разработчиков роботов.</p>
<p>Для того, чтобы предлагать рынку гибкое, адаптивное и надежное решение, одним из архитектурных решений был выбран подхъод хранения !ВСЕЙ! конфигурационной информации в едином словаре, который мы называем GSettings.</p>
<p>GSettings - это многоуровневая и иерархичная структура, которая позволяет произвести широкую кастомизацию под свои нужды, и в то же время быть открытой к внедрению новых возможностей.</p>
<p>Ознакомиться со структурой GSettings можно по ссылке: <aclass="reference internal"href="03_gSettingsTemplate.html#module-orchestrator-gsettings"><spanclass="std std-ref">3. Настройки GSettings (шаблон)</span></a></p>
<p>Мы не рекомендуем вносить изменения напрямую в GSettings, хоть мы и оставляем такую возможность. Для корректировки функциональности Вы можете воспользоваться соответствующей функцией в модуле Оркестратора (см. здесь: <aclass="reference internal"href="02_Defs.html#module-orchestrator-defs"><spanclass="std std-ref">2. Функции</span></a>)</p>
<p>Используя специальные функции модуля Оркестратора вы существенно увеличиваете шансы бесшовного перехода на новые версии pyOpenRPA, если вам это потребуется.</p>
</div>
<divclass="section"id="component-processor">
<h2>Component Processor<aclass="headerlink"href="#component-processor"title="Ссылка на этот заголовок">¶</a></h2>
<p>Sync - Append activity list to consolidated processor queue. Execution goes sequency by the activity list order</p>
<p>Async - Create New thread to execute the activity list</p>
<divclass="section"id="id3">
<h2>Архитектура<aclass="headerlink"href="#id3"title="Ссылка на этот заголовок">¶</a></h2>
<p>Оркестратор состоит из следующих основных потоков:</p>
<ulclass="simple">
<li><p>Activity list</p></li>
<li><p>Процессорная очередь активностей (ActivityItem) (Processor)</p></li>
<li><p>Функциональность асинхронного исполнения активностей (ActivityItem) (Processor)</p></li>
<li><p>Поток контроля активности RDP сессий</p></li>
<li><p>Поток сбора мусорных данных</p></li>
<li><p>Поток контроля графической сессии на учетной записи, где работает Оркестратор</p></li>
<li><p>Поток веб-сервера Оркестратора</p></li>
</ul>
<p>List of the activity item</p>
<p>Ознакомиться с возможностями и функциями оркестратора можно по ссылке: <aclass="reference internal"href="02_Defs.html#module-orchestrator-defs"><spanclass="std std-ref">2. Функции</span></a></p>
<p>Дорогие коллеги!</p>
<p>Мы знаем, что с pyOpenRPA вы сможете существенно улучшить качество вашего бизнеса. Платформа роботизации pyOpenRPA - это разработка, которая дает возможность делать виртуальных сотрудников (программных роботов RPA) выгодными, начиная от эффекта всего в <strong>10 тыс. руб.</strong> И управлять ими будете только Вы!</p>
<p>Если у вас останутся вопросы, то вы всегда можете обратиться в центр поддержки клиентов pyOpenRPA. Контакты: <aclass="reference internal"href="../03_Copyrights_Contacts.html#copyrights-contacts"><spanclass="std std-ref">2. Лицензия & Контакты</span></a></p>
<p>pyOpenRPA - роботы помогут!</p>
</div>
<divclass="section"id="id4">
<h2>Быстрая навигация<aclass="headerlink"href="#id4"title="Ссылка на этот заголовок">¶</a></h2>
<p>Activity item is universal mechanism to execute different algorythms from any sources.
The core feature of the Activity is to call python defs with args and kwargs.
If you need to init do some activity you can write some python def, then create Activity item with current def.
ATTENTION: In some cases (such as web transmition), when you can’t transmit python def as object you can use symbolic names for python defs. It is apply you to init all of you want from the web UI.</p>
<p>?Why i cant transmit python def from the web
Because the WEB space is not the Python executable space. Interaction between it spaces create by JSON protocol. So, we know than JSON apply int, float, str, bool, None, list, dict - that is all.</p>
<divclass="admonition note">
<pclass="admonition-title">Примечание</p>
<p>Example
{</p>
<blockquote>
<div><p>«Def»:»DefAliasTest», # def link or def alias (look gSettings[«Processor»][«AliasDefDict»])
<h1>3. gSettings Template<aclass="headerlink"href="#gsettings-template"title="Ссылка на этот заголовок">¶</a></h1>
<p>gSettings structure</p>
<divclass="section"id="gsettings">
<spanid="module-orchestrator-gsettings"></span><h1>3. Настройки GSettings (шаблон)<aclass="headerlink"href="#gsettings"title="Ссылка на этот заголовок">¶</a></h1>
<divclass="section"id="id1">
<h2>Общее<aclass="headerlink"href="#id1"title="Ссылка на этот заголовок">¶</a></h2>
<p>Ниже представлена структура единого глобального словаря настроек GSettings</p>
</div>
<divclass="section"id="id2">
<h2>Структура<aclass="headerlink"href="#id2"title="Ссылка на этот заголовок">¶</a></h2>
<ahref="04_HowToUse.html"class="btn btn-neutral float-right"title="4. How to use" accesskey="n"rel="next">Следующая <spanclass="fa fa-arrow-circle-right"aria-hidden="true"></span></a>
<h1>4. How to use<aclass="headerlink"href="#how-to-use"title="Ссылка на этот заголовок">¶</a></h1>
<p>You need to run orchestrator process?</p>
<divclass="section"id="id1">
<h1>4. Как использовать?<aclass="headerlink"href="#id1"title="Ссылка на этот заголовок">¶</a></h1>
<divclass="section"id="id2">
<h2>Как запустить?<aclass="headerlink"href="#id2"title="Ссылка на этот заголовок">¶</a></h2>
<p>Хотите выполнить запуск Оркестратора?</p>
<p><strong>Для этого достаточно (выбрать одно):</strong></p>
<ulclass="simple">
<li><p>запустить .cmd файл, расположенный в папке pyOpenRPA по адресу: OrchestratorpyOpenRPA.Orchestrator_x64.cmd</p></li>
<li><p>в свой .py скрипт добавить следующий код (см. ниже)</p></li>
</ul>
<divclass="highlight-python notranslate"><divclass="highlight"><pre><span></span><spanclass="k">if</span><spanclass="vm">__name__</span><spanclass="o">==</span><spanclass="s2">"__main__"</span><spanclass="p">:</span><spanclass="c1"># New init way - allow run as module -m PyOpenRPA.Orchestrator</span>
<spanclass="n">gSettings</span><spanclass="o">=</span><spanclass="n">SettingsTemplate</span><spanclass="o">.</span><spanclass="n">Create</span><spanclass="p">(</span><spanclass="n">inModeStr</span><spanclass="o">=</span><spanclass="s2">"BASIC"</span><spanclass="p">)</span><spanclass="c1"># Create GSettings with basic configuration - no more config is available from the box - you can create own</span>
<ahref="05_UAC.html"class="btn btn-neutral float-right"title="5. Права доступа пользователей UAC" accesskey="n"rel="next">Следующая <spanclass="fa fa-arrow-circle-right"aria-hidden="true"></span></a>
<h1>5. UAC - User Access Control<aclass="headerlink"href="#uac-user-access-control"title="Ссылка на этот заголовок">¶</a></h1>
<divclass="section"id="about">
<h2>About<aclass="headerlink"href="#about"title="Ссылка на этот заголовок">¶</a></h2>
<p>Orchestrator has mega feature - user access control (UAC). This feature allow you to manipulate access of the web UI for the all users!</p>
<p>If you need to give admin rights - you don’t customize UAC dict.</p>
<p>If you need to give some little rights for user only for one robot in orchestrator web panel - you can set the following properties in UAC dict.</p>
<p>To work with UAC you can use defs <codeclass="docutils literal notranslate"><spanclass="pre">Orchestrator.UAC</span></code> group.</p>
<p>!!!ATTENTION!!!</p>
<p>Need practice example to work with UAC! - too hard to understand</p>
<divclass="section"id="uac">
<h1>5. Права доступа пользователей UAC<aclass="headerlink"href="#uac"title="Ссылка на этот заголовок">¶</a></h1>
<divclass="section"id="id1">
<h2>Описание<aclass="headerlink"href="#id1"title="Ссылка на этот заголовок">¶</a></h2>
<p>Оркестратор обладает уникальным и гибким механизмом контроля и распределения прав доступа пользователей (UAC - User Access Control). Концепция pyOpenRPA заключается в том, что настройка доступа должна быть максимально функциональной, но при этом удобной в использовании.</p>
<p>Если требуется дать все права доступа - не нужно ничего редактировать - они будут по умолчанию.</p>
<p>Если нужно внести корректировки - вы можете указать лишь те ключи доступа, которые потребуются пользователю.</p>
<p>Также UAC механизм распределения прав доступа отлично интегрируется со сторонними системами безопасности, которые уже используются в компаниях, например Active Directory и другие.</p>
<p>Функции по работе с UAC представлены в группе <codeclass="docutils literal notranslate"><spanclass="pre">Orchestrator.UAC</span></code> в разделе описания функций: <aclass="reference internal"href="02_Defs.html#module-orchestrator-defs"><spanclass="std std-ref">2. Функции</span></a>.</p>
<p>Если у вас останутся вопросы, то вы всегда можете обратиться в центр поддержки клиентов pyOpenRPA. Контакты: <aclass="reference internal"href="../03_Copyrights_Contacts.html#copyrights-contacts"><spanclass="std std-ref">2. Лицензия & Контакты</span></a></p>
<h2>UAC Dict for Orchestrator WEB UI rights<aclass="headerlink"href="#uac-dict-for-orchestrator-web-ui-rights"title="Ссылка на этот заголовок">¶</a></h2>
@ -245,8 +244,18 @@
<spanclass="p">}</span>
</pre></div>
</div>
<p> .. v1.2.12 replace:: v1.2.12
.. <ahref="#id1"><spanclass="problematic"id="id2">|author|</span></a> replace:: Ivan Maslov <<aclass="reference external"href="mailto:ivan.maslov%40unicodelabs.ru">ivan<span>.</span>maslov<span>@</span>unicodelabs<span>.</span>ru</a>></p>
</div>
<divclass="section"id="id2">
<h2>Быстрая навигация<aclass="headerlink"href="#id2"title="Ссылка на этот заголовок">¶</a></h2>
<ahref="04_HowToUse.html"class="btn btn-neutral float-left"title="4. How to use" accesskey="p"rel="prev"><spanclass="fa fa-arrow-circle-left"aria-hidden="true"></span> Предыдущая</a>
<liclass="toctree-l1"><aclass="reference internal"href="../Tools/02_Defs.html">2. Функции StopSafe</a></li>
</ul>
@ -196,29 +198,38 @@
<divclass="section"id="module-robot-description">
<spanid="id1"></span><h1>1. Описание<aclass="headerlink"href="#module-robot-description"title="Ссылка на этот заголовок">¶</a></h1>
<divclass="section"id="id2">
<h2>Общее<aclass="headerlink"href="#id2"title="Ссылка на этот заголовок">¶</a></h2>
<p>Модуль обеспечивает всю необходимую функциональность для создания любого программного робота RPA. Модуль робота поставляется в качестве библиотеки Python, что позволяет с легкостью интегрировать его в другие проекты перспективных технологий.</p>
<p><strong>Содержит</strong></p>
<ulclass="simple">
<li><p>Уровень доступа к элементам локального приложения (win32, UI automation), и веб приложения</p>
<li><p><strong>Уровень доступа к элементам локального приложения (win32, UI automation), и веб приложения</strong></p>
<ul>
<li><p>UIDesktop: инструменты взаимодействия с элементами локального приложения (взаимодействие сОС через протоколы win32, UI automation). Перейти к описанию функций: <aclass="reference internal"href="02_uidesktop.html#module-robot-uidesktop"><spanclass="std std-ref">2. UIDesktop</span></a></p></li>
<li><p>UIWeb: инструменты взаимодействия с элементами веб приложения. Перейти к описанию функций: <aclass="reference internal"href="03_uiweb.html#module-robot-uiweb"><spanclass="std std-ref">3. UIWeb</span></a></p></li>
<li><p>UIDesktop: инструменты взаимодействия с элементами локального приложения (взаимодействие сОС через протоколы win32, UI automation). Перейти к описанию функций: <aclass="reference internal"href="02_uidesktop.html#module-robot-uidesktop"><spanclass="std std-ref">2. Функции UIDesktop</span></a></p></li>
<li><p>UIWeb: инструменты взаимодействия с элементами веб приложения. Перейти к описанию функций: <aclass="reference internal"href="03_uiweb.html#module-robot-uiweb"><spanclass="std std-ref">3. Функции UIWeb</span></a></p></li>
</ul>
</li>
<li><p>Уровень доступа к текстовым каналам передачи данных (клавиатура, буфер обмена)</p>
<li><p><strong>Уровень доступа к текстовым каналам передачи данных (клавиатура, буфер обмена)</strong></p>
<ul>
<li><p>Keyboard: инструменты взаимодействия с клавиатурой. Перейти к описанию функций: <aclass="reference internal"href="04_keyboard.html#module-robot-keyboard"><spanclass="std std-ref">4. Keyboard</span></a></p></li>
<li><p>Clipboard: инструменты взаимодействия с буфером обмена. Перейти к описанию функций: <aclass="reference internal"href="05_clipboard.html#module-robot-clipboard"><spanclass="std std-ref">5. Clipboard</span></a></p></li>
<li><p>Keyboard: инструменты взаимодействия с клавиатурой. Перейти к описанию функций: <aclass="reference internal"href="04_keyboard.html#module-robot-keyboard"><spanclass="std std-ref">4. Функции Keyboard</span></a></p></li>
<li><p>Clipboard: инструменты взаимодействия с буфером обмена. Перейти к описанию функций: <aclass="reference internal"href="05_clipboard.html#module-robot-clipboard"><spanclass="std std-ref">5. Функции Clipboard</span></a></p></li>
</ul>
</li>
<li><p>Уровень доступа к графическим каналам передачи данных (мышь, экран)</p>
<li><p><strong>Уровень доступа к графическим каналам передачи данных (мышь, экран)</strong></p>
<ul>
<li><p>Mouse: инструменты взаимодействия с мышью. Перейти к описанию функций: <aclass="reference internal"href="06_mouse.html#module-robot-mouse"><spanclass="std std-ref">6. Mouse</span></a></p></li>
<li><p>Image: инструменты взаимодействия с эраном рабочего стола. Перейти к описанию функций: <aclass="reference internal"href="07_image.html#module-robot-image"><spanclass="std std-ref">7. Image</span></a></p></li>
<li><p>Mouse: инструменты взаимодействия с мышью. Перейти к описанию функций: <aclass="reference internal"href="06_mouse.html#module-robot-mouse"><spanclass="std std-ref">6. Функции Mouse</span></a></p></li>
<li><p>Image: инструменты взаимодействия с эраном рабочего стола. Перейти к описанию функций: <aclass="reference internal"href="07_image.html#module-robot-image"><spanclass="std std-ref">7. Функции Image</span></a></p></li>
</ul>
</li>
</ul>
<p>Ниже преставлен пример использования инструментов робота.</p>
<p>Дорогие коллеги!</p>
<p>Мы знаем, что с pyOpenRPA вы сможете существенно улучшить качество вашего бизнеса. Платформа роботизации pyOpenRPA - это разработка, которая дает возможность делать виртуальных сотрудников (программных роботов RPA) выгодными, начиная от эффекта всего в <strong>10 тыс. руб.</strong> И управлять ими будете только Вы!</p>
<p>Если у вас останутся вопросы, то вы всегда можете обратиться в центр поддержки клиентов pyOpenRPA. Контакты: <aclass="reference internal"href="../03_Copyrights_Contacts.html#copyrights-contacts"><spanclass="std std-ref">2. Лицензия & Контакты</span></a></p>
<p>pyOpenRPA - роботы помогут!</p>
</div>
<divclass="section"id="id3">
<h2>Примеры<aclass="headerlink"href="#id3"title="Ссылка на этот заголовок">¶</a></h2>
<p><strong>Ниже преставлен пример использования инструментов робота.</strong></p>
<ahref="../03_Copyrights_Contacts.html"class="btn btn-neutral float-left"title="2. Права & Контакты" accesskey="p"rel="prev"><spanclass="fa fa-arrow-circle-left"aria-hidden="true"></span> Предыдущая</a>
<ahref="02_uidesktop.html" class="btn btn-neutral float-right"title="2. Функции UIDesktop" accesskey="n"rel="next">Следующая <spanclass="fa fa-arrow-circle-right"aria-hidden="true"></span></a>
<ahref="../03_Copyrights_Contacts.html"class="btn btn-neutral float-left"title="2. Лицензия & Контакты" accesskey="p"rel="prev"><spanclass="fa fa-arrow-circle-left"aria-hidden="true"></span> Предыдущая</a>
<spanclass="s2">"Python32FullPath"</span><spanclass="p">:</span><spanclass="s2">"..</span><spanclass="se">\\</span><spanclass="s2">Resources</span><spanclass="se">\\</span><spanclass="s2">WPy32-3720</span><spanclass="se">\\</span><spanclass="s2">python-3.7.2</span><spanclass="se">\\</span><spanclass="s2">python.exe"</span><spanclass="p">,</span><spanclass="c1">#Set from user: "..\\Resources\\WPy32-3720\\python-3.7.2\\OpenRPARobotGUIx32.exe"</span>
<spanclass="s2">"Python64FullPath"</span><spanclass="p">:</span><spanclass="s2">"..</span><spanclass="se">\\</span><spanclass="s2">Resources</span><spanclass="se">\\</span><spanclass="s2">WPy64-3720</span><spanclass="se">\\</span><spanclass="s2">python-3.7.2.amd64</span><spanclass="se">\\</span><spanclass="s2">python.exe"</span><spanclass="p">,</span><spanclass="c1">#Set from user</span>
<spanclass="s2">"Python32ProcessName"</span><spanclass="p">:</span><spanclass="s2">"pyOpenRPA_UIDesktopX32.exe"</span><spanclass="p">,</span><spanclass="c1">#Config set once</span>
<spanclass="s2">"Python64ProcessName"</span><spanclass="p">:</span><spanclass="s2">"pyOpenRPA_UIDesktopX64.exe"</span><spanclass="c1">#Config set once</span>
<spanclass="p">}</span>
<spanclass="c1"># Init the pyOpenRPA configuration</span>
<codeclass="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><codeclass="sig-name descname">Get_OSBitnessInt</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/pyOpenRPA/Robot/UIDesktop.html#Get_OSBitnessInt"><spanclass="viewcode-link">[исходный код]</span></a><aclass="headerlink"href="#pyOpenRPA.Robot.UIDesktop.Get_OSBitnessInt"title="Ссылка на это определение">¶</a></dt>
<codeclass="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><codeclass="sig-name descname">PWASpecification_Get_PWAApplication</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">inControlSpecificationArray</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/pyOpenRPA/Robot/UIDesktop.html#PWASpecification_Get_PWAApplication"><spanclass="viewcode-link">[исходный код]</span></a><aclass="headerlink"href="#pyOpenRPA.Robot.UIDesktop.PWASpecification_Get_PWAApplication"title="Ссылка на это определение">¶</a></dt>
<dd><p>#Backend selection - attribute «backend» («win32» || «uia») in 1-st list element</p>
<dlclass="field-list simple">
<dtclass="field-odd">Параметры</dt>
<ddclass="field-odd"><p><strong>inControlSpecificationArray</strong>– List of dict, dict in pywinauto.find_windows notation</p>
<codeclass="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><codeclass="sig-name descname">PWASpecification_Get_UIO</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">inControlSpecificationArray</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/pyOpenRPA/Robot/UIDesktop.html#PWASpecification_Get_UIO"><spanclass="viewcode-link">[исходный код]</span></a><aclass="headerlink"href="#pyOpenRPA.Robot.UIDesktop.PWASpecification_Get_UIO"title="Ссылка на это определение">¶</a></dt>
<dd><p>#Backend def selection - attribute «backend» («win32» || «uia») in 1-st list element
#old name - GetControl</p>
<dlclass="field-list simple">
<dtclass="field-odd">Параметры</dt>
<ddclass="field-odd"><p><strong>inControlSpecificationArray</strong>– List of dict, dict in pywinauto.find_windows notation</p>
<codeclass="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><codeclass="sig-name descname">UIOSelectorSecs_WaitAppear_Bool</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">inSpecificationList</span></em>, <emclass="sig-param"><spanclass="n">inWaitSecs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelectorSecs_WaitAppear_Bool"><spanclass="viewcode-link">[исходный код]</span></a><aclass="headerlink"href="#pyOpenRPA.Robot.UIDesktop.UIOSelectorSecs_WaitAppear_Bool"title="Ссылка на это определение">¶</a></dt>
<dd><p>Wait for UI object will appear in GUI for inWaitSecs seconds.</p>
<codeclass="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><codeclass="sig-name descname">UIOSelectorSecs_WaitDisappear_Bool</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">inSpecificationList</span></em>, <emclass="sig-param"><spanclass="n">inWaitSecs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelectorSecs_WaitDisappear_Bool"><spanclass="viewcode-link">[исходный код]</span></a><aclass="headerlink"href="#pyOpenRPA.Robot.UIDesktop.UIOSelectorSecs_WaitDisappear_Bool"title="Ссылка на это определение">¶</a></dt>
<dd><p>Wait for UI object will disappear in GUI for inWaitSecs seconds.</p>
<codeclass="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><codeclass="sig-name descname">UIOSelector_Exist_Bool</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">inUIOSelector</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_Exist_Bool"><spanclass="viewcode-link">[исходный код]</span></a><aclass="headerlink"href="#pyOpenRPA.Robot.UIDesktop.UIOSelector_Exist_Bool"title="Ссылка на это определение">¶</a></dt>
<dd><p>Check if object is exist by the UIO selector.</p>
<codeclass="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><codeclass="sig-name descname">UIOSelector_FocusHighlight</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">inUIOSelector</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_FocusHighlight"><spanclass="viewcode-link">[исходный код]</span></a><aclass="headerlink"href="#pyOpenRPA.Robot.UIDesktop.UIOSelector_FocusHighlight"title="Ссылка на это определение">¶</a></dt>
<dd><p>Set focus and highlight (draw outline) the element (in app) by the UIO selector.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Параметры</dt>
<ddclass="field-odd"><p><strong>inUIOSelector</strong>– UIOSelector - List of items, which contains condition attributes</p>
<codeclass="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><codeclass="sig-name descname">UIOSelector_GetChildList_UIOList</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">inUIOSelector</span><spanclass="o">=</span><spanclass="default_value">None</span></em>, <emclass="sig-param"><spanclass="n">inBackend</span><spanclass="o">=</span><spanclass="default_value">'win32'</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_GetChildList_UIOList"><spanclass="viewcode-link">[исходный код]</span></a><aclass="headerlink"href="#pyOpenRPA.Robot.UIDesktop.UIOSelector_GetChildList_UIOList"title="Ссылка на это определение">¶</a></dt>
<dd><p>Get list of child UIO’s by the parent UIOSelector</p>
<dlclass="field-list simple">
<dtclass="field-odd">Параметры</dt>
<ddclass="field-odd"><ulclass="simple">
<li><p><strong>inUIOSelector</strong>– UIOSelector - List of items, which contains condition attributes</p></li>
<li><p><strong>inBackend</strong>– «win32» or «uia»</p></li>
<codeclass="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><codeclass="sig-name descname">UIOSelector_Get_BitnessInt</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">inSpecificationList</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_Get_BitnessInt"><spanclass="viewcode-link">[исходный код]</span></a><aclass="headerlink"href="#pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_BitnessInt"title="Ссылка на это определение">¶</a></dt>
<dd><p>Detect process bitness by the UI Object UIO Selector.</p>
<codeclass="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><codeclass="sig-name descname">UIOSelector_Get_BitnessStr</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">inSpecificationList</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_Get_BitnessStr"><spanclass="viewcode-link">[исходный код]</span></a><aclass="headerlink"href="#pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_BitnessStr"title="Ссылка на это определение">¶</a></dt>
<dd><p>Detect process bitness by the UI Object UIO Selector.</p>
<codeclass="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><codeclass="sig-name descname">UIOSelector_Get_UIO</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">inSpecificationList</span></em>, <emclass="sig-param"><spanclass="n">inElement</span><spanclass="o">=</span><spanclass="default_value">None</span></em>, <emclass="sig-param"><spanclass="n">inFlagRaiseException</span><spanclass="o">=</span><spanclass="default_value">True</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_Get_UIO"><spanclass="viewcode-link">[исходный код]</span></a><aclass="headerlink"href="#pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_UIO"title="Ссылка на это определение">¶</a></dt>
<dd><p>Get the pywinauto object by the UIO selector.</p>
<codeclass="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><codeclass="sig-name descname">UIOSelector_Get_UIOActivityList</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">inUIOSelector</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_Get_UIOActivityList"><spanclass="viewcode-link">[исходный код]</span></a><aclass="headerlink"href="#pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_UIOActivityList"title="Ссылка на это определение">¶</a></dt>
<dd><p>Get the list of the UI object activities</p>
<dlclass="field-list simple">
<dtclass="field-odd">Параметры</dt>
<ddclass="field-odd"><p><strong>inUIOSelector</strong>– UIOSelector - List of items, which contains condition attributes</p>
<codeclass="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><codeclass="sig-name descname">UIOSelector_Get_UIOInfo</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">inUIOSelector</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_Get_UIOInfo"><spanclass="viewcode-link">[исходный код]</span></a><aclass="headerlink"href="#pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_UIOInfo"title="Ссылка на это определение">¶</a></dt>
<dd><p>Get the UIO dict of the attributes</p>
<dlclass="field-list simple">
<dtclass="field-odd">Параметры</dt>
<ddclass="field-odd"><p><strong>inUIOSelector</strong>– UIOSelector - List of items, which contains condition attributes</p>
<codeclass="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><codeclass="sig-name descname">UIOSelector_Get_UIOList</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">inSpecificationList</span></em>, <emclass="sig-param"><spanclass="n">inElement</span><spanclass="o">=</span><spanclass="default_value">None</span></em>, <emclass="sig-param"><spanclass="n">inFlagRaiseException</span><spanclass="o">=</span><spanclass="default_value">True</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_Get_UIOList"><spanclass="viewcode-link">[исходный код]</span></a><aclass="headerlink"href="#pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_UIOList"title="Ссылка на это определение">¶</a></dt>
<codeclass="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><codeclass="sig-name descname">UIOSelector_Highlight</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">inUIOSelector</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_Highlight"><spanclass="viewcode-link">[исходный код]</span></a><aclass="headerlink"href="#pyOpenRPA.Robot.UIDesktop.UIOSelector_Highlight"title="Ссылка на это определение">¶</a></dt>
<dd><p>Highlight (draw outline) the element (in app) by the UIO selector.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Параметры</dt>
<ddclass="field-odd"><p><strong>inUIOSelector</strong>– UIOSelector - List of items, which contains condition attributes</p>
<codeclass="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><codeclass="sig-name descname">UIOSelector_SafeOtherGet_Process</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">inUIOSelector</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_SafeOtherGet_Process"><spanclass="viewcode-link">[исходный код]</span></a><aclass="headerlink"href="#pyOpenRPA.Robot.UIDesktop.UIOSelector_SafeOtherGet_Process"title="Ссылка на это определение">¶</a></dt>
<dd><p>Safe get other process or None if destination app is the other/same bitness</p>
<dlclass="field-list simple">
<dtclass="field-odd">Параметры</dt>
<ddclass="field-odd"><p><strong>inUIOSelector</strong>– UIO Selector of the UI object</p>
</dd>
<dtclass="field-even">Результат</dt>
<ddclass="field-even"><p>None or process (of the other bitness)</p>
<codeclass="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><codeclass="sig-name descname">UIOSelector_SearchChildByMouse_UIO</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">inElementSpecification</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_SearchChildByMouse_UIO"><spanclass="viewcode-link">[исходный код]</span></a><aclass="headerlink"href="#pyOpenRPA.Robot.UIDesktop.UIOSelector_SearchChildByMouse_UIO"title="Ссылка на это определение">¶</a></dt>
<dd><p>UIOSelector (see description on the top of the document)
#old name - AutomationSearchMouseElement</p>
<dlclass="field-list simple">
<dtclass="field-odd">Параметры</dt>
<ddclass="field-odd"><p><strong>inElementSpecification</strong>– UIOSelector of the UI Object</p>
</dd>
<dtclass="field-even">Результат</dt>
<ddclass="field-even"><p>pywinauto element wrapper instance or None</p>
<codeclass="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><codeclass="sig-name descname">UIOSelector_SearchChildByMouse_UIOTree</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">inUIOSelector</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_SearchChildByMouse_UIOTree"><spanclass="viewcode-link">[исходный код]</span></a><aclass="headerlink"href="#pyOpenRPA.Robot.UIDesktop.UIOSelector_SearchChildByMouse_UIOTree"title="Ссылка на это определение">¶</a></dt>
<dd><p>!!!!Safe call is included (you can set activity and UIDesktop will choose the bitness and return the result)!!!!!</p>
<dlclass="field-list simple">
<dtclass="field-odd">Параметры</dt>
<ddclass="field-odd"><p><strong>inUIOSelector</strong>– UIOSelector of the UI Object</p>
<codeclass="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><codeclass="sig-name descname">UIOSelector_TryRestore_Dict</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">inSpecificationList</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_TryRestore_Dict"><spanclass="viewcode-link">[исходный код]</span></a><aclass="headerlink"href="#pyOpenRPA.Robot.UIDesktop.UIOSelector_TryRestore_Dict"title="Ссылка на это определение">¶</a></dt>
<dd><p>Try to restore (maximize) window, if it’s minimized. (!IMPORTANT! When use UIA framework minimized windows doesn’t appear by the UIOSelector. You need to try restore windows and after that try to get UIO)</p>
<dlclass="field-list simple">
<dtclass="field-odd">Параметры</dt>
<ddclass="field-odd"><p><strong>inSpecificationList</strong>– UIOSelector - List of items, which contains condition attributes</p>
<codeclass="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><codeclass="sig-name descname">UIOSelectorsSecs_WaitAppear_List</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">inSpecificationListList</span></em>, <emclass="sig-param"><spanclass="n">inWaitSecs</span></em>, <emclass="sig-param"><spanclass="n">inFlagWaitAllInMoment</span><spanclass="o">=</span><spanclass="default_value">False</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelectorsSecs_WaitAppear_List"><spanclass="viewcode-link">[исходный код]</span></a><aclass="headerlink"href="#pyOpenRPA.Robot.UIDesktop.UIOSelectorsSecs_WaitAppear_List"title="Ссылка на это определение">¶</a></dt>
<dd><p>Wait for many UI object will appear in GUI for inWaitSecs seconds.</p>
<li><p><strong>inWaitSecs</strong>– Float value (seconds) for wait UI element appear in GUI</p></li>
<li><p><strong>inFlagWaitAllInMoment</strong>– True - Wait all UI objects from the UIOSelector list to be appeared</p></li>
</ul>
</dd>
<dtclass="field-even">Результат</dt>
<ddclass="field-even"><p>List of index, which UI object UIO will be appeared. Example: [1] # Appear only UI object with UIO selector: [{«title»:»notepad»},{«title»:»Cancel»}]</p>
<codeclass="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><codeclass="sig-name descname">UIOSelectorsSecs_WaitDisappear_List</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">inSpecificationListList</span></em>, <emclass="sig-param"><spanclass="n">inWaitSecs</span></em>, <emclass="sig-param"><spanclass="n">inFlagWaitAllInMoment</span><spanclass="o">=</span><spanclass="default_value">False</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelectorsSecs_WaitDisappear_List"><spanclass="viewcode-link">[исходный код]</span></a><aclass="headerlink"href="#pyOpenRPA.Robot.UIDesktop.UIOSelectorsSecs_WaitDisappear_List"title="Ссылка на это определение">¶</a></dt>
<dd><p>Wait for many UI object will disappear in GUI for inWaitSecs seconds.</p>
<li><p><strong>inWaitSecs</strong>– Float value (seconds) for wait UI element disappear in GUI</p></li>
<li><p><strong>inFlagWaitAllInMoment</strong>– True - Wait all UI objects from the UIOSelector list to be disappeared.</p></li>
</ul>
</dd>
<dtclass="field-even">Результат</dt>
<ddclass="field-even"><p>List of index, which UI object UIO will be disappeared. Example: [1] # Disappear only UI object with UIO selector: [{«title»:»notepad»},{«title»:»Cancel»}]</p>
</dd>
<dtclass="field-odd">Результат</dt>
<ddclass="field-odd"><p></p>
</dd>
</dl>
</dd></dl>
<divclass="section"id="references">
<h2>References<aclass="headerlink"href="#references"title="Ссылка на этот заголовок">¶</a></h2>
<spanclass="s2">"Python32FullPath"</span><spanclass="p">:</span><spanclass="s2">"..</span><spanclass="se">\\</span><spanclass="s2">Resources</span><spanclass="se">\\</span><spanclass="s2">WPy32-3720</span><spanclass="se">\\</span><spanclass="s2">python-3.7.2</span><spanclass="se">\\</span><spanclass="s2">python.exe"</span><spanclass="p">,</span><spanclass="c1">#Set from user: "..\\Resources\\WPy32-3720\\python-3.7.2\\OpenRPARobotGUIx32.exe"</span>
<spanclass="s2">"Python64FullPath"</span><spanclass="p">:</span><spanclass="s2">"..</span><spanclass="se">\\</span><spanclass="s2">Resources</span><spanclass="se">\\</span><spanclass="s2">WPy64-3720</span><spanclass="se">\\</span><spanclass="s2">python-3.7.2.amd64</span><spanclass="se">\\</span><spanclass="s2">python.exe"</span><spanclass="p">,</span><spanclass="c1">#Set from user</span>
<spanclass="s2">"Python32ProcessName"</span><spanclass="p">:</span><spanclass="s2">"pyOpenRPA_UIDesktopX32.exe"</span><spanclass="p">,</span><spanclass="c1">#Config set once</span>
<spanclass="s2">"Python64ProcessName"</span><spanclass="p">:</span><spanclass="s2">"pyOpenRPA_UIDesktopX64.exe"</span><spanclass="c1">#Config set once</span>
<spanclass="p">}</span>
<spanclass="c1"># Init the pyOpenRPA configuration</span>
<spanclass="c1"># Now you can use pyOpenRPA with both bitness.</span>
</pre></div>
<spanid="module-robot-uiweb"></span><h1>3. Функции UIWeb<aclass="headerlink"href="#uiweb"title="Ссылка на этот заголовок">¶</a></h1>
<divclass="section"id="id1">
<h2>Общее<aclass="headerlink"href="#id1"title="Ссылка на этот заголовок">¶</a></h2>
<p>Документация к модулю будет опубликована в Июле 2022. По всем вопросам роботизации WEB приложений обращайтесь в центр поддержки клиентов pyOpenRPA.</p>
<p>Дорогие коллеги!</p>
<p>Мы знаем, что с pyOpenRPA вы сможете существенно улучшить качество вашего бизнеса. Платформа роботизации pyOpenRPA - это разработка, которая дает возможность делать виртуальных сотрудников (программных роботов RPA) выгодными, начиная от эффекта всего в <strong>10 тыс. руб.</strong> И управлять ими будете только Вы!</p>
<p>Если у вас останутся вопросы, то вы всегда можете обратиться в центр поддержки клиентов pyOpenRPA. Контакты: <aclass="reference internal"href="../03_Copyrights_Contacts.html#copyrights-contacts"><spanclass="std std-ref">2. Лицензия & Контакты</span></a></p>
<codeclass="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><codeclass="sig-name descname">Get_OSBitnessInt</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/pyOpenRPA/Robot/UIDesktop.html#Get_OSBitnessInt"><spanclass="viewcode-link">[исходный код]</span></a><aclass="headerlink"href="#pyOpenRPA.Robot.UIDesktop.Get_OSBitnessInt"title="Ссылка на это определение">¶</a></dt>
<codeclass="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><codeclass="sig-name descname">PWASpecification_Get_PWAApplication</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">inControlSpecificationArray</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/pyOpenRPA/Robot/UIDesktop.html#PWASpecification_Get_PWAApplication"><spanclass="viewcode-link">[исходный код]</span></a><aclass="headerlink"href="#pyOpenRPA.Robot.UIDesktop.PWASpecification_Get_PWAApplication"title="Ссылка на это определение">¶</a></dt>
<dd><p>#Backend selection - attribute «backend» («win32» || «uia») in 1-st list element</p>
<dlclass="field-list simple">
<dtclass="field-odd">Параметры</dt>
<ddclass="field-odd"><p><strong>inControlSpecificationArray</strong>– List of dict, dict in pywinauto.find_windows notation</p>
<codeclass="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><codeclass="sig-name descname">PWASpecification_Get_UIO</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">inControlSpecificationArray</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/pyOpenRPA/Robot/UIDesktop.html#PWASpecification_Get_UIO"><spanclass="viewcode-link">[исходный код]</span></a><aclass="headerlink"href="#pyOpenRPA.Robot.UIDesktop.PWASpecification_Get_UIO"title="Ссылка на это определение">¶</a></dt>
<dd><p>#Backend def selection - attribute «backend» («win32» || «uia») in 1-st list element
#old name - GetControl</p>
<dlclass="field-list simple">
<dtclass="field-odd">Параметры</dt>
<ddclass="field-odd"><p><strong>inControlSpecificationArray</strong>– List of dict, dict in pywinauto.find_windows notation</p>
<codeclass="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><codeclass="sig-name descname">UIOSelectorSecs_WaitAppear_Bool</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">inSpecificationList</span></em>, <emclass="sig-param"><spanclass="n">inWaitSecs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelectorSecs_WaitAppear_Bool"><spanclass="viewcode-link">[исходный код]</span></a><aclass="headerlink"href="#pyOpenRPA.Robot.UIDesktop.UIOSelectorSecs_WaitAppear_Bool"title="Ссылка на это определение">¶</a></dt>
<dd><p>Wait for UI object will appear in GUI for inWaitSecs seconds.</p>
<codeclass="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><codeclass="sig-name descname">UIOSelectorSecs_WaitDisappear_Bool</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">inSpecificationList</span></em>, <emclass="sig-param"><spanclass="n">inWaitSecs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelectorSecs_WaitDisappear_Bool"><spanclass="viewcode-link">[исходный код]</span></a><aclass="headerlink"href="#pyOpenRPA.Robot.UIDesktop.UIOSelectorSecs_WaitDisappear_Bool"title="Ссылка на это определение">¶</a></dt>
<dd><p>Wait for UI object will disappear in GUI for inWaitSecs seconds.</p>
<codeclass="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><codeclass="sig-name descname">UIOSelector_Exist_Bool</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">inUIOSelector</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_Exist_Bool"><spanclass="viewcode-link">[исходный код]</span></a><aclass="headerlink"href="#pyOpenRPA.Robot.UIDesktop.UIOSelector_Exist_Bool"title="Ссылка на это определение">¶</a></dt>
<dd><p>Check if object is exist by the UIO selector.</p>
<codeclass="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><codeclass="sig-name descname">UIOSelector_FocusHighlight</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">inUIOSelector</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_FocusHighlight"><spanclass="viewcode-link">[исходный код]</span></a><aclass="headerlink"href="#pyOpenRPA.Robot.UIDesktop.UIOSelector_FocusHighlight"title="Ссылка на это определение">¶</a></dt>
<dd><p>Set focus and highlight (draw outline) the element (in app) by the UIO selector.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Параметры</dt>
<ddclass="field-odd"><p><strong>inUIOSelector</strong>– UIOSelector - List of items, which contains condition attributes</p>
<codeclass="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><codeclass="sig-name descname">UIOSelector_GetChildList_UIOList</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">inUIOSelector</span><spanclass="o">=</span><spanclass="default_value">None</span></em>, <emclass="sig-param"><spanclass="n">inBackend</span><spanclass="o">=</span><spanclass="default_value">'win32'</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_GetChildList_UIOList"><spanclass="viewcode-link">[исходный код]</span></a><aclass="headerlink"href="#pyOpenRPA.Robot.UIDesktop.UIOSelector_GetChildList_UIOList"title="Ссылка на это определение">¶</a></dt>
<dd><p>Get list of child UIO’s by the parent UIOSelector</p>
<dlclass="field-list simple">
<dtclass="field-odd">Параметры</dt>
<ddclass="field-odd"><ulclass="simple">
<li><p><strong>inUIOSelector</strong>– UIOSelector - List of items, which contains condition attributes</p></li>
<li><p><strong>inBackend</strong>– «win32» or «uia»</p></li>
<codeclass="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><codeclass="sig-name descname">UIOSelector_Get_BitnessInt</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">inSpecificationList</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_Get_BitnessInt"><spanclass="viewcode-link">[исходный код]</span></a><aclass="headerlink"href="#pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_BitnessInt"title="Ссылка на это определение">¶</a></dt>
<dd><p>Detect process bitness by the UI Object UIO Selector.</p>
<codeclass="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><codeclass="sig-name descname">UIOSelector_Get_BitnessStr</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">inSpecificationList</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_Get_BitnessStr"><spanclass="viewcode-link">[исходный код]</span></a><aclass="headerlink"href="#pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_BitnessStr"title="Ссылка на это определение">¶</a></dt>
<dd><p>Detect process bitness by the UI Object UIO Selector.</p>
<codeclass="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><codeclass="sig-name descname">UIOSelector_Get_UIO</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">inSpecificationList</span></em>, <emclass="sig-param"><spanclass="n">inElement</span><spanclass="o">=</span><spanclass="default_value">None</span></em>, <emclass="sig-param"><spanclass="n">inFlagRaiseException</span><spanclass="o">=</span><spanclass="default_value">True</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_Get_UIO"><spanclass="viewcode-link">[исходный код]</span></a><aclass="headerlink"href="#pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_UIO"title="Ссылка на это определение">¶</a></dt>
<dd><p>Get the pywinauto object by the UIO selector.</p>
<codeclass="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><codeclass="sig-name descname">UIOSelector_Get_UIOActivityList</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">inUIOSelector</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_Get_UIOActivityList"><spanclass="viewcode-link">[исходный код]</span></a><aclass="headerlink"href="#pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_UIOActivityList"title="Ссылка на это определение">¶</a></dt>
<dd><p>Get the list of the UI object activities</p>
<dlclass="field-list simple">
<dtclass="field-odd">Параметры</dt>
<ddclass="field-odd"><p><strong>inUIOSelector</strong>– UIOSelector - List of items, which contains condition attributes</p>
<codeclass="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><codeclass="sig-name descname">UIOSelector_Get_UIOInfo</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">inUIOSelector</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_Get_UIOInfo"><spanclass="viewcode-link">[исходный код]</span></a><aclass="headerlink"href="#pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_UIOInfo"title="Ссылка на это определение">¶</a></dt>
<dd><p>Get the UIO dict of the attributes</p>
<dlclass="field-list simple">
<dtclass="field-odd">Параметры</dt>
<ddclass="field-odd"><p><strong>inUIOSelector</strong>– UIOSelector - List of items, which contains condition attributes</p>
<codeclass="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><codeclass="sig-name descname">UIOSelector_Get_UIOList</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">inSpecificationList</span></em>, <emclass="sig-param"><spanclass="n">inElement</span><spanclass="o">=</span><spanclass="default_value">None</span></em>, <emclass="sig-param"><spanclass="n">inFlagRaiseException</span><spanclass="o">=</span><spanclass="default_value">True</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_Get_UIOList"><spanclass="viewcode-link">[исходный код]</span></a><aclass="headerlink"href="#pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_UIOList"title="Ссылка на это определение">¶</a></dt>
<codeclass="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><codeclass="sig-name descname">UIOSelector_Highlight</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">inUIOSelector</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_Highlight"><spanclass="viewcode-link">[исходный код]</span></a><aclass="headerlink"href="#pyOpenRPA.Robot.UIDesktop.UIOSelector_Highlight"title="Ссылка на это определение">¶</a></dt>
<dd><p>Highlight (draw outline) the element (in app) by the UIO selector.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Параметры</dt>
<ddclass="field-odd"><p><strong>inUIOSelector</strong>– UIOSelector - List of items, which contains condition attributes</p>
<codeclass="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><codeclass="sig-name descname">UIOSelector_SafeOtherGet_Process</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">inUIOSelector</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_SafeOtherGet_Process"><spanclass="viewcode-link">[исходный код]</span></a><aclass="headerlink"href="#pyOpenRPA.Robot.UIDesktop.UIOSelector_SafeOtherGet_Process"title="Ссылка на это определение">¶</a></dt>
<dd><p>Safe get other process or None if destination app is the other/same bitness</p>
<dlclass="field-list simple">
<dtclass="field-odd">Параметры</dt>
<ddclass="field-odd"><p><strong>inUIOSelector</strong>– UIO Selector of the UI object</p>
</dd>
<dtclass="field-even">Результат</dt>
<ddclass="field-even"><p>None or process (of the other bitness)</p>
<codeclass="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><codeclass="sig-name descname">UIOSelector_SearchChildByMouse_UIO</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">inElementSpecification</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_SearchChildByMouse_UIO"><spanclass="viewcode-link">[исходный код]</span></a><aclass="headerlink"href="#pyOpenRPA.Robot.UIDesktop.UIOSelector_SearchChildByMouse_UIO"title="Ссылка на это определение">¶</a></dt>
<dd><p>UIOSelector (see description on the top of the document)
#old name - AutomationSearchMouseElement</p>
<dlclass="field-list simple">
<dtclass="field-odd">Параметры</dt>
<ddclass="field-odd"><p><strong>inElementSpecification</strong>– UIOSelector of the UI Object</p>
</dd>
<dtclass="field-even">Результат</dt>
<ddclass="field-even"><p>pywinauto element wrapper instance or None</p>
<codeclass="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><codeclass="sig-name descname">UIOSelector_SearchChildByMouse_UIOTree</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">inUIOSelector</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_SearchChildByMouse_UIOTree"><spanclass="viewcode-link">[исходный код]</span></a><aclass="headerlink"href="#pyOpenRPA.Robot.UIDesktop.UIOSelector_SearchChildByMouse_UIOTree"title="Ссылка на это определение">¶</a></dt>
<dd><p>!!!!Safe call is included (you can set activity and UIDesktop will choose the bitness and return the result)!!!!!</p>
<dlclass="field-list simple">
<dtclass="field-odd">Параметры</dt>
<ddclass="field-odd"><p><strong>inUIOSelector</strong>– UIOSelector of the UI Object</p>
<codeclass="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><codeclass="sig-name descname">UIOSelector_TryRestore_Dict</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">inSpecificationList</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_TryRestore_Dict"><spanclass="viewcode-link">[исходный код]</span></a><aclass="headerlink"href="#pyOpenRPA.Robot.UIDesktop.UIOSelector_TryRestore_Dict"title="Ссылка на это определение">¶</a></dt>
<dd><p>Try to restore (maximize) window, if it’s minimized. (!IMPORTANT! When use UIA framework minimized windows doesn’t appear by the UIOSelector. You need to try restore windows and after that try to get UIO)</p>
<dlclass="field-list simple">
<dtclass="field-odd">Параметры</dt>
<ddclass="field-odd"><p><strong>inSpecificationList</strong>– UIOSelector - List of items, which contains condition attributes</p>
<codeclass="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><codeclass="sig-name descname">UIOSelectorsSecs_WaitAppear_List</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">inSpecificationListList</span></em>, <emclass="sig-param"><spanclass="n">inWaitSecs</span></em>, <emclass="sig-param"><spanclass="n">inFlagWaitAllInMoment</span><spanclass="o">=</span><spanclass="default_value">False</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelectorsSecs_WaitAppear_List"><spanclass="viewcode-link">[исходный код]</span></a><aclass="headerlink"href="#pyOpenRPA.Robot.UIDesktop.UIOSelectorsSecs_WaitAppear_List"title="Ссылка на это определение">¶</a></dt>
<dd><p>Wait for many UI object will appear in GUI for inWaitSecs seconds.</p>
<li><p><strong>inWaitSecs</strong>– Float value (seconds) for wait UI element appear in GUI</p></li>
<li><p><strong>inFlagWaitAllInMoment</strong>– True - Wait all UI objects from the UIOSelector list to be appeared</p></li>
</ul>
</dd>
<dtclass="field-even">Результат</dt>
<ddclass="field-even"><p>List of index, which UI object UIO will be appeared. Example: [1] # Appear only UI object with UIO selector: [{«title»:»notepad»},{«title»:»Cancel»}]</p>
<codeclass="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><codeclass="sig-name descname">UIOSelectorsSecs_WaitDisappear_List</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">inSpecificationListList</span></em>, <emclass="sig-param"><spanclass="n">inWaitSecs</span></em>, <emclass="sig-param"><spanclass="n">inFlagWaitAllInMoment</span><spanclass="o">=</span><spanclass="default_value">False</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelectorsSecs_WaitDisappear_List"><spanclass="viewcode-link">[исходный код]</span></a><aclass="headerlink"href="#pyOpenRPA.Robot.UIDesktop.UIOSelectorsSecs_WaitDisappear_List"title="Ссылка на это определение">¶</a></dt>
<dd><p>Wait for many UI object will disappear in GUI for inWaitSecs seconds.</p>
<li><p><strong>inWaitSecs</strong>– Float value (seconds) for wait UI element disappear in GUI</p></li>
<li><p><strong>inFlagWaitAllInMoment</strong>– True - Wait all UI objects from the UIOSelector list to be disappeared.</p></li>
</ul>
</dd>
<dtclass="field-even">Результат</dt>
<ddclass="field-even"><p>List of index, which UI object UIO will be disappeared. Example: [1] # Disappear only UI object with UIO selector: [{«title»:»notepad»},{«title»:»Cancel»}]</p>
</dd>
<dtclass="field-odd">Результат</dt>
<ddclass="field-odd"><p></p>
</dd>
</dl>
</dd></dl>
<divclass="section"id="references">
<h2>References<aclass="headerlink"href="#references"title="Ссылка на этот заголовок">¶</a></h2>
<spanclass="s2">"Python32FullPath"</span><spanclass="p">:</span><spanclass="s2">"..</span><spanclass="se">\\</span><spanclass="s2">Resources</span><spanclass="se">\\</span><spanclass="s2">WPy32-3720</span><spanclass="se">\\</span><spanclass="s2">python-3.7.2</span><spanclass="se">\\</span><spanclass="s2">python.exe"</span><spanclass="p">,</span><spanclass="c1">#Set from user: "..\\Resources\\WPy32-3720\\python-3.7.2\\OpenRPARobotGUIx32.exe"</span>
<spanclass="s2">"Python64FullPath"</span><spanclass="p">:</span><spanclass="s2">"..</span><spanclass="se">\\</span><spanclass="s2">Resources</span><spanclass="se">\\</span><spanclass="s2">WPy64-3720</span><spanclass="se">\\</span><spanclass="s2">python-3.7.2.amd64</span><spanclass="se">\\</span><spanclass="s2">python.exe"</span><spanclass="p">,</span><spanclass="c1">#Set from user</span>
<spanclass="s2">"Python32ProcessName"</span><spanclass="p">:</span><spanclass="s2">"pyOpenRPA_UIDesktopX32.exe"</span><spanclass="p">,</span><spanclass="c1">#Config set once</span>
<spanclass="s2">"Python64ProcessName"</span><spanclass="p">:</span><spanclass="s2">"pyOpenRPA_UIDesktopX64.exe"</span><spanclass="c1">#Config set once</span>
<spanclass="p">}</span>
<spanclass="c1"># Init the pyOpenRPA configuration</span>
<spanclass="c1"># Now you can use pyOpenRPA with both bitness.</span>
<spanid="module-robot-keyboard"></span><h1>4. Функции Keyboard<aclass="headerlink"href="#keyboard"title="Ссылка на этот заголовок">¶</a></h1>
<divclass="section"id="id1">
<h2>Общее<aclass="headerlink"href="#id1"title="Ссылка на этот заголовок">¶</a></h2>
<p>Клавиатура - это главный текстовый инструмент, который обладает 100% точностью передачи данных. Сего помощью можно отправлять сообщения, ожидать нажатия и выполнять различные комбинации клавиш. На этой странице представлена вся необходимая информация по управлению клавиатурой со стороны программного робота RPA.</p>
<p>В отличие от многих RPA платформ, pyOpenRPA обладает функциями, которые не зависят от текущей раскладки клавиатуры. За счет этого надежность и стабильность программного робота существенно возрастает.</p>
<p>ВНИМАНИЕ! ПРИ ВЫЗОВЕ ФУНКЦИЙ ОБРАЩАЙТЕ ВНИМАНИЕ НА РЕГИСТР.</p>
</div>
<divclass="section"id="id2">
<h2>Примеры использования<aclass="headerlink"href="#id2"title="Ссылка на этот заголовок">¶</a></h2>
<divclass="highlight-python notranslate"><divclass="highlight"><pre><span></span><spanclass="c1"># Keyboard: Взаимодействие с клавиатурой</span>
<codeclass="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><codeclass="sig-name descname">Get_OSBitnessInt</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/pyOpenRPA/Robot/UIDesktop.html#Get_OSBitnessInt"><spanclass="viewcode-link">[исходный код]</span></a><aclass="headerlink"href="#pyOpenRPA.Robot.UIDesktop.Get_OSBitnessInt"title="Ссылка на это определение">¶</a></dt>
<codeclass="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><codeclass="sig-name descname">PWASpecification_Get_PWAApplication</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">inControlSpecificationArray</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/pyOpenRPA/Robot/UIDesktop.html#PWASpecification_Get_PWAApplication"><spanclass="viewcode-link">[исходный код]</span></a><aclass="headerlink"href="#pyOpenRPA.Robot.UIDesktop.PWASpecification_Get_PWAApplication"title="Ссылка на это определение">¶</a></dt>
<dd><p>#Backend selection - attribute «backend» («win32» || «uia») in 1-st list element</p>
<dlclass="field-list simple">
<dtclass="field-odd">Параметры</dt>
<ddclass="field-odd"><p><strong>inControlSpecificationArray</strong>– List of dict, dict in pywinauto.find_windows notation</p>
<codeclass="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><codeclass="sig-name descname">PWASpecification_Get_UIO</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">inControlSpecificationArray</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/pyOpenRPA/Robot/UIDesktop.html#PWASpecification_Get_UIO"><spanclass="viewcode-link">[исходный код]</span></a><aclass="headerlink"href="#pyOpenRPA.Robot.UIDesktop.PWASpecification_Get_UIO"title="Ссылка на это определение">¶</a></dt>
<dd><p>#Backend def selection - attribute «backend» («win32» || «uia») in 1-st list element
#old name - GetControl</p>
<dlclass="field-list simple">
<dtclass="field-odd">Параметры</dt>
<ddclass="field-odd"><p><strong>inControlSpecificationArray</strong>– List of dict, dict in pywinauto.find_windows notation</p>
<codeclass="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><codeclass="sig-name descname">UIOSelectorSecs_WaitAppear_Bool</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">inSpecificationList</span></em>, <emclass="sig-param"><spanclass="n">inWaitSecs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelectorSecs_WaitAppear_Bool"><spanclass="viewcode-link">[исходный код]</span></a><aclass="headerlink"href="#pyOpenRPA.Robot.UIDesktop.UIOSelectorSecs_WaitAppear_Bool"title="Ссылка на это определение">¶</a></dt>
<dd><p>Wait for UI object will appear in GUI for inWaitSecs seconds.</p>
<codeclass="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><codeclass="sig-name descname">UIOSelectorSecs_WaitDisappear_Bool</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">inSpecificationList</span></em>, <emclass="sig-param"><spanclass="n">inWaitSecs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelectorSecs_WaitDisappear_Bool"><spanclass="viewcode-link">[исходный код]</span></a><aclass="headerlink"href="#pyOpenRPA.Robot.UIDesktop.UIOSelectorSecs_WaitDisappear_Bool"title="Ссылка на это определение">¶</a></dt>
<dd><p>Wait for UI object will disappear in GUI for inWaitSecs seconds.</p>
<dtid="pyOpenRPA.Robot.Keyboard.Down">
<codeclass="sig-prename descclassname">pyOpenRPA.Robot.Keyboard.</code><codeclass="sig-name descname">Down</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">inKeyInt</span><spanclass="p">:</span><spanclass="n">int</span></em>, <emclass="sig-param"><spanclass="n">inWaitAfterSecFloat</span><spanclass="p">:</span><spanclass="n">float</span><spanclass="o">=</span><spanclass="default_value">0.4</span></em><spanclass="sig-paren">)</span>→ None<aclass="reference internal"href="../_modules/pyOpenRPA/Robot/Keyboard.html#Down"><spanclass="viewcode-link">[исходный код]</span></a><aclass="headerlink"href="#pyOpenRPA.Robot.Keyboard.Down"title="Ссылка на это определение">¶</a></dt>
<dd><p>Нажать (опустить) клавишу. Если клавиша уже была опущена, то ничего не произойдет.</p>
<p>ВНИМАНИЕ! ПРИ ПОПЫТКЕ ПЕЧАТИ ТЕКСТА БУДЕТ УЧИТЫВАТЬ ТЕКУЩУЮ РАСКЛАДКУ КЛАВИАТУРЫ. ДЛЯ ПЕЧАТИ ТЕКСТА ИСПОЛЬЗУЙ Write!</p>
<divclass="highlight-python notranslate"><divclass="highlight"><pre><span></span><spanclass="c1"># Keyboard: Взаимодействие с клавиатурой</span>
<li><p><strong>inWaitSecs</strong>– Float value (seconds) for wait UI element disappear in GUI</p></li>
<li><p><strong>inKeyInt</strong> (<em>int</em>) – Перечень клавиш см. в разделе «Коды клавиш». Пример: KEY_HOT_CTRL_LEFT, KEY_ENG_A</p></li>
<li><p><strong>inWaitAfterSecFloat</strong> (<em>float</em><em>, </em><em>опциональный</em>) – Количество секунд, которые ожидать после выполнения операции. По умолчанию установлено в настройках модуля Keyboard (базовое значение 0.4)</p></li>
</ul>
</dd>
<dtclass="field-even">Результат</dt>
<ddclass="field-even"><p>True - UI object will disappear. False - else case</p>
<codeclass="sig-prename descclassname">pyOpenRPA.Robot.Keyboard.</code><codeclass="sig-name descname">HotkeyCombination</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="o">*</span><spanclass="n">inKeyList</span></em>, <emclass="sig-param"><spanclass="n">inDelaySecFloat</span><spanclass="o">=</span><spanclass="default_value">0.3</span></em>, <emclass="sig-param"><spanclass="n">inWaitAfterSecFloat</span><spanclass="p">:</span><spanclass="n">float</span><spanclass="o">=</span><spanclass="default_value">0.4</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/pyOpenRPA/Robot/Keyboard.html#HotkeyCombination"><spanclass="viewcode-link">[исходный код]</span></a><aclass="headerlink"href="#pyOpenRPA.Robot.Keyboard.HotkeyCombination"title="Ссылка на это определение">¶</a></dt>
<dd><p>Получает перечень клавиш для одновременного нажатия. Между нажатиями программа ожидания время inDelaySecFloat
ВНИМАНИЕ! НЕ ЗАВИСИТ ОТ ТЕКУЩЕЙ РАСКЛАДКИ КЛАВИАТУРЫ</p>
<divclass="highlight-python notranslate"><divclass="highlight"><pre><span></span><spanclass="c1"># Keyboard: Взаимодействие с клавиатурой</span>
<li><p><strong>inKeyList</strong>– Список клавиш для одновременного нажатия. Перечень клавиш см. в разделе «Коды клавиш». Пример: KEY_HOT_CTRL_LEFT,KEY_ENG_A</p></li>
<li><p><strong>inDelaySecFloat</strong> (<em>float</em><em>, </em><em>опциональный</em>) – Интервал между нажатиями. Необходим в связи с тем, что операционной системе требуется время на реакцию на нажатие клавиш, по умолчанию: 0.3</p></li>
<li><p><strong>inWaitAfterSecFloat</strong> (<em>float</em><em>, </em><em>опциональный</em>) – Количество секунд, которые ожидать после выполнения операции. По умолчанию установлено в настройках модуля Keyboard (базовое значение 0.4)</p></li>
<codeclass="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><codeclass="sig-name descname">UIOSelector_Exist_Bool</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">inUIOSelector</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_Exist_Bool"><spanclass="viewcode-link">[исходный код]</span></a><aclass="headerlink"href="#pyOpenRPA.Robot.UIDesktop.UIOSelector_Exist_Bool"title="Ссылка на это определение">¶</a></dt>
<dd><p>Check if object is exist by the UIO selector.</p>
<codeclass="sig-prename descclassname">pyOpenRPA.Robot.Keyboard.</code><codeclass="sig-name descname">HotkeyCtrlA_CtrlC</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">inWaitAfterSecFloat</span><spanclass="p">:</span><spanclass="n">float</span><spanclass="o">=</span><spanclass="default_value">0.4</span></em><spanclass="sig-paren">)</span>→ None<aclass="reference internal"href="../_modules/pyOpenRPA/Robot/Keyboard.html#HotkeyCtrlA_CtrlC"><spanclass="viewcode-link">[исходный код]</span></a><aclass="headerlink"href="#pyOpenRPA.Robot.Keyboard.HotkeyCtrlA_CtrlC"title="Ссылка на это определение">¶</a></dt>
<dd><p>Выполнить выделение текста, после чего скопировать его в буфер обмена
ВНИМАНИЕ! НЕ ЗАВИСИТ ОТ ТЕКУЩЕЙ РАСКЛАДКИ КЛАВИАТУРЫ</p>
<divclass="highlight-python notranslate"><divclass="highlight"><pre><span></span><spanclass="c1"># Keyboard: Взаимодействие с клавиатурой</span>
<spanclass="n">Keyboard</span><spanclass="o">.</span><spanclass="n">HotkeyCtrlA_CtrlC</span><spanclass="p">()</span><spanclass="c1"># Отправить команды: выделить все, скопировать в буфер обмена</span>
<ddclass="field-even"><p>True - Object is exist. False - else case</p>
<ddclass="field-odd"><p><strong>inWaitAfterSecFloat</strong> (<em>float</em><em>, </em><em>опциональный</em>) – Количество секунд, которые ожидать после выполнения операции. По умолчанию установлено в настройках модуля Keyboard (базовое значение 0.4)</p>
<codeclass="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><codeclass="sig-name descname">UIOSelector_FocusHighlight</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">inUIOSelector</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_FocusHighlight"><spanclass="viewcode-link">[исходный код]</span></a><aclass="headerlink"href="#pyOpenRPA.Robot.UIDesktop.UIOSelector_FocusHighlight"title="Ссылка на это определение">¶</a></dt>
<dd><p>Set focus and highlight (draw outline) the element (in app) by the UIO selector.</p>
<dtid="pyOpenRPA.Robot.Keyboard.IsDown">
<codeclass="sig-prename descclassname">pyOpenRPA.Robot.Keyboard.</code><codeclass="sig-name descname">IsDown</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">inKeyInt</span><spanclass="p">:</span><spanclass="n">int</span></em><spanclass="sig-paren">)</span>→ bool<aclass="reference internal"href="../_modules/pyOpenRPA/Robot/Keyboard.html#IsDown"><spanclass="viewcode-link">[исходный код]</span></a><aclass="headerlink"href="#pyOpenRPA.Robot.Keyboard.IsDown"title="Ссылка на это определение">¶</a></dt>
<dd><p>Проверить, опущена ли клавиша. Вернет True если опущена; False если поднята.</p>
<p>ВНИМАНИЕ! ПРИ ПОПЫТКЕ ПЕЧАТИ ТЕКСТА БУДЕТ УЧИТЫВАТЬ ТЕКУЩУЮ РАСКЛАДКУ КЛАВИАТУРЫ. ДЛЯ ПЕЧАТИ ТЕКСТА ИСПОЛЬЗУЙ Write!</p>
<divclass="highlight-python notranslate"><divclass="highlight"><pre><span></span><spanclass="c1"># Keyboard: Взаимодействие с клавиатурой</span>
<codeclass="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><codeclass="sig-name descname">UIOSelector_GetChildList_UIOList</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">inUIOSelector</span><spanclass="o">=</span><spanclass="default_value">None</span></em>, <emclass="sig-param"><spanclass="n">inBackend</span><spanclass="o">=</span><spanclass="default_value">'win32'</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_GetChildList_UIOList"><spanclass="viewcode-link">[исходный код]</span></a><aclass="headerlink"href="#pyOpenRPA.Robot.UIDesktop.UIOSelector_GetChildList_UIOList"title="Ссылка на это определение">¶</a></dt>
<dd><p>Get list of child UIO’s by the parent UIOSelector</p>
<dlclass="field-list simple">
<dtclass="field-odd">Параметры</dt>
<ddclass="field-odd"><ulclass="simple">
<li><p><strong>inUIOSelector</strong>– UIOSelector - List of items, which contains condition attributes</p></li>
<li><p><strong>inBackend</strong>– «win32» or «uia»</p></li>
</ul>
</dd>
<dtclass="field-even">Результат</dt>
<ddclass="field-even"><p></p>
</dd>
</dl>
</dd></dl>
<dlclass="py data">
<dtid="pyOpenRPA.Robot.Keyboard.KEY_HOT_COLON">
<codeclass="sig-prename descclassname">pyOpenRPA.Robot.Keyboard.</code><codeclass="sig-name descname">KEY_HOT_COLON</code><emclass="property"> = 39</em><aclass="headerlink"href="#pyOpenRPA.Robot.Keyboard.KEY_HOT_COLON"title="Ссылка на это определение">¶</a></dt>
<codeclass="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><codeclass="sig-name descname">UIOSelector_Get_BitnessInt</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">inSpecificationList</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_Get_BitnessInt"><spanclass="viewcode-link">[исходный код]</span></a><aclass="headerlink"href="#pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_BitnessInt"title="Ссылка на это определение">¶</a></dt>
<dd><p>Detect process bitness by the UI Object UIO Selector.</p>
<spanid="pyOpenRPA.Robot.Keyboard.KEY_RUS_Ж"></span><codeclass="sig-prename descclassname">pyOpenRPA.Robot.Keyboard.</code><codeclass="sig-name descname">KEY_RUS_Ж</code><emclass="property"> = 39</em><aclass="headerlink"href="#pyOpenRPA.Robot.Keyboard.KEY_RUS_"title="Ссылка на это определение">¶</a></dt>
<codeclass="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><codeclass="sig-name descname">UIOSelector_Get_BitnessStr</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">inSpecificationList</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_Get_BitnessStr"><spanclass="viewcode-link">[исходный код]</span></a><aclass="headerlink"href="#pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_BitnessStr"title="Ссылка на это определение">¶</a></dt>
<dd><p>Detect process bitness by the UI Object UIO Selector.</p>
<codeclass="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><codeclass="sig-name descname">UIOSelector_Get_UIO</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">inSpecificationList</span></em>, <emclass="sig-param"><spanclass="n">inElement</span><spanclass="o">=</span><spanclass="default_value">None</span></em>, <emclass="sig-param"><spanclass="n">inFlagRaiseException</span><spanclass="o">=</span><spanclass="default_value">True</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_Get_UIO"><spanclass="viewcode-link">[исходный код]</span></a><aclass="headerlink"href="#pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_UIO"title="Ссылка на это определение">¶</a></dt>
<dd><p>Get the pywinauto object by the UIO selector.</p>
<dtid="pyOpenRPA.Robot.Keyboard.Send">
<codeclass="sig-prename descclassname">pyOpenRPA.Robot.Keyboard.</code><codeclass="sig-name descname">Send</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">inKeyInt</span><spanclass="p">:</span><spanclass="n">int</span></em>, <emclass="sig-param"><spanclass="n">inDoPressBool</span><spanclass="p">:</span><spanclass="n">bool</span><spanclass="o">=</span><spanclass="default_value">True</span></em>, <emclass="sig-param"><spanclass="n">inDoReleaseBool</span><spanclass="p">:</span><spanclass="n">bool</span><spanclass="o">=</span><spanclass="default_value">True</span></em>, <emclass="sig-param"><spanclass="n">inWaitAfterSecFloat</span><spanclass="p">:</span><spanclass="n">float</span><spanclass="o">=</span><spanclass="default_value">0.4</span></em><spanclass="sig-paren">)</span>→ None<aclass="reference internal"href="../_modules/pyOpenRPA/Robot/Keyboard.html#Send"><spanclass="viewcode-link">[исходный код]</span></a><aclass="headerlink"href="#pyOpenRPA.Robot.Keyboard.Send"title="Ссылка на это определение">¶</a></dt>
<dd><p>Имитация нажатия/отпускания любой физической клавиши. Посылает событие в операционную систему, которые выполняет нажатие и отпускание данной клавиши</p>
<p>ВНИМАНИЕ! ПРИ ПОПЫТКЕ ПЕЧАТИ ТЕКСТА БУДЕТ УЧИТЫВАТЬ ТЕКУЩУЮ РАСКЛАДКУ КЛАВИАТУРЫ. ДЛЯ ПЕЧАТИ ТЕКСТА ИСПОЛЬЗУЙ Write!</p>
<divclass="highlight-python notranslate"><divclass="highlight"><pre><span></span><spanclass="c1"># Keyboard: Взаимодействие с клавиатурой</span>
<spanclass="n">Keyboard</span><spanclass="o">.</span><spanclass="n">Send</span><spanclass="p">(</span><spanclass="n">Keyboard</span><spanclass="o">.</span><spanclass="n">KEY_ENG_A</span><spanclass="p">)</span><spanclass="c1"># Нажать клавишу A. Если будет активна русская раскладка, то будет выведена буква ф.</span>
<li><p><strong>inWaitAfterSecFloat</strong> (<em>float</em><em>, </em><em>опциональный</em>) – Количество секунд, которые ожидать после выполнения операции. По умолчанию установлено в настройках модуля Keyboard (базовое значение 0.4)</p></li>
<codeclass="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><codeclass="sig-name descname">UIOSelector_Get_UIOActivityList</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">inUIOSelector</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_Get_UIOActivityList"><spanclass="viewcode-link">[исходный код]</span></a><aclass="headerlink"href="#pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_UIOActivityList"title="Ссылка на это определение">¶</a></dt>
<dd><p>Get the list of the UI object activities</p>
<dlclass="field-list simple">
<dtclass="field-odd">Параметры</dt>
<ddclass="field-odd"><p><strong>inUIOSelector</strong>– UIOSelector - List of items, which contains condition attributes</p>
<codeclass="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><codeclass="sig-name descname">UIOSelector_Get_UIOInfo</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">inUIOSelector</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_Get_UIOInfo"><spanclass="viewcode-link">[исходный код]</span></a><aclass="headerlink"href="#pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_UIOInfo"title="Ссылка на это определение">¶</a></dt>
<dd><p>Get the UIO dict of the attributes</p>
<dlclass="field-list simple">
<dtclass="field-odd">Параметры</dt>
<ddclass="field-odd"><p><strong>inUIOSelector</strong>– UIOSelector - List of items, which contains condition attributes</p>
<codeclass="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><codeclass="sig-name descname">UIOSelector_Get_UIOList</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">inSpecificationList</span></em>, <emclass="sig-param"><spanclass="n">inElement</span><spanclass="o">=</span><spanclass="default_value">None</span></em>, <emclass="sig-param"><spanclass="n">inFlagRaiseException</span><spanclass="o">=</span><spanclass="default_value">True</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_Get_UIOList"><spanclass="viewcode-link">[исходный код]</span></a><aclass="headerlink"href="#pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_UIOList"title="Ссылка на это определение">¶</a></dt>
<dd><p>Get the UIO list by the selector</p>
<dtid="pyOpenRPA.Robot.Keyboard.Up">
<codeclass="sig-prename descclassname">pyOpenRPA.Robot.Keyboard.</code><codeclass="sig-name descname">Up</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">inKeyInt</span><spanclass="p">:</span><spanclass="n">int</span></em>, <emclass="sig-param"><spanclass="n">inWaitAfterSecFloat</span><spanclass="p">:</span><spanclass="n">float</span><spanclass="o">=</span><spanclass="default_value">0.4</span></em><spanclass="sig-paren">)</span>→ None<aclass="reference internal"href="../_modules/pyOpenRPA/Robot/Keyboard.html#Up"><spanclass="viewcode-link">[исходный код]</span></a><aclass="headerlink"href="#pyOpenRPA.Robot.Keyboard.Up"title="Ссылка на это определение">¶</a></dt>
<dd><p>Отпустить (поднять) клавишу. Если клавиша уже была поднята, то ничего не произойдет.</p>
<p>ВНИМАНИЕ! ПРИ ПОПЫТКЕ ПЕЧАТИ ТЕКСТА БУДЕТ УЧИТЫВАТЬ ТЕКУЩУЮ РАСКЛАДКУ КЛАВИАТУРЫ. ДЛЯ ПЕЧАТИ ТЕКСТА ИСПОЛЬЗУЙ Write!</p>
<divclass="highlight-python notranslate"><divclass="highlight"><pre><span></span><spanclass="c1"># Keyboard: Взаимодействие с клавиатурой</span>
<li><p><strong>inElement</strong>– Входной элемент - показатель, что не требуется выполнять коннект к процессу</p></li>
<li><p><strong>inFlagRaiseException</strong>– Флаг True - выкинуть ошибку в случае обнаружении пустого списка</p></li>
<li><p><strong>inKeyInt</strong> (<em>int</em>) – Перечень клавиш см. в разделе «Коды клавиш». Пример: KEY_HOT_CTRL_LEFT, KEY_ENG_A</p></li>
<li><p><strong>inWaitAfterSecFloat</strong> (<em>float</em><em>, </em><em>опциональный</em>) – Количество секунд, которые ожидать после выполнения операции. По умолчанию установлено в настройках модуля Keyboard (базовое значение 0.4)</p></li>
<codeclass="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><codeclass="sig-name descname">UIOSelector_Highlight</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">inUIOSelector</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_Highlight"><spanclass="viewcode-link">[исходный код]</span></a><aclass="headerlink"href="#pyOpenRPA.Robot.UIDesktop.UIOSelector_Highlight"title="Ссылка на это определение">¶</a></dt>
<dd><p>Highlight (draw outline) the element (in app) by the UIO selector.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Параметры</dt>
<ddclass="field-odd"><p><strong>inUIOSelector</strong>– UIOSelector - List of items, which contains condition attributes</p>
<codeclass="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><codeclass="sig-name descname">UIOSelector_SafeOtherGet_Process</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">inUIOSelector</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_SafeOtherGet_Process"><spanclass="viewcode-link">[исходный код]</span></a><aclass="headerlink"href="#pyOpenRPA.Robot.UIDesktop.UIOSelector_SafeOtherGet_Process"title="Ссылка на это определение">¶</a></dt>
<dd><p>Safe get other process or None if destination app is the other/same bitness</p>
<dlclass="field-list simple">
<dtclass="field-odd">Параметры</dt>
<ddclass="field-odd"><p><strong>inUIOSelector</strong>– UIO Selector of the UI object</p>
</dd>
<dtclass="field-even">Результат</dt>
<ddclass="field-even"><p>None or process (of the other bitness)</p>
<codeclass="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><codeclass="sig-name descname">UIOSelector_SearchChildByMouse_UIO</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">inElementSpecification</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_SearchChildByMouse_UIO"><spanclass="viewcode-link">[исходный код]</span></a><aclass="headerlink"href="#pyOpenRPA.Robot.UIDesktop.UIOSelector_SearchChildByMouse_UIO"title="Ссылка на это определение">¶</a></dt>
<dd><p>UIOSelector (see description on the top of the document)
#old name - AutomationSearchMouseElement</p>
<dlclass="field-list simple">
<dtclass="field-odd">Параметры</dt>
<ddclass="field-odd"><p><strong>inElementSpecification</strong>– UIOSelector of the UI Object</p>
</dd>
<dtclass="field-even">Результат</dt>
<ddclass="field-even"><p>pywinauto element wrapper instance or None</p>
<codeclass="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><codeclass="sig-name descname">UIOSelector_SearchChildByMouse_UIOTree</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">inUIOSelector</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_SearchChildByMouse_UIOTree"><spanclass="viewcode-link">[исходный код]</span></a><aclass="headerlink"href="#pyOpenRPA.Robot.UIDesktop.UIOSelector_SearchChildByMouse_UIOTree"title="Ссылка на это определение">¶</a></dt>
<dd><p>!!!!Safe call is included (you can set activity and UIDesktop will choose the bitness and return the result)!!!!!</p>
<dlclass="field-list simple">
<dtclass="field-odd">Параметры</dt>
<ddclass="field-odd"><p><strong>inUIOSelector</strong>– UIOSelector of the UI Object</p>
<codeclass="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><codeclass="sig-name descname">UIOSelector_TryRestore_Dict</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">inSpecificationList</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_TryRestore_Dict"><spanclass="viewcode-link">[исходный код]</span></a><aclass="headerlink"href="#pyOpenRPA.Robot.UIDesktop.UIOSelector_TryRestore_Dict"title="Ссылка на это определение">¶</a></dt>
<dd><p>Try to restore (maximize) window, if it’s minimized. (!IMPORTANT! When use UIA framework minimized windows doesn’t appear by the UIOSelector. You need to try restore windows and after that try to get UIO)</p>
<dlclass="field-list simple">
<dtclass="field-odd">Параметры</dt>
<ddclass="field-odd"><p><strong>inSpecificationList</strong>– UIOSelector - List of items, which contains condition attributes</p>
<codeclass="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><codeclass="sig-name descname">UIOSelectorsSecs_WaitAppear_List</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">inSpecificationListList</span></em>, <emclass="sig-param"><spanclass="n">inWaitSecs</span></em>, <emclass="sig-param"><spanclass="n">inFlagWaitAllInMoment</span><spanclass="o">=</span><spanclass="default_value">False</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelectorsSecs_WaitAppear_List"><spanclass="viewcode-link">[исходный код]</span></a><aclass="headerlink"href="#pyOpenRPA.Robot.UIDesktop.UIOSelectorsSecs_WaitAppear_List"title="Ссылка на это определение">¶</a></dt>
<dd><p>Wait for many UI object will appear in GUI for inWaitSecs seconds.</p>
<dtid="pyOpenRPA.Robot.Keyboard.Wait">
<codeclass="sig-prename descclassname">pyOpenRPA.Robot.Keyboard.</code><codeclass="sig-name descname">Wait</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">inKeyInt</span><spanclass="p">:</span><spanclass="n">int</span></em>, <emclass="sig-param"><spanclass="n">inWaitAfterSecFloat</span><spanclass="p">:</span><spanclass="n">float</span><spanclass="o">=</span><spanclass="default_value">0.4</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/pyOpenRPA/Robot/Keyboard.html#Wait"><spanclass="viewcode-link">[исходный код]</span></a><aclass="headerlink"href="#pyOpenRPA.Robot.Keyboard.Wait"title="Ссылка на это определение">¶</a></dt>
<dd><p>Блокирует осуществление программы, пока данная обозначенная клавиша не будет нажата.
ВНИМАНИЕ! НЕ ЗАВИСИТ ОТ ТЕКУЩЕЙ РАСКЛАДКИ КЛАВИАТУРЫ. ОЖИДАЕТ НАЖАТИЕ СООТВЕТСВУЮЩЕЙ ФИЗИЧЕСКОЙ КЛАВИШИ</p>
<divclass="highlight-python notranslate"><divclass="highlight"><pre><span></span><spanclass="c1"># Keyboard: Взаимодействие с клавиатурой</span>
<li><p><strong>inWaitSecs</strong>– Float value (seconds) for wait UI element appear in GUI</p></li>
<li><p><strong>inFlagWaitAllInMoment</strong>– True - Wait all UI objects from the UIOSelector list to be appeared</p></li>
<li><p><strong>inKeyInt</strong> (<em>int</em>) – Перечень клавиш см. в разделе «Коды клавиш». Пример: KEY_HOT_CTRL_LEFT,KEY_ENG_A</p></li>
<li><p><strong>inWaitAfterSecFloat</strong> (<em>float</em><em>, </em><em>опциональный</em>) – Количество секунд, которые ожидать после выполнения операции. По умолчанию установлено в настройках модуля Keyboard (базовое значение 0.4)</p></li>
</ul>
</dd>
<dtclass="field-even">Результат</dt>
<ddclass="field-even"><p>List of index, which UI object UIO will be appeared. Example: [1] # Appear only UI object with UIO selector: [{«title»:»notepad»},{«title»:»Cancel»}]</p>
<codeclass="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><codeclass="sig-name descname">UIOSelectorsSecs_WaitDisappear_List</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">inSpecificationListList</span></em>, <emclass="sig-param"><spanclass="n">inWaitSecs</span></em>, <emclass="sig-param"><spanclass="n">inFlagWaitAllInMoment</span><spanclass="o">=</span><spanclass="default_value">False</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelectorsSecs_WaitDisappear_List"><spanclass="viewcode-link">[исходный код]</span></a><aclass="headerlink"href="#pyOpenRPA.Robot.UIDesktop.UIOSelectorsSecs_WaitDisappear_List"title="Ссылка на это определение">¶</a></dt>
<dd><p>Wait for many UI object will disappear in GUI for inWaitSecs seconds.</p>
<dtid="pyOpenRPA.Robot.Keyboard.Write">
<codeclass="sig-prename descclassname">pyOpenRPA.Robot.Keyboard.</code><codeclass="sig-name descname">Write</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">inTextStr</span><spanclass="p">:</span><spanclass="n">str</span></em>, <emclass="sig-param"><spanclass="n">inDelayFloat</span><spanclass="p">:</span><spanclass="n">float</span><spanclass="o">=</span><spanclass="default_value">0</span></em>, <emclass="sig-param"><spanclass="n">inRestoreStateAfterBool</span><spanclass="p">:</span><spanclass="n">bool</span><spanclass="o">=</span><spanclass="default_value">True</span></em>, <emclass="sig-param"><spanclass="n">inExactBool</span><spanclass="p">:</span><spanclass="n">Optional<spanclass="p">[</span>bool<spanclass="p">]</span></span><spanclass="o">=</span><spanclass="default_value">None</span></em>, <emclass="sig-param"><spanclass="n">inWaitAfterSecFloat</span><spanclass="p">:</span><spanclass="n">float</span><spanclass="o">=</span><spanclass="default_value">0.4</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/pyOpenRPA/Robot/Keyboard.html#Write"><spanclass="viewcode-link">[исходный код]</span></a><aclass="headerlink"href="#pyOpenRPA.Robot.Keyboard.Write"title="Ссылка на это определение">¶</a></dt>
<dd><p>Печатает текст, который был передан в переменной inTextStr (поддерживает передачу в одной строке символов разного языка). Не зависит от текущей раскладки клавиатуры! Посылает искусственные клавишные события в ОС, моделируя печать данного текста. Знаки, не доступные на клавиатуре, напечатаны как явный unicode знаки, использующие определенную для ОС функциональность, такие как alt+codepoint.
Чтобы гарантировать текстовую целостность, все в настоящее время нажатые ключи выпущены прежде текст напечатан, и модификаторы восстановлены впоследствии.</p>
<p>ВНИМАНИЕ! ПЕЧАТАЕТ ЛЮБУЮ СТРОКУ, ДАЖЕ В СОЧЕТАНИИ НЕСКОЛЬКИХ ЯЗЫКОВ ОДНОВРЕМЕННО. ДЛЯ РАБОТЫ С ГОРЯЧИМИ КЛАВИШАМИ ИСПОЛЬЗУЙ ФУНКЦИЮ Send, Up, Down, HotkeyCombination</p>
<divclass="highlight-python notranslate"><divclass="highlight"><pre><span></span><spanclass="c1"># Keyboard: Взаимодействие с клавиатурой</span>
<li><p><strong>inWaitSecs</strong>– Float value (seconds) for wait UI element disappear in GUI</p></li>
<li><p><strong>inFlagWaitAllInMoment</strong>– True - Wait all UI objects from the UIOSelector list to be disappeared.</p></li>
<li><p><strong>inTextStr</strong> (<em>str</em>) – Текст, отправляемый на печать. Не зависит от текущей раскладки клавиатуры!</p></li>
<li><p><strong>inDelayFloat</strong> (<em>float</em><em>, </em><em>опциональный</em>) – Число секунд, которое ожидать между нажатиями. По умолчанию 0</p></li>
<li><p><strong>inRestoreStateAfterBool</strong> (<em>bool</em><em>, </em><em>опциональный</em>) – Может использоваться, чтобы восстановить регистр нажатых ключей после того, как текст напечатан, т.е. нажимает ключи, которые были выпущены в начало.</p></li>
<li><p><strong>inExactBool</strong> (<em>bool</em><em>, </em><em>опциональный</em>) – Печатает все знаки как явный unicode. Необязательный параметр</p></li>
<li><p><strong>inWaitAfterSecFloat</strong> (<em>float</em><em>, </em><em>опциональный</em>) – Количество секунд, которые ожидать после выполнения операции. По умолчанию установлено в настройках модуля Keyboard (базовое значение 0.4)</p></li>
</ul>
</dd>
<dtclass="field-even">Результат</dt>
<ddclass="field-even"><p>List of index, which UI object UIO will be disappeared. Example: [1] # Disappear only UI object with UIO selector: [{«title»:»notepad»},{«title»:»Cancel»}]</p>
</dd>
<dtclass="field-odd">Результат</dt>
<ddclass="field-odd"><p></p>
</dd>
</dl>
</dd></dl>
<divclass="section"id="references">
<h2>References<aclass="headerlink"href="#references"title="Ссылка на этот заголовок">¶</a></h2>
.. <ahref="#id1"><spanclass="problematic"id="id2">|author|</span></a> replace:: Ivan Maslov <<aclass="reference external"href="mailto:ivan.maslov%40unicodelabs.ru">ivan<span>.</span>maslov<span>@</span>unicodelabs<span>.</span>ru</a>></p>
</div>
<divclass="section"id="id4">
<h2>Коды клавиш<aclass="headerlink"href="#id4"title="Ссылка на этот заголовок">¶</a></h2>
<p>Ниже представлены коды горячих клавиш, а также символов русской и английской раскладки.</p>
<divclass="highlight-python notranslate"><divclass="highlight"><pre><span></span><spanclass="c1"># ШЕСТНАДЦАТИРИЧНЫЙ СКАН-КОД В РУССКОЙ РАСКЛАДКЕ (НЕЗАВИСИМО ОТ ВЫБРАННОГО ЯЗЫКА НА КЛАВИАТУРЕ)</span>
<spanclass="c1"># ОТОБРАЖЕНИЕ СКАН КОДОВ НА КЛАВИАТУРЕ https://snipp.ru/handbk/scan-codes</span>
<h2>Дополнительная функциональность<aclass="headerlink"href="#id5"title="Ссылка на этот заголовок">¶</a></h2>
<p>Дополнительно модуль содержит функции вспомогательной библиотеки. Ознакомиться с описанием можно <aclass="reference external"href="https://github.com/boppreh/keyboard#api">Здесь</a></p>
<divclass="highlight-python notranslate"><divclass="highlight"><pre><span></span><spanclass="c1"># Пример использования функции send</span>
<spanclass="s2">"Python32FullPath"</span><spanclass="p">:</span><spanclass="s2">"..</span><spanclass="se">\\</span><spanclass="s2">Resources</span><spanclass="se">\\</span><spanclass="s2">WPy32-3720</span><spanclass="se">\\</span><spanclass="s2">python-3.7.2</span><spanclass="se">\\</span><spanclass="s2">python.exe"</span><spanclass="p">,</span><spanclass="c1">#Set from user: "..\\Resources\\WPy32-3720\\python-3.7.2\\OpenRPARobotGUIx32.exe"</span>
<spanclass="s2">"Python64FullPath"</span><spanclass="p">:</span><spanclass="s2">"..</span><spanclass="se">\\</span><spanclass="s2">Resources</span><spanclass="se">\\</span><spanclass="s2">WPy64-3720</span><spanclass="se">\\</span><spanclass="s2">python-3.7.2.amd64</span><spanclass="se">\\</span><spanclass="s2">python.exe"</span><spanclass="p">,</span><spanclass="c1">#Set from user</span>
<spanclass="s2">"Python32ProcessName"</span><spanclass="p">:</span><spanclass="s2">"pyOpenRPA_UIDesktopX32.exe"</span><spanclass="p">,</span><spanclass="c1">#Config set once</span>
<spanclass="s2">"Python64ProcessName"</span><spanclass="p">:</span><spanclass="s2">"pyOpenRPA_UIDesktopX64.exe"</span><spanclass="c1">#Config set once</span>
<spanclass="p">}</span>
<spanclass="c1"># Init the pyOpenRPA configuration</span>
<codeclass="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><codeclass="sig-name descname">Get_OSBitnessInt</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/pyOpenRPA/Robot/UIDesktop.html#Get_OSBitnessInt"><spanclass="viewcode-link">[исходный код]</span></a><aclass="headerlink"href="#pyOpenRPA.Robot.UIDesktop.Get_OSBitnessInt"title="Ссылка на это определение">¶</a></dt>
<dd><p>Detect OS bitness.</p>
<dtid="pyOpenRPA.Robot.Clipboard.Get">
<codeclass="sig-prename descclassname">pyOpenRPA.Robot.Clipboard.</code><codeclass="sig-name descname">Get</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/pyOpenRPA/Robot/Clipboard.html#Get"><spanclass="viewcode-link">[исходный код]</span></a><aclass="headerlink"href="#pyOpenRPA.Robot.Clipboard.Get"title="Ссылка на это определение">¶</a></dt>
<codeclass="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><codeclass="sig-name descname">PWASpecification_Get_PWAApplication</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">inControlSpecificationArray</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/pyOpenRPA/Robot/UIDesktop.html#PWASpecification_Get_PWAApplication"><spanclass="viewcode-link">[исходный код]</span></a><aclass="headerlink"href="#pyOpenRPA.Robot.UIDesktop.PWASpecification_Get_PWAApplication"title="Ссылка на это определение">¶</a></dt>
<dd><p>#Backend selection - attribute «backend» («win32» || «uia») in 1-st list element</p>
<dlclass="field-list simple">
<dtclass="field-odd">Параметры</dt>
<ddclass="field-odd"><p><strong>inControlSpecificationArray</strong>– List of dict, dict in pywinauto.find_windows notation</p>
<codeclass="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><codeclass="sig-name descname">PWASpecification_Get_UIO</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">inControlSpecificationArray</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/pyOpenRPA/Robot/UIDesktop.html#PWASpecification_Get_UIO"><spanclass="viewcode-link">[исходный код]</span></a><aclass="headerlink"href="#pyOpenRPA.Robot.UIDesktop.PWASpecification_Get_UIO"title="Ссылка на это определение">¶</a></dt>
<dd><p>#Backend def selection - attribute «backend» («win32» || «uia») in 1-st list element
#old name - GetControl</p>
<dlclass="field-list simple">
<dtclass="field-odd">Параметры</dt>
<ddclass="field-odd"><p><strong>inControlSpecificationArray</strong>– List of dict, dict in pywinauto.find_windows notation</p>
<codeclass="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><codeclass="sig-name descname">UIOSelectorSecs_WaitAppear_Bool</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">inSpecificationList</span></em>, <emclass="sig-param"><spanclass="n">inWaitSecs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelectorSecs_WaitAppear_Bool"><spanclass="viewcode-link">[исходный код]</span></a><aclass="headerlink"href="#pyOpenRPA.Robot.UIDesktop.UIOSelectorSecs_WaitAppear_Bool"title="Ссылка на это определение">¶</a></dt>
<dd><p>Wait for UI object will appear in GUI for inWaitSecs seconds.</p>
<codeclass="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><codeclass="sig-name descname">UIOSelectorSecs_WaitDisappear_Bool</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">inSpecificationList</span></em>, <emclass="sig-param"><spanclass="n">inWaitSecs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelectorSecs_WaitDisappear_Bool"><spanclass="viewcode-link">[исходный код]</span></a><aclass="headerlink"href="#pyOpenRPA.Robot.UIDesktop.UIOSelectorSecs_WaitDisappear_Bool"title="Ссылка на это определение">¶</a></dt>
<dd><p>Wait for UI object will disappear in GUI for inWaitSecs seconds.</p>
<codeclass="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><codeclass="sig-name descname">UIOSelector_Exist_Bool</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">inUIOSelector</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_Exist_Bool"><spanclass="viewcode-link">[исходный код]</span></a><aclass="headerlink"href="#pyOpenRPA.Robot.UIDesktop.UIOSelector_Exist_Bool"title="Ссылка на это определение">¶</a></dt>
<dd><p>Check if object is exist by the UIO selector.</p>
<codeclass="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><codeclass="sig-name descname">UIOSelector_FocusHighlight</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">inUIOSelector</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_FocusHighlight"><spanclass="viewcode-link">[исходный код]</span></a><aclass="headerlink"href="#pyOpenRPA.Robot.UIDesktop.UIOSelector_FocusHighlight"title="Ссылка на это определение">¶</a></dt>
<dd><p>Set focus and highlight (draw outline) the element (in app) by the UIO selector.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Параметры</dt>
<ddclass="field-odd"><p><strong>inUIOSelector</strong>– UIOSelector - List of items, which contains condition attributes</p>
<codeclass="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><codeclass="sig-name descname">UIOSelector_GetChildList_UIOList</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">inUIOSelector</span><spanclass="o">=</span><spanclass="default_value">None</span></em>, <emclass="sig-param"><spanclass="n">inBackend</span><spanclass="o">=</span><spanclass="default_value">'win32'</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_GetChildList_UIOList"><spanclass="viewcode-link">[исходный код]</span></a><aclass="headerlink"href="#pyOpenRPA.Robot.UIDesktop.UIOSelector_GetChildList_UIOList"title="Ссылка на это определение">¶</a></dt>
<dd><p>Get list of child UIO’s by the parent UIOSelector</p>
<dlclass="field-list simple">
<dtclass="field-odd">Параметры</dt>
<ddclass="field-odd"><ulclass="simple">
<li><p><strong>inUIOSelector</strong>– UIOSelector - List of items, which contains condition attributes</p></li>
<li><p><strong>inBackend</strong>– «win32» or «uia»</p></li>
<codeclass="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><codeclass="sig-name descname">UIOSelector_Get_BitnessInt</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">inSpecificationList</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_Get_BitnessInt"><spanclass="viewcode-link">[исходный код]</span></a><aclass="headerlink"href="#pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_BitnessInt"title="Ссылка на это определение">¶</a></dt>
<dd><p>Detect process bitness by the UI Object UIO Selector.</p>
<codeclass="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><codeclass="sig-name descname">UIOSelector_Get_BitnessStr</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">inSpecificationList</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_Get_BitnessStr"><spanclass="viewcode-link">[исходный код]</span></a><aclass="headerlink"href="#pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_BitnessStr"title="Ссылка на это определение">¶</a></dt>
<dd><p>Detect process bitness by the UI Object UIO Selector.</p>
<codeclass="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><codeclass="sig-name descname">UIOSelector_Get_UIO</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">inSpecificationList</span></em>, <emclass="sig-param"><spanclass="n">inElement</span><spanclass="o">=</span><spanclass="default_value">None</span></em>, <emclass="sig-param"><spanclass="n">inFlagRaiseException</span><spanclass="o">=</span><spanclass="default_value">True</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_Get_UIO"><spanclass="viewcode-link">[исходный код]</span></a><aclass="headerlink"href="#pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_UIO"title="Ссылка на это определение">¶</a></dt>
<dd><p>Get the pywinauto object by the UIO selector.</p>
<codeclass="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><codeclass="sig-name descname">UIOSelector_Get_UIOActivityList</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">inUIOSelector</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_Get_UIOActivityList"><spanclass="viewcode-link">[исходный код]</span></a><aclass="headerlink"href="#pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_UIOActivityList"title="Ссылка на это определение">¶</a></dt>
<dd><p>Get the list of the UI object activities</p>
<dlclass="field-list simple">
<dtclass="field-odd">Параметры</dt>
<ddclass="field-odd"><p><strong>inUIOSelector</strong>– UIOSelector - List of items, which contains condition attributes</p>
<codeclass="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><codeclass="sig-name descname">UIOSelector_Get_UIOInfo</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">inUIOSelector</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_Get_UIOInfo"><spanclass="viewcode-link">[исходный код]</span></a><aclass="headerlink"href="#pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_UIOInfo"title="Ссылка на это определение">¶</a></dt>
<dd><p>Get the UIO dict of the attributes</p>
<dlclass="field-list simple">
<dtclass="field-odd">Параметры</dt>
<ddclass="field-odd"><p><strong>inUIOSelector</strong>– UIOSelector - List of items, which contains condition attributes</p>
<codeclass="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><codeclass="sig-name descname">UIOSelector_Get_UIOList</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">inSpecificationList</span></em>, <emclass="sig-param"><spanclass="n">inElement</span><spanclass="o">=</span><spanclass="default_value">None</span></em>, <emclass="sig-param"><spanclass="n">inFlagRaiseException</span><spanclass="o">=</span><spanclass="default_value">True</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_Get_UIOList"><spanclass="viewcode-link">[исходный код]</span></a><aclass="headerlink"href="#pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_UIOList"title="Ссылка на это определение">¶</a></dt>
<codeclass="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><codeclass="sig-name descname">UIOSelector_Highlight</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">inUIOSelector</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_Highlight"><spanclass="viewcode-link">[исходный код]</span></a><aclass="headerlink"href="#pyOpenRPA.Robot.UIDesktop.UIOSelector_Highlight"title="Ссылка на это определение">¶</a></dt>
<dd><p>Highlight (draw outline) the element (in app) by the UIO selector.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Параметры</dt>
<ddclass="field-odd"><p><strong>inUIOSelector</strong>– UIOSelector - List of items, which contains condition attributes</p>
<codeclass="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><codeclass="sig-name descname">UIOSelector_SafeOtherGet_Process</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">inUIOSelector</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_SafeOtherGet_Process"><spanclass="viewcode-link">[исходный код]</span></a><aclass="headerlink"href="#pyOpenRPA.Robot.UIDesktop.UIOSelector_SafeOtherGet_Process"title="Ссылка на это определение">¶</a></dt>
<dd><p>Safe get other process or None if destination app is the other/same bitness</p>
<dlclass="field-list simple">
<dtclass="field-odd">Параметры</dt>
<ddclass="field-odd"><p><strong>inUIOSelector</strong>– UIO Selector of the UI object</p>
</dd>
<dtclass="field-even">Результат</dt>
<ddclass="field-even"><p>None or process (of the other bitness)</p>
<codeclass="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><codeclass="sig-name descname">UIOSelector_SearchChildByMouse_UIO</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">inElementSpecification</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_SearchChildByMouse_UIO"><spanclass="viewcode-link">[исходный код]</span></a><aclass="headerlink"href="#pyOpenRPA.Robot.UIDesktop.UIOSelector_SearchChildByMouse_UIO"title="Ссылка на это определение">¶</a></dt>
<dd><p>UIOSelector (see description on the top of the document)
#old name - AutomationSearchMouseElement</p>
<dlclass="field-list simple">
<dtclass="field-odd">Параметры</dt>
<ddclass="field-odd"><p><strong>inElementSpecification</strong>– UIOSelector of the UI Object</p>
</dd>
<dtclass="field-even">Результат</dt>
<ddclass="field-even"><p>pywinauto element wrapper instance or None</p>
<codeclass="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><codeclass="sig-name descname">UIOSelector_SearchChildByMouse_UIOTree</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">inUIOSelector</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_SearchChildByMouse_UIOTree"><spanclass="viewcode-link">[исходный код]</span></a><aclass="headerlink"href="#pyOpenRPA.Robot.UIDesktop.UIOSelector_SearchChildByMouse_UIOTree"title="Ссылка на это определение">¶</a></dt>
<dd><p>!!!!Safe call is included (you can set activity and UIDesktop will choose the bitness and return the result)!!!!!</p>
<dlclass="field-list simple">
<dtclass="field-odd">Параметры</dt>
<ddclass="field-odd"><p><strong>inUIOSelector</strong>– UIOSelector of the UI Object</p>
<codeclass="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><codeclass="sig-name descname">UIOSelector_TryRestore_Dict</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">inSpecificationList</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_TryRestore_Dict"><spanclass="viewcode-link">[исходный код]</span></a><aclass="headerlink"href="#pyOpenRPA.Robot.UIDesktop.UIOSelector_TryRestore_Dict"title="Ссылка на это определение">¶</a></dt>
<dd><p>Try to restore (maximize) window, if it’s minimized. (!IMPORTANT! When use UIA framework minimized windows doesn’t appear by the UIOSelector. You need to try restore windows and after that try to get UIO)</p>
<dlclass="field-list simple">
<dtclass="field-odd">Параметры</dt>
<ddclass="field-odd"><p><strong>inSpecificationList</strong>– UIOSelector - List of items, which contains condition attributes</p>
<codeclass="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><codeclass="sig-name descname">UIOSelectorsSecs_WaitAppear_List</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">inSpecificationListList</span></em>, <emclass="sig-param"><spanclass="n">inWaitSecs</span></em>, <emclass="sig-param"><spanclass="n">inFlagWaitAllInMoment</span><spanclass="o">=</span><spanclass="default_value">False</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelectorsSecs_WaitAppear_List"><spanclass="viewcode-link">[исходный код]</span></a><aclass="headerlink"href="#pyOpenRPA.Robot.UIDesktop.UIOSelectorsSecs_WaitAppear_List"title="Ссылка на это определение">¶</a></dt>
<dd><p>Wait for many UI object will appear in GUI for inWaitSecs seconds.</p>
<dtid="pyOpenRPA.Robot.Clipboard.Set">
<codeclass="sig-prename descclassname">pyOpenRPA.Robot.Clipboard.</code><codeclass="sig-name descname">Set</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">inTextStr</span><spanclass="p">:</span><spanclass="n">str</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/pyOpenRPA/Robot/Clipboard.html#Set"><spanclass="viewcode-link">[исходный код]</span></a><aclass="headerlink"href="#pyOpenRPA.Robot.Clipboard.Set"title="Ссылка на это определение">¶</a></dt>
<dd><p>Установить текстовое содержимое в буфер обмена.</p>
<divclass="highlight-python notranslate"><divclass="highlight"><pre><span></span><spanclass="c1"># Clipboard: Взаимодействие с буфером</span>
<li><p><strong>inWaitSecs</strong>– Float value (seconds) for wait UI element appear in GUI</p></li>
<li><p><strong>inFlagWaitAllInMoment</strong>– True - Wait all UI objects from the UIOSelector list to be appeared</p></li>
</ul>
</dd>
<dtclass="field-even">Результат</dt>
<ddclass="field-even"><p>List of index, which UI object UIO will be appeared. Example: [1] # Appear only UI object with UIO selector: [{«title»:»notepad»},{«title»:»Cancel»}]</p>
<ddclass="field-odd"><p><strong>inTextStr</strong> (<em>str</em>) – Текстовое содержимое для установки в буфера обмена</p>
<codeclass="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><codeclass="sig-name descname">UIOSelectorsSecs_WaitDisappear_List</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">inSpecificationListList</span></em>, <emclass="sig-param"><spanclass="n">inWaitSecs</span></em>, <emclass="sig-param"><spanclass="n">inFlagWaitAllInMoment</span><spanclass="o">=</span><spanclass="default_value">False</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelectorsSecs_WaitDisappear_List"><spanclass="viewcode-link">[исходный код]</span></a><aclass="headerlink"href="#pyOpenRPA.Robot.UIDesktop.UIOSelectorsSecs_WaitDisappear_List"title="Ссылка на это определение">¶</a></dt>
<dd><p>Wait for many UI object will disappear in GUI for inWaitSecs seconds.</p>
<ddclass="field-even"><p>List of index, which UI object UIO will be disappeared. Example: [1] # Disappear only UI object with UIO selector: [{«title»:»notepad»},{«title»:»Cancel»}]</p>
</dd>
<dtclass="field-odd">Результат</dt>
<ddclass="field-odd"><p></p>
</dd>
</dl>
</dd></dl>
<divclass="section"id="references">
<h2>References<aclass="headerlink"href="#references"title="Ссылка на этот заголовок">¶</a></h2>
<spanclass="s2">"Python32FullPath"</span><spanclass="p">:</span><spanclass="s2">"..</span><spanclass="se">\\</span><spanclass="s2">Resources</span><spanclass="se">\\</span><spanclass="s2">WPy32-3720</span><spanclass="se">\\</span><spanclass="s2">python-3.7.2</span><spanclass="se">\\</span><spanclass="s2">python.exe"</span><spanclass="p">,</span><spanclass="c1">#Set from user: "..\\Resources\\WPy32-3720\\python-3.7.2\\OpenRPARobotGUIx32.exe"</span>
<spanclass="s2">"Python64FullPath"</span><spanclass="p">:</span><spanclass="s2">"..</span><spanclass="se">\\</span><spanclass="s2">Resources</span><spanclass="se">\\</span><spanclass="s2">WPy64-3720</span><spanclass="se">\\</span><spanclass="s2">python-3.7.2.amd64</span><spanclass="se">\\</span><spanclass="s2">python.exe"</span><spanclass="p">,</span><spanclass="c1">#Set from user</span>
<spanclass="s2">"Python32ProcessName"</span><spanclass="p">:</span><spanclass="s2">"pyOpenRPA_UIDesktopX32.exe"</span><spanclass="p">,</span><spanclass="c1">#Config set once</span>
<spanclass="s2">"Python64ProcessName"</span><spanclass="p">:</span><spanclass="s2">"pyOpenRPA_UIDesktopX64.exe"</span><spanclass="c1">#Config set once</span>
<spanclass="p">}</span>
<spanclass="c1"># Init the pyOpenRPA configuration</span>
<td><p>Переместить указатель по координатам inXInt, inYInt, после чего нажать (вниз) клавишу мыши и не отпускать до выполнения соответсвующей команды (см.</p></td>
<td><p>!ТОЛЬКО ДЛЯ LINUX! Переместить указатель мыши на позицию inXInt, inYInt и выполнить горизонтальную прокрутку (скроллинг) виртуальным колесом мыши на количество щелчков inScrollClickCountInt.</p></td>
<td><p>Переместить указатель мыши на позицию inXInt, inYInt и выполнить вертикальную прокрутку (скроллинг) колесом мыши на количество щелчков inScrollClickCountInt.</p></td>
<codeclass="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><codeclass="sig-name descname">Get_OSBitnessInt</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/pyOpenRPA/Robot/UIDesktop.html#Get_OSBitnessInt"><spanclass="viewcode-link">[исходный код]</span></a><aclass="headerlink"href="#pyOpenRPA.Robot.UIDesktop.Get_OSBitnessInt"title="Ссылка на это определение">¶</a></dt>
<codeclass="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><codeclass="sig-name descname">PWASpecification_Get_PWAApplication</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">inControlSpecificationArray</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/pyOpenRPA/Robot/UIDesktop.html#PWASpecification_Get_PWAApplication"><spanclass="viewcode-link">[исходный код]</span></a><aclass="headerlink"href="#pyOpenRPA.Robot.UIDesktop.PWASpecification_Get_PWAApplication"title="Ссылка на это определение">¶</a></dt>
<dd><p>#Backend selection - attribute «backend» («win32» || «uia») in 1-st list element</p>
<dlclass="field-list simple">
<dtclass="field-odd">Параметры</dt>
<ddclass="field-odd"><p><strong>inControlSpecificationArray</strong>– List of dict, dict in pywinauto.find_windows notation</p>
<codeclass="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><codeclass="sig-name descname">PWASpecification_Get_UIO</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">inControlSpecificationArray</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/pyOpenRPA/Robot/UIDesktop.html#PWASpecification_Get_UIO"><spanclass="viewcode-link">[исходный код]</span></a><aclass="headerlink"href="#pyOpenRPA.Robot.UIDesktop.PWASpecification_Get_UIO"title="Ссылка на это определение">¶</a></dt>
<dd><p>#Backend def selection - attribute «backend» («win32» || «uia») in 1-st list element
#old name - GetControl</p>
<dlclass="field-list simple">
<dtclass="field-odd">Параметры</dt>
<ddclass="field-odd"><p><strong>inControlSpecificationArray</strong>– List of dict, dict in pywinauto.find_windows notation</p>
<codeclass="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><codeclass="sig-name descname">UIOSelectorSecs_WaitAppear_Bool</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">inSpecificationList</span></em>, <emclass="sig-param"><spanclass="n">inWaitSecs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelectorSecs_WaitAppear_Bool"><spanclass="viewcode-link">[исходный код]</span></a><aclass="headerlink"href="#pyOpenRPA.Robot.UIDesktop.UIOSelectorSecs_WaitAppear_Bool"title="Ссылка на это определение">¶</a></dt>
<dd><p>Wait for UI object will appear in GUI for inWaitSecs seconds.</p>
<dtid="pyOpenRPA.Robot.Mouse.Click">
<codeclass="sig-prename descclassname">pyOpenRPA.Robot.Mouse.</code><codeclass="sig-name descname">Click</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">inXInt</span><spanclass="p">:</span><spanclass="n">Optional<spanclass="p">[</span>int<spanclass="p">]</span></span><spanclass="o">=</span><spanclass="default_value">None</span></em>, <emclass="sig-param"><spanclass="n">inYInt</span><spanclass="p">:</span><spanclass="n">Optional<spanclass="p">[</span>int<spanclass="p">]</span></span><spanclass="o">=</span><spanclass="default_value">None</span></em>, <emclass="sig-param"><spanclass="n">inClickCountInt</span><spanclass="p">:</span><spanclass="n">int</span><spanclass="o">=</span><spanclass="default_value">1</span></em>, <emclass="sig-param"><spanclass="n">inIntervalSecFloat</span><spanclass="p">:</span><spanclass="n">float</span><spanclass="o">=</span><spanclass="default_value">0.0</span></em>, <emclass="sig-param"><spanclass="n">inButtonStr</span><spanclass="p">:</span><spanclass="n">str</span><spanclass="o">=</span><spanclass="default_value">'left'</span></em>, <emclass="sig-param"><spanclass="n">inMoveDurationSecFloat</span><spanclass="p">:</span><spanclass="n">float</span><spanclass="o">=</span><spanclass="default_value">0.0</span></em>, <emclass="sig-param"><spanclass="n">inWaitAfterSecFloat</span><spanclass="p">:</span><spanclass="n">float</span><spanclass="o">=</span><spanclass="default_value">0.4</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/pyOpenRPA/Robot/Mouse.html#Click"><spanclass="viewcode-link">[исходный код]</span></a><aclass="headerlink"href="#pyOpenRPA.Robot.Mouse.Click"title="Ссылка на это определение">¶</a></dt>
<dd><p>Нажатие (вниз) кнопки мыши и затем немедленно выпуск (вверх) её. Допускается следующая параметризация. Если не указаны inXInt и inYInt - клик производится по месту нахождения указателя мыши.</p>
<p>!ВНИМАНИЕ! Отсчет координат inXInt, inYInt начинается с левого верхнего края рабочей области (экрана).</p>
<divclass="highlight-python notranslate"><divclass="highlight"><pre><span></span><spanclass="c1"># Mouse: Взаимодействие с мышью</span>
<spanclass="n">Mouse</span><spanclass="o">.</span><spanclass="n">Click</span><spanclass="p">(</span><spanclass="mi">100</span><spanclass="p">,</span><spanclass="mi">150</span><spanclass="p">)</span><spanclass="c1">#Выполнить нажатие левой клавиши мыши на экране по координатам: X(гор) 100px, Y(вер) 150px.</span>
<li><p><strong>inWaitSecs</strong>– Float value (seconds) for wait UI element appear in GUI</p></li>
<li><p><strong>inXInt</strong> (<em>int</em><em>, </em><em>опциональный</em>) – Целевая позиция указателя мыши по оси X (горизонтальная ось).</p></li>
<li><p><strong>inYInt</strong> (<em>int</em><em>, </em><em>опциональный</em>) – Целевая позиция указателя мыши по оси Y (вертикальная ось).</p></li>
<li><p><strong>inClickCountInt</strong> (<em>int</em><em>, </em><em>опциональный</em>) – Количество нажатий (вниз и вверх) кнопкой мыши, По умолчанию 1</p></li>
<li><p><strong>inIntervalSecFloat</strong> (<em>float</em><em>, </em><em>опциональный</em>) – Интервал ожидания в секундах между нажатиями, По умолчанию 0.0</p></li>
<li><p><strong>inButtonStr</strong> (<em>str</em><em>, </em><em>опциональный</em>) – Номер кнопки, которую требуется нажать. Возможные варианты: „left“, „middle“, „right“ или 1, 2, 3. В остальных случаях инициирует исключение ValueError. По умолчанию „left“</p></li>
<li><p><strong>inMoveDurationSecFloat</strong> (<em>float</em><em>, </em><em>опциональный</em>) – Время перемещения указателя мыши, По умолчанию 0.0 (моментальное перемещение)</p></li>
<li><p><strong>inWaitAfterSecFloat</strong> (<em>float</em><em>, </em><em>опциональный</em>) – Количество секунд, которые ожидать после выполнения операции. По умолчанию установлено в настройках модуля Mouse (базовое значение 0.4)</p></li>
</ul>
</dd>
<dtclass="field-even">Результат</dt>
<ddclass="field-even"><p>True - UI object will appear. False - else case</p>
<codeclass="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><codeclass="sig-name descname">UIOSelectorSecs_WaitDisappear_Bool</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">inSpecificationList</span></em>, <emclass="sig-param"><spanclass="n">inWaitSecs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelectorSecs_WaitDisappear_Bool"><spanclass="viewcode-link">[исходный код]</span></a><aclass="headerlink"href="#pyOpenRPA.Robot.UIDesktop.UIOSelectorSecs_WaitDisappear_Bool"title="Ссылка на это определение">¶</a></dt>
<dd><p>Wait for UI object will disappear in GUI for inWaitSecs seconds.</p>
<dtid="pyOpenRPA.Robot.Mouse.ClickDouble">
<codeclass="sig-prename descclassname">pyOpenRPA.Robot.Mouse.</code><codeclass="sig-name descname">ClickDouble</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">inXInt</span><spanclass="p">:</span><spanclass="n">Optional<spanclass="p">[</span>int<spanclass="p">]</span></span><spanclass="o">=</span><spanclass="default_value">None</span></em>, <emclass="sig-param"><spanclass="n">inYInt</span><spanclass="p">:</span><spanclass="n">Optional<spanclass="p">[</span>int<spanclass="p">]</span></span><spanclass="o">=</span><spanclass="default_value">None</span></em>, <emclass="sig-param"><spanclass="n">inWaitAfterSecFloat</span><spanclass="p">:</span><spanclass="n">float</span><spanclass="o">=</span><spanclass="default_value">0.4</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/pyOpenRPA/Robot/Mouse.html#ClickDouble"><spanclass="viewcode-link">[исходный код]</span></a><aclass="headerlink"href="#pyOpenRPA.Robot.Mouse.ClickDouble"title="Ссылка на это определение">¶</a></dt>
<dd><p>Двойное нажатие левой клавиши мыши. Данное действие аналогично вызову функции (см. ниже).</p>
<p>!ВНИМАНИЕ! Отсчет координат inXInt, inYInt начинается с левого верхнего края рабочей области (экрана).</p>
<divclass="highlight-python notranslate"><divclass="highlight"><pre><span></span><spanclass="c1"># Mouse: Взаимодействие с мышью</span>
<spanclass="n">Mouse</span><spanclass="o">.</span><spanclass="n">ClickDouble</span><spanclass="p">(</span><spanclass="mi">100</span><spanclass="p">,</span><spanclass="mi">150</span><spanclass="p">)</span><spanclass="c1">#Выполнить двойное нажатие левой клавиши мыши на экране по координатам: X(гор) 100px, Y(вер) 150px.</span>
<li><p><strong>inWaitSecs</strong>– Float value (seconds) for wait UI element disappear in GUI</p></li>
<li><p><strong>inXInt</strong> (<em>int</em><em>, </em><em>опциональный</em>) – Целевая позиция указателя мыши по оси X (горизонтальная ось).</p></li>
<li><p><strong>inYInt</strong> (<em>int</em><em>, </em><em>опциональный</em>) – Целевая позиция указателя мыши по оси Y (вертикальная ось).</p></li>
<li><p><strong>inButtonStr</strong> (<em>str</em><em>, </em><em>опциональный</em>) – Номер кнопки, которую требуется нажать. Возможные варианты: „left“, „middle“, „right“ или 1, 2, 3. В остальных случаях инициирует исключение ValueError. По умолчанию „left“</p></li>
<li><p><strong>inWaitAfterSecFloat</strong> (<em>float</em><em>, </em><em>опциональный</em>) – Количество секунд, которые ожидать после выполнения операции. По умолчанию установлено в настройках модуля Mouse (базовое значение 0.4)</p></li>
</ul>
</dd>
<dtclass="field-even">Результат</dt>
<ddclass="field-even"><p>True - UI object will disappear. False - else case</p>
<codeclass="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><codeclass="sig-name descname">UIOSelectorUIOActivity_Run_Dict</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">inUIOSelector</span></em>, <emclass="sig-param"><spanclass="n">inActionName</span></em>, <emclass="sig-param"><spanclass="n">inArgumentList</span><spanclass="o">=</span><spanclass="default_value">None</span></em>, <emclass="sig-param"><spanclass="n">inkwArgumentObject</span><spanclass="o">=</span><spanclass="default_value">None</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelectorUIOActivity_Run_Dict"><spanclass="viewcode-link">[исходный код]</span></a><aclass="headerlink"href="#pyOpenRPA.Robot.UIDesktop.UIOSelectorUIOActivity_Run_Dict"title="Ссылка на это определение">¶</a></dt>
<dd><p>Run the activity in UIO (UI Object)</p>
<dtid="pyOpenRPA.Robot.Mouse.Down">
<codeclass="sig-prename descclassname">pyOpenRPA.Robot.Mouse.</code><codeclass="sig-name descname">Down</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">inXInt</span><spanclass="p">:</span><spanclass="n">Optional<spanclass="p">[</span>int<spanclass="p">]</span></span><spanclass="o">=</span><spanclass="default_value">None</span></em>, <emclass="sig-param"><spanclass="n">inYInt</span><spanclass="p">:</span><spanclass="n">Optional<spanclass="p">[</span>int<spanclass="p">]</span></span><spanclass="o">=</span><spanclass="default_value">None</span></em>, <emclass="sig-param"><spanclass="n">inButtonStr</span><spanclass="p">:</span><spanclass="n">str</span><spanclass="o">=</span><spanclass="default_value">'left'</span></em>, <emclass="sig-param"><spanclass="n">inWaitAfterSecFloat</span><spanclass="p">:</span><spanclass="n">float</span><spanclass="o">=</span><spanclass="default_value">0.4</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/pyOpenRPA/Robot/Mouse.html#Down"><spanclass="viewcode-link">[исходный код]</span></a><aclass="headerlink"href="#pyOpenRPA.Robot.Mouse.Down"title="Ссылка на это определение">¶</a></dt>
<dd><p>Переместить указатель по координатам inXInt, inYInt, после чего нажать (вниз) клавишу мыши и не отпускать до выполнения соответсвующей команды (см. Up). Если координаты inXInt, inYInt не переданы - нажатие происходит на тех координатах X/Y, на которых указатель мыши находится.</p>
<p>!ВНИМАНИЕ! Отсчет координат inXInt, inYInt начинается с левого верхнего края рабочей области (экрана).</p>
<divclass="highlight-python notranslate"><divclass="highlight"><pre><span></span><spanclass="c1"># Mouse: Взаимодействие с мышью</span>
<li><p><strong>inXInt</strong> (<em>int</em><em>, </em><em>опциональный</em>) – Целевая позиция указателя мыши по оси X (горизонтальная ось).</p></li>
<li><p><strong>inYInt</strong> (<em>int</em><em>, </em><em>опциональный</em>) – Целевая позиция указателя мыши по оси Y (вертикальная ось).</p></li>
<li><p><strong>inButtonStr</strong> (<em>str</em><em>, </em><em>опциональный</em>) – Номер кнопки, которую требуется нажать. Возможные варианты: „left“, „middle“, „right“ или 1, 2, 3. В остальных случаях инициирует исключение ValueError. По умолчанию „left“</p></li>
<li><p><strong>inWaitAfterSecFloat</strong> (<em>float</em><em>, </em><em>опциональный</em>) – Количество секунд, которые ожидать после выполнения операции. По умолчанию установлено в настройках модуля Mouse (базовое значение 0.4)</p></li>
<codeclass="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><codeclass="sig-name descname">UIOSelector_Exist_Bool</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">inUIOSelector</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_Exist_Bool"><spanclass="viewcode-link">[исходный код]</span></a><aclass="headerlink"href="#pyOpenRPA.Robot.UIDesktop.UIOSelector_Exist_Bool"title="Ссылка на это определение">¶</a></dt>
<dd><p>Check if object is exist by the UIO selector.</p>
<codeclass="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><codeclass="sig-name descname">UIOSelector_FocusHighlight</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">inUIOSelector</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_FocusHighlight"><spanclass="viewcode-link">[исходный код]</span></a><aclass="headerlink"href="#pyOpenRPA.Robot.UIDesktop.UIOSelector_FocusHighlight"title="Ссылка на это определение">¶</a></dt>
<dd><p>Set focus and highlight (draw outline) the element (in app) by the UIO selector.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Параметры</dt>
<ddclass="field-odd"><p><strong>inUIOSelector</strong>– UIOSelector - List of items, which contains condition attributes</p>
<codeclass="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><codeclass="sig-name descname">UIOSelector_GetChildList_UIOList</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">inUIOSelector</span><spanclass="o">=</span><spanclass="default_value">None</span></em>, <emclass="sig-param"><spanclass="n">inBackend</span><spanclass="o">=</span><spanclass="default_value">'win32'</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_GetChildList_UIOList"><spanclass="viewcode-link">[исходный код]</span></a><aclass="headerlink"href="#pyOpenRPA.Robot.UIDesktop.UIOSelector_GetChildList_UIOList"title="Ссылка на это определение">¶</a></dt>
<dd><p>Get list of child UIO’s by the parent UIOSelector</p>
<dtid="pyOpenRPA.Robot.Mouse.MoveTo">
<codeclass="sig-prename descclassname">pyOpenRPA.Robot.Mouse.</code><codeclass="sig-name descname">MoveTo</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">inXInt</span><spanclass="o">=</span><spanclass="default_value">None</span></em>, <emclass="sig-param"><spanclass="n">inYInt</span><spanclass="o">=</span><spanclass="default_value">None</span></em>, <emclass="sig-param"><spanclass="n">inMoveDurationSecFloat</span><spanclass="p">:</span><spanclass="n">float</span><spanclass="o">=</span><spanclass="default_value">0.0</span></em>, <emclass="sig-param"><spanclass="n">inWaitAfterSecFloat</span><spanclass="p">:</span><spanclass="n">float</span><spanclass="o">=</span><spanclass="default_value">0.4</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/pyOpenRPA/Robot/Mouse.html#MoveTo"><spanclass="viewcode-link">[исходный код]</span></a><aclass="headerlink"href="#pyOpenRPA.Robot.Mouse.MoveTo"title="Ссылка на это определение">¶</a></dt>
<dd><p>Переместить указатель мыши на позицию inXInt, inYInt за время inMoveDurationSecFloat.</p>
<p>!ВНИМАНИЕ! Отсчет координат inXInt, inYInt начинается с левого верхнего края рабочей области (экрана).</p>
<divclass="highlight-python notranslate"><divclass="highlight"><pre><span></span><spanclass="c1"># Mouse: Взаимодействие с мышью</span>
<spanclass="n">Mouse</span><spanclass="o">.</span><spanclass="n">MoveTo</span><spanclass="p">(</span><spanclass="n">inXInt</span><spanclass="o">=</span><spanclass="mi">100</span><spanclass="p">,</span><spanclass="n">inYInt</span><spanclass="o">=</span><spanclass="mi">200</span><spanclass="p">)</span><spanclass="c1">#Переместить указатель мыши по координатам: X(гор) 100, Y(вер) 200</span>
</pre></div>
</div>
<dlclass="field-list simple">
<dtclass="field-odd">Параметры</dt>
<ddclass="field-odd"><ulclass="simple">
<li><p><strong>inUIOSelector</strong>– UIOSelector - List of items, which contains condition attributes</p></li>
<li><p><strong>inBackend</strong>– «win32» or «uia»</p></li>
<li><p><strong>inXInt</strong> (<em>int</em><em>, </em><em>опциональный</em>) – Целевая позиция указателя мыши по оси X (горизонтальная ось).</p></li>
<li><p><strong>inYInt</strong> (<em>int</em><em>, </em><em>опциональный</em>) – Целевая позиция указателя мыши по оси Y (вертикальная ось).</p></li>
<li><p><strong>inMoveDurationSecFloat</strong> (<em>float</em><em>, </em><em>опциональный</em>) – Время перемещения указателя мыши, По умолчанию 0.0 (моментальное перемещение)</p></li>
<li><p><strong>inWaitAfterSecFloat</strong> (<em>float</em><em>, </em><em>опциональный</em>) – Количество секунд, которые ожидать после выполнения операции. По умолчанию установлено в настройках модуля Mouse (базовое значение 0.4)</p></li>
<codeclass="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><codeclass="sig-name descname">UIOSelector_Get_BitnessInt</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">inSpecificationList</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_Get_BitnessInt"><spanclass="viewcode-link">[исходный код]</span></a><aclass="headerlink"href="#pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_BitnessInt"title="Ссылка на это определение">¶</a></dt>
<dd><p>Detect process bitness by the UI Object UIO Selector.</p>
<codeclass="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><codeclass="sig-name descname">UIOSelector_Get_BitnessStr</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">inSpecificationList</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_Get_BitnessStr"><spanclass="viewcode-link">[исходный код]</span></a><aclass="headerlink"href="#pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_BitnessStr"title="Ссылка на это определение">¶</a></dt>
<dd><p>Detect process bitness by the UI Object UIO Selector.</p>
<codeclass="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><codeclass="sig-name descname">UIOSelector_Get_UIO</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">inSpecificationList</span></em>, <emclass="sig-param"><spanclass="n">inElement</span><spanclass="o">=</span><spanclass="default_value">None</span></em>, <emclass="sig-param"><spanclass="n">inFlagRaiseException</span><spanclass="o">=</span><spanclass="default_value">True</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_Get_UIO"><spanclass="viewcode-link">[исходный код]</span></a><aclass="headerlink"href="#pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_UIO"title="Ссылка на это определение">¶</a></dt>
<dd><p>Get the pywinauto object by the UIO selector.</p>
<dtid="pyOpenRPA.Robot.Mouse.ScrollHorizontal">
<codeclass="sig-prename descclassname">pyOpenRPA.Robot.Mouse.</code><codeclass="sig-name descname">ScrollHorizontal</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">inScrollClickCountInt</span></em>, <emclass="sig-param"><spanclass="n">inXInt</span><spanclass="o">=</span><spanclass="default_value">None</span></em>, <emclass="sig-param"><spanclass="n">inYInt</span><spanclass="o">=</span><spanclass="default_value">None</span></em>, <emclass="sig-param"><spanclass="n">inWaitAfterSecFloat</span><spanclass="p">:</span><spanclass="n">float</span><spanclass="o">=</span><spanclass="default_value">0.4</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/pyOpenRPA/Robot/Mouse.html#ScrollHorizontal"><spanclass="viewcode-link">[исходный код]</span></a><aclass="headerlink"href="#pyOpenRPA.Robot.Mouse.ScrollHorizontal"title="Ссылка на это определение">¶</a></dt>
<dd><p>!ТОЛЬКО ДЛЯ LINUX! Переместить указатель мыши на позицию inXInt, inYInt и выполнить горизонтальную прокрутку (скроллинг) виртуальным колесом мыши на количество щелчков inScrollClickCountInt.</p>
<p>!ВНИМАНИЕ! Отсчет координат inXInt, inYInt начинается с левого верхнего края рабочей области (экрана).</p>
<divclass="highlight-python notranslate"><divclass="highlight"><pre><span></span><spanclass="c1"># Mouse: Взаимодействие с мышью</span>
<spanclass="n">Mouse</span><spanclass="o">.</span><spanclass="n">ScrollHorizontal</span><spanclass="p">(</span><spanclass="mi">100</span><spanclass="p">,</span><spanclass="n">inXInt</span><spanclass="o">=</span><spanclass="mi">100</span><spanclass="p">,</span><spanclass="n">inYInt</span><spanclass="o">=</span><spanclass="mi">200</span><spanclass="p">)</span><spanclass="c1">#Крутить колесо мыши вниз на 100 кликов по координатам: X(гор) 100, Y(вер) 200</span>
<spanclass="n">Mouse</span><spanclass="o">.</span><spanclass="n">ScrollHorizontal</span><spanclass="p">(</span><spanclass="o">-</span><spanclass="mi">100</span><spanclass="p">)</span><spanclass="c1">#Крутить колесо мыши вверх на 100 кликов по текущим координатам указателя мыши.</span>
<li><p><strong>inScrollClickCountInt</strong> (<em>int</em><em>, </em><em>обязательный</em>) – Количество щелчок колеса мыши, которое требуется !горизонтально! прокрутить. Аргумент может принимать как положительное (прокрутка вправо), так и отрицательное (прокрутка влево) значения</p></li>
<li><p><strong>inXInt</strong> (<em>int</em><em>, </em><em>опциональный</em>) – Целевая позиция указателя мыши по оси X (горизонтальная ось).</p></li>
<li><p><strong>inYInt</strong> (<em>int</em><em>, </em><em>опциональный</em>) – Целевая позиция указателя мыши по оси Y (вертикальная ось).</p></li>
<li><p><strong>inWaitAfterSecFloat</strong> (<em>float</em><em>, </em><em>опциональный</em>) – Количество секунд, которые ожидать после выполнения операции. По умолчанию установлено в настройках модуля Mouse (базовое значение 0.4)</p></li>
<codeclass="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><codeclass="sig-name descname">UIOSelector_Get_UIOActivityList</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">inUIOSelector</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_Get_UIOActivityList"><spanclass="viewcode-link">[исходный код]</span></a><aclass="headerlink"href="#pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_UIOActivityList"title="Ссылка на это определение">¶</a></dt>
<dd><p>Get the list of the UI object activities</p>
<dlclass="field-list simple">
<dtclass="field-odd">Параметры</dt>
<ddclass="field-odd"><p><strong>inUIOSelector</strong>– UIOSelector - List of items, which contains condition attributes</p>
<codeclass="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><codeclass="sig-name descname">UIOSelector_Get_UIOInfo</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">inUIOSelector</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_Get_UIOInfo"><spanclass="viewcode-link">[исходный код]</span></a><aclass="headerlink"href="#pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_UIOInfo"title="Ссылка на это определение">¶</a></dt>
<dd><p>Get the UIO dict of the attributes</p>
<dlclass="field-list simple">
<dtclass="field-odd">Параметры</dt>
<ddclass="field-odd"><p><strong>inUIOSelector</strong>– UIOSelector - List of items, which contains condition attributes</p>
<codeclass="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><codeclass="sig-name descname">UIOSelector_Get_UIOList</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">inSpecificationList</span></em>, <emclass="sig-param"><spanclass="n">inElement</span><spanclass="o">=</span><spanclass="default_value">None</span></em>, <emclass="sig-param"><spanclass="n">inFlagRaiseException</span><spanclass="o">=</span><spanclass="default_value">True</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_Get_UIOList"><spanclass="viewcode-link">[исходный код]</span></a><aclass="headerlink"href="#pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_UIOList"title="Ссылка на это определение">¶</a></dt>
<dd><p>Get the UIO list by the selector</p>
<dtid="pyOpenRPA.Robot.Mouse.ScrollVertical">
<codeclass="sig-prename descclassname">pyOpenRPA.Robot.Mouse.</code><codeclass="sig-name descname">ScrollVertical</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">inScrollClickCountInt</span></em>, <emclass="sig-param"><spanclass="n">inXInt</span><spanclass="o">=</span><spanclass="default_value">None</span></em>, <emclass="sig-param"><spanclass="n">inYInt</span><spanclass="o">=</span><spanclass="default_value">None</span></em>, <emclass="sig-param"><spanclass="n">inWaitAfterSecFloat</span><spanclass="p">:</span><spanclass="n">float</span><spanclass="o">=</span><spanclass="default_value">0.4</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/pyOpenRPA/Robot/Mouse.html#ScrollVertical"><spanclass="viewcode-link">[исходный код]</span></a><aclass="headerlink"href="#pyOpenRPA.Robot.Mouse.ScrollVertical"title="Ссылка на это определение">¶</a></dt>
<dd><p>Переместить указатель мыши на позицию inXInt, inYInt и выполнить вертикальную прокрутку (скроллинг) колесом мыши на количество щелчков inScrollClickCountInt.</p>
<p>!ВНИМАНИЕ! Отсчет координат inXInt, inYInt начинается с левого верхнего края рабочей области (экрана).</p>
<divclass="highlight-python notranslate"><divclass="highlight"><pre><span></span><spanclass="c1"># Mouse: Взаимодействие с мышью</span>
<spanclass="n">Mouse</span><spanclass="o">.</span><spanclass="n">ScrollVertical</span><spanclass="p">(</span><spanclass="mi">100</span><spanclass="p">,</span><spanclass="n">inXInt</span><spanclass="o">=</span><spanclass="mi">100</span><spanclass="p">,</span><spanclass="n">inYInt</span><spanclass="o">=</span><spanclass="mi">200</span><spanclass="p">)</span><spanclass="c1">#Крутить колесо мыши вниз на 100 кликов по координатам: X(гор) 100, Y(вер) 200</span>
<spanclass="n">Mouse</span><spanclass="o">.</span><spanclass="n">ScrollVertical</span><spanclass="p">(</span><spanclass="o">-</span><spanclass="mi">100</span><spanclass="p">)</span><spanclass="c1">#Крутить колесо мыши вверх на 100 кликов по текущим координатам указателя мыши.</span>
<li><p><strong>inElement</strong>– Входной элемент - показатель, что не требуется выполнять коннект к процессу</p></li>
<li><p><strong>inFlagRaiseException</strong>– Флаг True - выкинуть ошибку в случае обнаружении пустого списка</p></li>
<li><p><strong>inScrollClickCountInt</strong> (<em>int</em><em>, </em><em>обязательный</em>) – Количество щелчок колеса мыши, которое требуется !вертикально! прокрутить. Аргумент может принимать как положительное (прокрутка вниз), так и отрицательное (прокрутка вверх) значения</p></li>
<li><p><strong>inXInt</strong> (<em>int</em><em>, </em><em>опциональный</em>) – Целевая позиция указателя мыши по оси X (горизонтальная ось).</p></li>
<li><p><strong>inYInt</strong> (<em>int</em><em>, </em><em>опциональный</em>) – Целевая позиция указателя мыши по оси Y (вертикальная ось).</p></li>
<li><p><strong>inWaitAfterSecFloat</strong> (<em>float</em><em>, </em><em>опциональный</em>) – Количество секунд, которые ожидать после выполнения операции. По умолчанию установлено в настройках модуля Mouse (базовое значение 0.4)</p></li>
<codeclass="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><codeclass="sig-name descname">UIOSelector_Highlight</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">inUIOSelector</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_Highlight"><spanclass="viewcode-link">[исходный код]</span></a><aclass="headerlink"href="#pyOpenRPA.Robot.UIDesktop.UIOSelector_Highlight"title="Ссылка на это определение">¶</a></dt>
<dd><p>Highlight (draw outline) the element (in app) by the UIO selector.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Параметры</dt>
<ddclass="field-odd"><p><strong>inUIOSelector</strong>– UIOSelector - List of items, which contains condition attributes</p>
<codeclass="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><codeclass="sig-name descname">UIOSelector_SafeOtherGet_Process</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">inUIOSelector</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_SafeOtherGet_Process"><spanclass="viewcode-link">[исходный код]</span></a><aclass="headerlink"href="#pyOpenRPA.Robot.UIDesktop.UIOSelector_SafeOtherGet_Process"title="Ссылка на это определение">¶</a></dt>
<dd><p>Safe get other process or None if destination app is the other/same bitness</p>
<dlclass="field-list simple">
<dtclass="field-odd">Параметры</dt>
<ddclass="field-odd"><p><strong>inUIOSelector</strong>– UIO Selector of the UI object</p>
</dd>
<dtclass="field-even">Результат</dt>
<ddclass="field-even"><p>None or process (of the other bitness)</p>
<codeclass="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><codeclass="sig-name descname">UIOSelector_SearchChildByMouse_UIO</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">inElementSpecification</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_SearchChildByMouse_UIO"><spanclass="viewcode-link">[исходный код]</span></a><aclass="headerlink"href="#pyOpenRPA.Robot.UIDesktop.UIOSelector_SearchChildByMouse_UIO"title="Ссылка на это определение">¶</a></dt>
<dd><p>UIOSelector (see description on the top of the document)
#old name - AutomationSearchMouseElement</p>
<dlclass="field-list simple">
<dtclass="field-odd">Параметры</dt>
<ddclass="field-odd"><p><strong>inElementSpecification</strong>– UIOSelector of the UI Object</p>
</dd>
<dtclass="field-even">Результат</dt>
<ddclass="field-even"><p>pywinauto element wrapper instance or None</p>
<codeclass="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><codeclass="sig-name descname">UIOSelector_SearchChildByMouse_UIOTree</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">inUIOSelector</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_SearchChildByMouse_UIOTree"><spanclass="viewcode-link">[исходный код]</span></a><aclass="headerlink"href="#pyOpenRPA.Robot.UIDesktop.UIOSelector_SearchChildByMouse_UIOTree"title="Ссылка на это определение">¶</a></dt>
<dd><p>!!!!Safe call is included (you can set activity and UIDesktop will choose the bitness and return the result)!!!!!</p>
<dlclass="field-list simple">
<dtclass="field-odd">Параметры</dt>
<ddclass="field-odd"><p><strong>inUIOSelector</strong>– UIOSelector of the UI Object</p>
<codeclass="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><codeclass="sig-name descname">UIOSelector_TryRestore_Dict</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">inSpecificationList</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_TryRestore_Dict"><spanclass="viewcode-link">[исходный код]</span></a><aclass="headerlink"href="#pyOpenRPA.Robot.UIDesktop.UIOSelector_TryRestore_Dict"title="Ссылка на это определение">¶</a></dt>
<dd><p>Try to restore (maximize) window, if it’s minimized. (!IMPORTANT! When use UIA framework minimized windows doesn’t appear by the UIOSelector. You need to try restore windows and after that try to get UIO)</p>
<dlclass="field-list simple">
<dtclass="field-odd">Параметры</dt>
<ddclass="field-odd"><p><strong>inSpecificationList</strong>– UIOSelector - List of items, which contains condition attributes</p>
<codeclass="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><codeclass="sig-name descname">UIOSelectorsSecs_WaitAppear_List</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">inSpecificationListList</span></em>, <emclass="sig-param"><spanclass="n">inWaitSecs</span></em>, <emclass="sig-param"><spanclass="n">inFlagWaitAllInMoment</span><spanclass="o">=</span><spanclass="default_value">False</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelectorsSecs_WaitAppear_List"><spanclass="viewcode-link">[исходный код]</span></a><aclass="headerlink"href="#pyOpenRPA.Robot.UIDesktop.UIOSelectorsSecs_WaitAppear_List"title="Ссылка на это определение">¶</a></dt>
<dd><p>Wait for many UI object will appear in GUI for inWaitSecs seconds.</p>
<dtid="pyOpenRPA.Robot.Mouse.Up">
<codeclass="sig-prename descclassname">pyOpenRPA.Robot.Mouse.</code><codeclass="sig-name descname">Up</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">inXInt</span><spanclass="p">:</span><spanclass="n">Optional<spanclass="p">[</span>int<spanclass="p">]</span></span><spanclass="o">=</span><spanclass="default_value">None</span></em>, <emclass="sig-param"><spanclass="n">inYInt</span><spanclass="p">:</span><spanclass="n">Optional<spanclass="p">[</span>int<spanclass="p">]</span></span><spanclass="o">=</span><spanclass="default_value">None</span></em>, <emclass="sig-param"><spanclass="n">inButtonStr</span><spanclass="p">:</span><spanclass="n">str</span><spanclass="o">=</span><spanclass="default_value">'left'</span></em>, <emclass="sig-param"><spanclass="n">inWaitAfterSecFloat</span><spanclass="p">:</span><spanclass="n">float</span><spanclass="o">=</span><spanclass="default_value">0.4</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/pyOpenRPA/Robot/Mouse.html#Up"><spanclass="viewcode-link">[исходный код]</span></a><aclass="headerlink"href="#pyOpenRPA.Robot.Mouse.Up"title="Ссылка на это определение">¶</a></dt>
<dd><p>Отпустить (вверх) клавишу мыши. Если координаты inXInt, inYInt не переданы - нажатие происходит на тех координатах X/Y, на которых указатель мыши находится.</p>
<p>!ВНИМАНИЕ! Отсчет координат inXInt, inYInt начинается с левого верхнего края рабочей области.</p>
<divclass="highlight-python notranslate"><divclass="highlight"><pre><span></span><spanclass="c1"># Mouse: Взаимодействие с мышью</span>
<li><p><strong>inWaitSecs</strong>– Float value (seconds) for wait UI element appear in GUI</p></li>
<li><p><strong>inFlagWaitAllInMoment</strong>– True - Wait all UI objects from the UIOSelector list to be appeared</p></li>
<li><p><strong>inXInt</strong> (<em>int</em><em>, </em><em>опциональный</em>) – Целевая позиция указателя мыши по оси X (горизонтальная ось).</p></li>
<li><p><strong>inYInt</strong> (<em>int</em><em>, </em><em>опциональный</em>) – Целевая позиция указателя мыши по оси Y (вертикальная ось).</p></li>
<li><p><strong>inButtonStr</strong> (<em>str</em><em>, </em><em>опциональный</em>) – Номер кнопки, которую требуется поднять. Возможные варианты: „left“, „middle“, „right“ или 1, 2, 3. В остальных случаях инициирует исключение ValueError. По умолчанию „left“</p></li>
<li><p><strong>inWaitAfterSecFloat</strong> (<em>float</em><em>, </em><em>опциональный</em>) – Количество секунд, которые ожидать после выполнения операции. По умолчанию установлено в настройках модуля Mouse (базовое значение 0.4)</p></li>
</ul>
</dd>
<dtclass="field-even">Результат</dt>
<ddclass="field-even"><p>List of index, which UI object UIO will be appeared. Example: [1] # Appear only UI object with UIO selector: [{«title»:»notepad»},{«title»:»Cancel»}]</p>
<codeclass="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><codeclass="sig-name descname">UIOSelectorsSecs_WaitDisappear_List</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">inSpecificationListList</span></em>, <emclass="sig-param"><spanclass="n">inWaitSecs</span></em>, <emclass="sig-param"><spanclass="n">inFlagWaitAllInMoment</span><spanclass="o">=</span><spanclass="default_value">False</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelectorsSecs_WaitDisappear_List"><spanclass="viewcode-link">[исходный код]</span></a><aclass="headerlink"href="#pyOpenRPA.Robot.UIDesktop.UIOSelectorsSecs_WaitDisappear_List"title="Ссылка на это определение">¶</a></dt>
<dd><p>Wait for many UI object will disappear in GUI for inWaitSecs seconds.</p>
<ddclass="field-even"><p>List of index, which UI object UIO will be disappeared. Example: [1] # Disappear only UI object with UIO selector: [{«title»:»notepad»},{«title»:»Cancel»}]</p>
</dd>
<dtclass="field-odd">Результат</dt>
<ddclass="field-odd"><p></p>
</dd>
</dl>
</dd></dl>
<divclass="section"id="references">
<h2>References<aclass="headerlink"href="#references"title="Ссылка на этот заголовок">¶</a></h2>
<spanclass="s2">"Python32FullPath"</span><spanclass="p">:</span><spanclass="s2">"..</span><spanclass="se">\\</span><spanclass="s2">Resources</span><spanclass="se">\\</span><spanclass="s2">WPy32-3720</span><spanclass="se">\\</span><spanclass="s2">python-3.7.2</span><spanclass="se">\\</span><spanclass="s2">python.exe"</span><spanclass="p">,</span><spanclass="c1">#Set from user: "..\\Resources\\WPy32-3720\\python-3.7.2\\OpenRPARobotGUIx32.exe"</span>
<spanclass="s2">"Python64FullPath"</span><spanclass="p">:</span><spanclass="s2">"..</span><spanclass="se">\\</span><spanclass="s2">Resources</span><spanclass="se">\\</span><spanclass="s2">WPy64-3720</span><spanclass="se">\\</span><spanclass="s2">python-3.7.2.amd64</span><spanclass="se">\\</span><spanclass="s2">python.exe"</span><spanclass="p">,</span><spanclass="c1">#Set from user</span>
<spanclass="s2">"Python32ProcessName"</span><spanclass="p">:</span><spanclass="s2">"pyOpenRPA_UIDesktopX32.exe"</span><spanclass="p">,</span><spanclass="c1">#Config set once</span>
<spanclass="s2">"Python64ProcessName"</span><spanclass="p">:</span><spanclass="s2">"pyOpenRPA_UIDesktopX64.exe"</span><spanclass="c1">#Config set once</span>
<spanclass="p">}</span>
<spanclass="c1"># Init the pyOpenRPA configuration</span>
<spanclass="c1"># Now you can use pyOpenRPA with both bitness.</span>
</pre></div>
<spanid="module-robot-image"></span><h1>7. Функции Image<aclass="headerlink"href="#image"title="Ссылка на этот заголовок">¶</a></h1>
<divclass="section"id="id1">
<h2>Общее<aclass="headerlink"href="#id1"title="Ссылка на этот заголовок">¶</a></h2>
<p>Документация к модулю будет опубликована в Июле 2022. По всем вопросам роботизации WEB приложений обращайтесь в центр поддержки клиентов pyOpenRPA.</p>
<p>Дорогие коллеги!</p>
<p>Мы знаем, что с pyOpenRPA вы сможете существенно улучшить качество вашего бизнеса. Платформа роботизации pyOpenRPA - это разработка, которая дает возможность делать виртуальных сотрудников (программных роботов RPA) выгодными, начиная от эффекта всего в <strong>10 тыс. руб.</strong> И управлять ими будете только Вы!</p>
<p>Если у вас останутся вопросы, то вы всегда можете обратиться в центр поддержки клиентов pyOpenRPA. Контакты: <aclass="reference internal"href="../03_Copyrights_Contacts.html#copyrights-contacts"><spanclass="std std-ref">2. Лицензия & Контакты</span></a></p>
<codeclass="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><codeclass="sig-name descname">Get_OSBitnessInt</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/pyOpenRPA/Robot/UIDesktop.html#Get_OSBitnessInt"><spanclass="viewcode-link">[исходный код]</span></a><aclass="headerlink"href="#pyOpenRPA.Robot.UIDesktop.Get_OSBitnessInt"title="Ссылка на это определение">¶</a></dt>
<codeclass="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><codeclass="sig-name descname">PWASpecification_Get_PWAApplication</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">inControlSpecificationArray</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/pyOpenRPA/Robot/UIDesktop.html#PWASpecification_Get_PWAApplication"><spanclass="viewcode-link">[исходный код]</span></a><aclass="headerlink"href="#pyOpenRPA.Robot.UIDesktop.PWASpecification_Get_PWAApplication"title="Ссылка на это определение">¶</a></dt>
<dd><p>#Backend selection - attribute «backend» («win32» || «uia») in 1-st list element</p>
<dlclass="field-list simple">
<dtclass="field-odd">Параметры</dt>
<ddclass="field-odd"><p><strong>inControlSpecificationArray</strong>– List of dict, dict in pywinauto.find_windows notation</p>
<codeclass="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><codeclass="sig-name descname">PWASpecification_Get_UIO</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">inControlSpecificationArray</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/pyOpenRPA/Robot/UIDesktop.html#PWASpecification_Get_UIO"><spanclass="viewcode-link">[исходный код]</span></a><aclass="headerlink"href="#pyOpenRPA.Robot.UIDesktop.PWASpecification_Get_UIO"title="Ссылка на это определение">¶</a></dt>
<dd><p>#Backend def selection - attribute «backend» («win32» || «uia») in 1-st list element
#old name - GetControl</p>
<dlclass="field-list simple">
<dtclass="field-odd">Параметры</dt>
<ddclass="field-odd"><p><strong>inControlSpecificationArray</strong>– List of dict, dict in pywinauto.find_windows notation</p>
<codeclass="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><codeclass="sig-name descname">UIOSelectorSecs_WaitAppear_Bool</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">inSpecificationList</span></em>, <emclass="sig-param"><spanclass="n">inWaitSecs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelectorSecs_WaitAppear_Bool"><spanclass="viewcode-link">[исходный код]</span></a><aclass="headerlink"href="#pyOpenRPA.Robot.UIDesktop.UIOSelectorSecs_WaitAppear_Bool"title="Ссылка на это определение">¶</a></dt>
<dd><p>Wait for UI object will appear in GUI for inWaitSecs seconds.</p>
<codeclass="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><codeclass="sig-name descname">UIOSelectorSecs_WaitDisappear_Bool</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">inSpecificationList</span></em>, <emclass="sig-param"><spanclass="n">inWaitSecs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelectorSecs_WaitDisappear_Bool"><spanclass="viewcode-link">[исходный код]</span></a><aclass="headerlink"href="#pyOpenRPA.Robot.UIDesktop.UIOSelectorSecs_WaitDisappear_Bool"title="Ссылка на это определение">¶</a></dt>
<dd><p>Wait for UI object will disappear in GUI for inWaitSecs seconds.</p>
<codeclass="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><codeclass="sig-name descname">UIOSelector_Exist_Bool</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">inUIOSelector</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_Exist_Bool"><spanclass="viewcode-link">[исходный код]</span></a><aclass="headerlink"href="#pyOpenRPA.Robot.UIDesktop.UIOSelector_Exist_Bool"title="Ссылка на это определение">¶</a></dt>
<dd><p>Check if object is exist by the UIO selector.</p>
<codeclass="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><codeclass="sig-name descname">UIOSelector_FocusHighlight</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">inUIOSelector</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_FocusHighlight"><spanclass="viewcode-link">[исходный код]</span></a><aclass="headerlink"href="#pyOpenRPA.Robot.UIDesktop.UIOSelector_FocusHighlight"title="Ссылка на это определение">¶</a></dt>
<dd><p>Set focus and highlight (draw outline) the element (in app) by the UIO selector.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Параметры</dt>
<ddclass="field-odd"><p><strong>inUIOSelector</strong>– UIOSelector - List of items, which contains condition attributes</p>
<codeclass="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><codeclass="sig-name descname">UIOSelector_GetChildList_UIOList</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">inUIOSelector</span><spanclass="o">=</span><spanclass="default_value">None</span></em>, <emclass="sig-param"><spanclass="n">inBackend</span><spanclass="o">=</span><spanclass="default_value">'win32'</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_GetChildList_UIOList"><spanclass="viewcode-link">[исходный код]</span></a><aclass="headerlink"href="#pyOpenRPA.Robot.UIDesktop.UIOSelector_GetChildList_UIOList"title="Ссылка на это определение">¶</a></dt>
<dd><p>Get list of child UIO’s by the parent UIOSelector</p>
<dlclass="field-list simple">
<dtclass="field-odd">Параметры</dt>
<ddclass="field-odd"><ulclass="simple">
<li><p><strong>inUIOSelector</strong>– UIOSelector - List of items, which contains condition attributes</p></li>
<li><p><strong>inBackend</strong>– «win32» or «uia»</p></li>
<codeclass="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><codeclass="sig-name descname">UIOSelector_Get_BitnessInt</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">inSpecificationList</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_Get_BitnessInt"><spanclass="viewcode-link">[исходный код]</span></a><aclass="headerlink"href="#pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_BitnessInt"title="Ссылка на это определение">¶</a></dt>
<dd><p>Detect process bitness by the UI Object UIO Selector.</p>
<codeclass="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><codeclass="sig-name descname">UIOSelector_Get_BitnessStr</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">inSpecificationList</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_Get_BitnessStr"><spanclass="viewcode-link">[исходный код]</span></a><aclass="headerlink"href="#pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_BitnessStr"title="Ссылка на это определение">¶</a></dt>
<dd><p>Detect process bitness by the UI Object UIO Selector.</p>
<codeclass="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><codeclass="sig-name descname">UIOSelector_Get_UIO</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">inSpecificationList</span></em>, <emclass="sig-param"><spanclass="n">inElement</span><spanclass="o">=</span><spanclass="default_value">None</span></em>, <emclass="sig-param"><spanclass="n">inFlagRaiseException</span><spanclass="o">=</span><spanclass="default_value">True</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_Get_UIO"><spanclass="viewcode-link">[исходный код]</span></a><aclass="headerlink"href="#pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_UIO"title="Ссылка на это определение">¶</a></dt>
<dd><p>Get the pywinauto object by the UIO selector.</p>
<codeclass="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><codeclass="sig-name descname">UIOSelector_Get_UIOActivityList</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">inUIOSelector</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_Get_UIOActivityList"><spanclass="viewcode-link">[исходный код]</span></a><aclass="headerlink"href="#pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_UIOActivityList"title="Ссылка на это определение">¶</a></dt>
<dd><p>Get the list of the UI object activities</p>
<dlclass="field-list simple">
<dtclass="field-odd">Параметры</dt>
<ddclass="field-odd"><p><strong>inUIOSelector</strong>– UIOSelector - List of items, which contains condition attributes</p>
<codeclass="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><codeclass="sig-name descname">UIOSelector_Get_UIOInfo</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">inUIOSelector</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_Get_UIOInfo"><spanclass="viewcode-link">[исходный код]</span></a><aclass="headerlink"href="#pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_UIOInfo"title="Ссылка на это определение">¶</a></dt>
<dd><p>Get the UIO dict of the attributes</p>
<dlclass="field-list simple">
<dtclass="field-odd">Параметры</dt>
<ddclass="field-odd"><p><strong>inUIOSelector</strong>– UIOSelector - List of items, which contains condition attributes</p>
<codeclass="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><codeclass="sig-name descname">UIOSelector_Get_UIOList</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">inSpecificationList</span></em>, <emclass="sig-param"><spanclass="n">inElement</span><spanclass="o">=</span><spanclass="default_value">None</span></em>, <emclass="sig-param"><spanclass="n">inFlagRaiseException</span><spanclass="o">=</span><spanclass="default_value">True</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_Get_UIOList"><spanclass="viewcode-link">[исходный код]</span></a><aclass="headerlink"href="#pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_UIOList"title="Ссылка на это определение">¶</a></dt>
<codeclass="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><codeclass="sig-name descname">UIOSelector_Highlight</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">inUIOSelector</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_Highlight"><spanclass="viewcode-link">[исходный код]</span></a><aclass="headerlink"href="#pyOpenRPA.Robot.UIDesktop.UIOSelector_Highlight"title="Ссылка на это определение">¶</a></dt>
<dd><p>Highlight (draw outline) the element (in app) by the UIO selector.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Параметры</dt>
<ddclass="field-odd"><p><strong>inUIOSelector</strong>– UIOSelector - List of items, which contains condition attributes</p>
<codeclass="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><codeclass="sig-name descname">UIOSelector_SafeOtherGet_Process</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">inUIOSelector</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_SafeOtherGet_Process"><spanclass="viewcode-link">[исходный код]</span></a><aclass="headerlink"href="#pyOpenRPA.Robot.UIDesktop.UIOSelector_SafeOtherGet_Process"title="Ссылка на это определение">¶</a></dt>
<dd><p>Safe get other process or None if destination app is the other/same bitness</p>
<dlclass="field-list simple">
<dtclass="field-odd">Параметры</dt>
<ddclass="field-odd"><p><strong>inUIOSelector</strong>– UIO Selector of the UI object</p>
</dd>
<dtclass="field-even">Результат</dt>
<ddclass="field-even"><p>None or process (of the other bitness)</p>
<codeclass="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><codeclass="sig-name descname">UIOSelector_SearchChildByMouse_UIO</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">inElementSpecification</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_SearchChildByMouse_UIO"><spanclass="viewcode-link">[исходный код]</span></a><aclass="headerlink"href="#pyOpenRPA.Robot.UIDesktop.UIOSelector_SearchChildByMouse_UIO"title="Ссылка на это определение">¶</a></dt>
<dd><p>UIOSelector (see description on the top of the document)
#old name - AutomationSearchMouseElement</p>
<dlclass="field-list simple">
<dtclass="field-odd">Параметры</dt>
<ddclass="field-odd"><p><strong>inElementSpecification</strong>– UIOSelector of the UI Object</p>
</dd>
<dtclass="field-even">Результат</dt>
<ddclass="field-even"><p>pywinauto element wrapper instance or None</p>
<codeclass="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><codeclass="sig-name descname">UIOSelector_SearchChildByMouse_UIOTree</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">inUIOSelector</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_SearchChildByMouse_UIOTree"><spanclass="viewcode-link">[исходный код]</span></a><aclass="headerlink"href="#pyOpenRPA.Robot.UIDesktop.UIOSelector_SearchChildByMouse_UIOTree"title="Ссылка на это определение">¶</a></dt>
<dd><p>!!!!Safe call is included (you can set activity and UIDesktop will choose the bitness and return the result)!!!!!</p>
<dlclass="field-list simple">
<dtclass="field-odd">Параметры</dt>
<ddclass="field-odd"><p><strong>inUIOSelector</strong>– UIOSelector of the UI Object</p>
<codeclass="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><codeclass="sig-name descname">UIOSelector_TryRestore_Dict</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">inSpecificationList</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_TryRestore_Dict"><spanclass="viewcode-link">[исходный код]</span></a><aclass="headerlink"href="#pyOpenRPA.Robot.UIDesktop.UIOSelector_TryRestore_Dict"title="Ссылка на это определение">¶</a></dt>
<dd><p>Try to restore (maximize) window, if it’s minimized. (!IMPORTANT! When use UIA framework minimized windows doesn’t appear by the UIOSelector. You need to try restore windows and after that try to get UIO)</p>
<dlclass="field-list simple">
<dtclass="field-odd">Параметры</dt>
<ddclass="field-odd"><p><strong>inSpecificationList</strong>– UIOSelector - List of items, which contains condition attributes</p>
<codeclass="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><codeclass="sig-name descname">UIOSelectorsSecs_WaitAppear_List</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">inSpecificationListList</span></em>, <emclass="sig-param"><spanclass="n">inWaitSecs</span></em>, <emclass="sig-param"><spanclass="n">inFlagWaitAllInMoment</span><spanclass="o">=</span><spanclass="default_value">False</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelectorsSecs_WaitAppear_List"><spanclass="viewcode-link">[исходный код]</span></a><aclass="headerlink"href="#pyOpenRPA.Robot.UIDesktop.UIOSelectorsSecs_WaitAppear_List"title="Ссылка на это определение">¶</a></dt>
<dd><p>Wait for many UI object will appear in GUI for inWaitSecs seconds.</p>
<li><p><strong>inWaitSecs</strong>– Float value (seconds) for wait UI element appear in GUI</p></li>
<li><p><strong>inFlagWaitAllInMoment</strong>– True - Wait all UI objects from the UIOSelector list to be appeared</p></li>
</ul>
</dd>
<dtclass="field-even">Результат</dt>
<ddclass="field-even"><p>List of index, which UI object UIO will be appeared. Example: [1] # Appear only UI object with UIO selector: [{«title»:»notepad»},{«title»:»Cancel»}]</p>
<codeclass="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><codeclass="sig-name descname">UIOSelectorsSecs_WaitDisappear_List</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">inSpecificationListList</span></em>, <emclass="sig-param"><spanclass="n">inWaitSecs</span></em>, <emclass="sig-param"><spanclass="n">inFlagWaitAllInMoment</span><spanclass="o">=</span><spanclass="default_value">False</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelectorsSecs_WaitDisappear_List"><spanclass="viewcode-link">[исходный код]</span></a><aclass="headerlink"href="#pyOpenRPA.Robot.UIDesktop.UIOSelectorsSecs_WaitDisappear_List"title="Ссылка на это определение">¶</a></dt>
<dd><p>Wait for many UI object will disappear in GUI for inWaitSecs seconds.</p>
<li><p><strong>inWaitSecs</strong>– Float value (seconds) for wait UI element disappear in GUI</p></li>
<li><p><strong>inFlagWaitAllInMoment</strong>– True - Wait all UI objects from the UIOSelector list to be disappeared.</p></li>
</ul>
</dd>
<dtclass="field-even">Результат</dt>
<ddclass="field-even"><p>List of index, which UI object UIO will be disappeared. Example: [1] # Disappear only UI object with UIO selector: [{«title»:»notepad»},{«title»:»Cancel»}]</p>
</dd>
<dtclass="field-odd">Результат</dt>
<ddclass="field-odd"><p></p>
</dd>
</dl>
</dd></dl>
<divclass="section"id="references">
<h2>References<aclass="headerlink"href="#references"title="Ссылка на этот заголовок">¶</a></h2>
<liclass="toctree-l2"><aclass="reference internal"href="#theory-practice-web-app-ui-access-selenium">Theory & practice. WEB app UI access (selenium)</a><ul>
<liclass="toctree-l3"><aclass="reference internal"href="#how-to-use">How to use</a></li>
</ul>
</li>
<liclass="toctree-l2"><aclass="reference internal"href="#theory-practice-keyboard-mouse-manipulation">Theory & practice. Keyboard & mouse manipulation</a></li>
<liclass="toctree-l2"><aclass="reference internal"href="#theory-practice-screen-capture-image-recognition">Theory & practice. Screen capture & image recognition</a><ul>
<liclass="toctree-l3"><aclass="reference internal"href="#how-to-automate-image-recognition-on-pc">How to automate image recognition on PC</a></li>
<liclass="toctree-l1"><aclass="reference internal"href="../Tools/02_Defs.html">2. Функции StopSafe</a></li>
</ul>
@ -225,201 +204,80 @@
<divclass="section"id="id1">
<h1>8. Как использовать?<aclass="headerlink"href="#id1"title="Ссылка на этот заголовок">¶</a></h1>
<p>The Robot tool is the main module for production process automation. It has no graphic/console interface. All low-level actions to OS are perfoming by the Robot tool in pyOpenRPA.</p>
<h2>How to execute RPA script<aclass="headerlink"href="#how-to-execute-rpa-script" title="Ссылка на этот заголовок">¶</a></h2>
<p>You can use the robot by the several ways:</p>
<p>Модуль РОБОТ - это ключевое звено, которое отвечает за продуктивную роботизацию процесса. Данный модуль не имеет графический или консольный интерфейс - он подключается в качестве библиотеки в проект робота, что позволяет выполнять операции максимально быстро. А также позволяет с легкостью интегрировать робота в другие проекты.</p>
<divclass="section"id="id2">
<h2>Как запустить скрипт робота?<aclass="headerlink"href="#id2" title="Ссылка на этот заголовок">¶</a></h2>
<p>Запустить скрипт робота можно 2-мя способами:</p>
<ulclass="simple">
<li><p>In Python script</p></li>
<li><p>In Studio script (n/a)</p></li>
<li><p>Скрипт Python (файл .py)</p></li>
<li><p>Скрипт в Студии pyOpenRPA</p></li>
</ul>
<divclass="section"id="create-python-script">
<h3>Create python script<aclass="headerlink"href="#create-python-script" title="Ссылка на этот заголовок">¶</a></h3>
<p>In order to use robot just add Robot tool folder in work directory and add line «import GUI» in your script.</p>
<divclass="section"id="python-py">
<h3>Скрипт Python (файл .py)<aclass="headerlink"href="#python-py" title="Ссылка на этот заголовок">¶</a></h3>
<p>Чтобы начать использовать модуль робота достаточно выполнить в файле скрипта соответсвующие команды импорта:</p>
<spanclass="kn">from</span><spanclass="nn">pyOpenRPA.Robot</span><spanclass="kn">import</span><spanclass="n">UIDesktop</span><spanclass="c1"># Взаимодействие с UI объектами приложений</span>
<spanclass="kn">from</span><spanclass="nn">pyOpenRPA.Robot</span><spanclass="kn">import</span><spanclass="n">UIWeb</span><spanclass="c1"># Взаимодействие с UI объектами веб приложений</span>
<spanclass="kn">from</span><spanclass="nn">pyOpenRPA.Robot</span><spanclass="kn">import</span><spanclass="n">Keyboard</span><spanclass="c1"># Взаимодействие с клавиатурой</span>
<spanclass="kn">from</span><spanclass="nn">pyOpenRPA.Robot</span><spanclass="kn">import</span><spanclass="n">Clipboard</span><spanclass="c1"># Взаимодействие с буфером обмена</span>
<spanclass="kn">from</span><spanclass="nn">pyOpenRPA.Robot</span><spanclass="kn">import</span><spanclass="n">Mouse</span><spanclass="c1"># Взаимодействие с мышью</span>
<spanclass="kn">from</span><spanclass="nn">pyOpenRPA.Robot</span><spanclass="kn">import</span><spanclass="n">Image</span><spanclass="c1"># Взаимодействие с графической сессией ОС</span>
</pre></div>
</div>
<p>Описание каждого из этих модулей представлены в разделе «МОДУЛЬ РОБОТ»</p>
</div>
<divclass="section"id="execute-python-script">
<h3>Execute python script<aclass="headerlink"href="#execute-python-script"title="Ссылка на этот заголовок">¶</a></h3>
<p>The pyOpenRPA is fully portable solution. It contains own python enviroment both 32 and 64 bit versions. So, you can execute your python script in several ways:
- Execute in python x32 (OpenRPAResourcesWPy32-3720python-3.7.2)
- Execute in python x64 (OpenRPAResourcesWPy64-3720python-3.7.2.amd64)
<h2>Desktop app UI access (win32 and UI automation dlls)<aclass="headerlink"href="#desktop-app-ui-access-win32-and-ui-automation-dlls"title="Ссылка на этот заголовок">¶</a></h2>
<divclass="section"id="definitions">
<h3>Definitions<aclass="headerlink"href="#definitions"title="Ссылка на этот заголовок">¶</a></h3>
<p>pyOpenRPA - это максимально инкапсулированная платформа программной роботизаии RPA. Все необходимые зависимости находятся внутри нее, что позволяет копировать робота между ЭВМ максимально просто.</p>
<p>Вы можете запустить скрипт робота RPA следующими способами:</p>
<ulclass="simple">
<li><p><strong>UIO</strong> - UI Object (class of pywinauto UI object) [pywinauto.base_wrapper]</p></li>
<li><p><strong>UIOSelector</strong> - List of dict (key attributes)</p></li>
<li><p><strong>PWA</strong> - PyWinAuto</p></li>
<li><p><strong>PWASpecification</strong> - List of dict (key attributes in pywinauto.find_window notation)</p></li>
<li><p><strong>UIOInfo</strong> - Dict of UIO attributes</p></li>
<li><p><strong>UIOActivity</strong> - Activity of the UIO (UI object) from the Pywinauto module</p></li>
<li><p><strong>UIOEI</strong> - UI Object info object</p></li>
<li><p>Запустить из интерпретатора Python x32 (ResourcesWPy32-3720python-3.7.2python.exe)</p></li>
<li><p>Запустить из интерпретатора Python x64 (ResourcesWPy64-3720python-3.7.2.amd64python.exe)</p></li>
<li><p>Запустить из под .cmd файла</p></li>
</ul>
</div>
<divclass="section"id="what-is-uio">
<h3>What is UIO?<aclass="headerlink"href="#what-is-uio"title="Ссылка на этот заголовок">¶</a></h3>
<p>UIO is a User Interface Object (pyOpenRPA terminology). For maximum compatibility, this instance is inherited from the object model developed in the [pywinauto library (click to get a list of available class functions)](<aclass="reference external"href="https://pywinauto.readthedocs.io/en/latest/code/pywinauto.base_wrapper.html">https://pywinauto.readthedocs.io/en/latest/code/pywinauto.base_wrapper.html</a>).</p>
<p>This approach allows us to implement useful functionality that has already been successfully developed in other libraries, and Supplement it with the missing functionality. In our case, the missing functionality is the ability to dynamically access UIO objects using UIO selectors.</p>
<h3>UIOSelector structure & example<aclass="headerlink"href="#uioselector-structure-example"title="Ссылка на этот заголовок">¶</a></h3>
<p>UIOSelector is the list of condition items for the UIO in GUI. Each item has condition attributes for detect applicable UIO. Here is the description of the available condition attributes in item.</p>
"depth_start" :: [int, start from 1] :: the depth index, where to start check the condition list (default 1),
"depth_end" :: [int, start from 1] :: the depth index, where to stop check the condition list (default 1),
"ctrl_index" || "index" :: [int, starts from 0] :: the index of the UIO in parent UIO child list,
"title" :: [str] :: the condition for the UIO attribute *title*,
"title_re" :: [str] :: regular expression (python ver) for the condition for the UIO attribute *title*,
"rich_text" :: [str] :: the condition for the UIO attribute *rich_text*,
"rich_text_re" :: [str] :: regular expression (python ver) for the condition for the UIO attribute *rich_text*,
"class_name" :: [str] :: the condition for the UIO attribute *class_name*,
"class_name_re" :: [str] :: regular expression (python ver) for the condition for the UIO attribute *class_name*,
"friendly_class_name" :: [str] :: the condition for the UIO attribute *friendly_class_name*,
"friendly_class_name_re" :: [str] :: regular expression (python ver) for the condition for the UIO attribute *friendly_class_name*,
"control_type" :: [str] :: the condition for the UIO attribute *control_type*,
"control_type_re" :: [str] :: regular expression (python ver) for the condition for the UIO attribute *control_type*,
"is_enabled" :: [bool] :: the condition for the UIO attribute *is_enabled*. If UI object is enabled on GUI,
"is_visible" :: [bool] :: the condition for the UIO attribute *is_visible*. If UI object is visible on GUI,
"backend" :: [str, "win32" || "uia"] :: the method of UIO extraction (default "win32"). ATTENTION! Current option can be only for the first item of the UIO selector. For the next items this option will be implemented from the first item.
<spanclass="p">{</span><spanclass="s2">"title"</span><spanclass="p">:</span><spanclass="s2">"Hex"</span><spanclass="p">,</span><spanclass="s2">"depth_start"</span><spanclass="p">:</span><spanclass="mi">3</span><spanclass="p">,</span><spanclass="s2">"depth_end"</span><spanclass="p">:</span><spanclass="mi">3</span><spanclass="p">}</span><spanclass="c1"># 3-rd level specification (because of attribute depth_start|depth_stop)</span>
<spanclass="p">]</span>
<divclass="section"id="python-x32">
<h3>Запустить из интерпретатора Python x32<aclass="headerlink"href="#python-x32"title="Ссылка на этот заголовок">¶</a></h3>
<p>Для запуска срипта из интерпретатора Python x32 необходимо открыть командную строку (cmd), и выполнить следующие команды:</p>
<divclass="highlight-python notranslate"><divclass="highlight"><pre><span></span><spanclass="n">cd</span><spanclass="s2">"Resources\WPy32-3720\python-3.7.2"</span><spanclass="c1"># Установить рабочую директорию там, где находится интерпретатор Python</span>
<spanclass="n">python</span><spanclass="o">.</span><spanclass="n">exe</span><spanclass="s2">"path to your python script.py"</span><spanclass="c1"># Запустить интерпретатор Python с файлом скрипта робота "path to your python script.py"</span>
<h3>The UIDesktop module (OpenRPA/Robot/UIDesktop.py)<aclass="headerlink"href="#the-uidesktop-module-openrpa-robot-uidesktop-py"title="Ссылка на этот заголовок">¶</a></h3>
<p>The UIDesktop is extension of the pywinauto module which provide access to the desktop apps by the <strong>win32</strong> and <strong>ui automation</strong> dll frameworks (big thx to the Microsoft :) ).</p>
<divclass="highlight-python notranslate"><divclass="highlight"><pre><span></span><spanclass="c1"># EXAMPLE 1</span>
<h3>Запустить из интерпретатора Python x64<aclass="headerlink"href="#python-x64"title="Ссылка на этот заголовок">¶</a></h3>
<p>Для запуска срипта из интерпретатора Python x64 необходимо открыть командную строку (cmd), и выполнить следующие команды:</p>
<divclass="highlight-python notranslate"><divclass="highlight"><pre><span></span><spanclass="n">cd</span><spanclass="s2">"Resources\WPy32-3720\python-3.7.2.amd64"</span><spanclass="c1"># Установить рабочую директорию там, где находится интерпретатор Python</span>
<spanclass="n">python</span><spanclass="o">.</span><spanclass="n">exe</span><spanclass="s2">"path to your python script.py"</span><spanclass="c1"># Запустить интерпретатор Python с файлом скрипта робота "path to your python script.py"</span>
</pre></div>
</div>
</div>
<divclass="section"id="id2">
<h3>The UIDesktop module (OpenRPA/Robot/UIDesktop.py)<aclass="headerlink"href="#id2"title="Ссылка на этот заголовок">¶</a></h3>
<p>The UIDesktop is extension of the pywinauto module which provide access to the desktop apps by the <strong>win32</strong> and <strong>ui automation</strong> dll frameworks (big thx to the Microsoft :) ).</p>
<p><ahref="#id3"><spanclass="problematic"id="id4">*</span></a>Naming convention: <InArgument>_<ActivityName>_<OutArgument - if exist>*<br></p>
<h2>Theory & practice. WEB app UI access (selenium)<aclass="headerlink"href="#theory-practice-web-app-ui-access-selenium"title="Ссылка на этот заголовок">¶</a></h2>
<divclass="section"id="about">
<h3>About<aclass="headerlink"href="#about"title="Ссылка на этот заголовок">¶</a></h3>
<p>The pyOpenRPA support web app manipulation (by the Selenium lib).
More docs about selenium you can find here (<aclass="reference external"href="https://selenium-python.readthedocs.io/">https://selenium-python.readthedocs.io/</a>)</p>
</div>
<divclass="section"id="how-to-use">
<h3>How to use<aclass="headerlink"href="#how-to-use"title="Ссылка на этот заголовок">¶</a></h3>
<p>To start use selenium just import selenium modules in the robot tool. Here is the example of the usage.</p>
<h3>Запустить из под .cmd файла<aclass="headerlink"href="#cmd"title="Ссылка на этот заголовок">¶</a></h3>
<p>Упростить процесс запуска и свести инициализацию робота к одному нажатию можно с помощью средстве command shell и .cmd файла.</p>
<p>Для этого достаточно выбрать рабочую директорию робота, там создать текстовый .cmd файл, и прописать в нем следующий код:</p>
<divclass="highlight-python notranslate"><divclass="highlight"><pre><span></span><spanclass="n">cd</span><spanclass="o">%~</span><spanclass="n">dp0</span><spanclass="c1"># Установить рабочую директорую там, где находится этот .cmd файл</span>
<spanclass="n">copy</span><spanclass="o">/</span><spanclass="n">Y</span><spanclass="o">..</span>\<spanclass="n">Resources</span>\<spanclass="n">WPy32</span><spanclass="o">-</span><spanclass="mi">3720</span>\<spanclass="n">python</span><spanclass="o">-</span><spanclass="mf">3.7</span><spanclass="o">.</span><spanclass="mi">2</span>\<spanclass="n">python</span><spanclass="o">.</span><spanclass="n">exe</span><spanclass="o">..</span>\<spanclass="n">Resources</span>\<spanclass="n">WPy32</span><spanclass="o">-</span><spanclass="mi">3720</span>\<spanclass="n">python</span><spanclass="o">-</span><spanclass="mf">3.7</span><spanclass="o">.</span><spanclass="mi">2</span>\<spanclass="n">OpenRPAOrchestrator</span><spanclass="o">.</span><spanclass="n">exe</span><spanclass="c1"># Выполнить компирование python.exe на другое наименование, чтобы изменить наименование процесса робота в диспетчере задач (без этой операции все роботы будут отображаться в диспетчере задач как python.exe)</span>
<spanclass="o">.</span>\<spanclass="o">..</span>\<spanclass="n">Resources</span>\<spanclass="n">WPy32</span><spanclass="o">-</span><spanclass="mi">3720</span>\<spanclass="n">python</span><spanclass="o">-</span><spanclass="mf">3.7</span><spanclass="o">.</span><spanclass="mi">2</span>\<spanclass="n">OpenRPAOrchestrator</span><spanclass="o">.</span><spanclass="n">exe</span><spanclass="n">orchestratorMain</span><spanclass="o">.</span><spanclass="n">py</span><spanclass="c1"># Выполнить инициализацию скрипта робота RPA</span>
<spanclass="n">pause</span><spanclass="o">></span><spanclass="n">nul</span><spanclass="c1"># Не закрывать окно консоли после завершения работы скрипта робота</span>
<h2>Theory & practice. Keyboard & mouse manipulation<aclass="headerlink"href="#theory-practice-keyboard-mouse-manipulation"title="Ссылка на этот заголовок">¶</a></h2>
<h2>Theory & practice. Screen capture & image recognition<aclass="headerlink"href="#theory-practice-screen-capture-image-recognition"title="Ссылка на этот заголовок">¶</a></h2>
<h3>How to automate image recognition on PC<aclass="headerlink"href="#how-to-automate-image-recognition-on-pc"title="Ссылка на этот заголовок">¶</a></h3>
<p>Here you can find any ways you need to use in your business case:
- Find the exact match on the screen with the other image
- Use text recognition module (OCR)
- Use computer vision (CV) to identify the objects on screen/image/video
- Use artificial intelligence (AI) to make custom identification/classification/text recognition</p>
<p> .. v1.2.12 replace:: v1.2.12
.. <ahref="#id5"><spanclass="problematic"id="id6">|author|</span></a> replace:: Ivan Maslov <<aclass="reference external"href="mailto:ivan.maslov%40unicodelabs.ru">ivan<span>.</span>maslov<span>@</span>unicodelabs<span>.</span>ru</a>></p>
<divclass="section"id="id3">
<h2>Быстрая навигация<aclass="headerlink"href="#id3"title="Ссылка на этот заголовок">¶</a></h2>
<spanid="id1"></span><h1>1. Описание<aclass="headerlink"href="#module-studio-description"title="Ссылка на этот заголовок">¶</a></h1>
<p>pyOpenRPA Studio is the executable process.</p>
<p> .. v1.2.12 replace:: v1.2.12
.. <ahref="#id2"><spanclass="problematic"id="id3">|author|</span></a> replace:: Ivan Maslov <<aclass="reference external"href="mailto:ivan.maslov%40unicodelabs.ru">ivan<span>.</span>maslov<span>@</span>unicodelabs<span>.</span>ru</a>></p>
<divclass="section"id="id2">
<h2>Общее<aclass="headerlink"href="#id2"title="Ссылка на этот заголовок">¶</a></h2>
<p>Модуль студии обеспечивает всю необходимую функциональность взаимодействия с UI объектами различных приложений, запущенных в сессии.</p>
<p>В разделе <aclass="reference internal"href="02_HowToUse.html#module-studio-how-to-use"><spanclass="std std-ref">2. Как использовать?</span></a> вы найдете практическое руководство по работе с пользовательским интерфейсом студии, которая отрывается в веб браузере.</p>
<p>Дорогие коллеги!</p>
<p>Мы знаем, что с pyOpenRPA вы сможете существенно улучшить качество вашего бизнеса. Платформа роботизации pyOpenRPA - это разработка, которая дает возможность делать виртуальных сотрудников (программных роботов RPA) выгодными, начиная от эффекта всего в <strong>10 тыс. руб.</strong> И управлять ими будете только Вы!</p>
<p>Если у вас останутся вопросы, то вы всегда можете обратиться в центр поддержки клиентов pyOpenRPA. Контакты: <aclass="reference internal"href="../03_Copyrights_Contacts.html#copyrights-contacts"><spanclass="std std-ref">2. Лицензия & Контакты</span></a></p>
<p>pyOpenRPA - роботы помогут!</p>
</div>
<divclass="section"id="id3">
<h2>Быстрая навигация<aclass="headerlink"href="#id3"title="Ссылка на этот заголовок">¶</a></h2>
<liclass="toctree-l3"><aclass="reference internal"href="#how-to-search-ui-object-by-mouse-hover">How to search UI object by mouse hover</a></li>
<liclass="toctree-l3"><aclass="reference internal"href="#action-click-the-button-mouse-search">Action: Click the button «Mouse search»</a></li>
<liclass="toctree-l3"><aclass="reference internal"href="#action-turn-mouse-on-the-ui-object-you-are-interested-and-hold-the-ctrl-key-for-3-seconds">Action: Turn mouse on the UI object you are interested and hold the «Ctrl» key for 3 seconds</a></li>
<liclass="toctree-l3"><aclass="reference internal"href="#result-the-interested-ui-object-will-be-shown-in-ui-tree-viewer">Result: The interested UI object will be shown in <codeclass="docutils literal notranslate"><spanclass="pre">UI</span><spanclass="pre">tree</span><spanclass="pre">viewer</span></code></a></li>
<liclass="toctree-l2"><aclass="reference internal"href="#how-to-extract-ui-object-properties">How to extract UI object properties</a><ul>
<liclass="toctree-l3"><aclass="reference internal"href="#action-choose-the-ui-object-you-are-interested-and-click-it">Action: Choose the UI object you are interested and click it</a></li>
<liclass="toctree-l3"><aclass="reference internal"href="#result-the-ui-object-property-list-will-be-shown-in-selected-ui-object-property-list">Result: The UI object property list will be shown in <codeclass="docutils literal notranslate"><spanclass="pre">Selected</span><spanclass="pre">UI</span><spanclass="pre">object</span><spanclass="pre">property</span><spanclass="pre">list</span></code></a></li>
<liclass="toctree-l2"><aclass="reference internal"href="#how-to-search-ui-object-by-mouse-hover">Поиск UI объекта по наведению мыши</a><ul>
<liclass="toctree-l3"><aclass="reference internal"href="#ui-ctrl-3">Действие: Навести курсор мыши на UI объект, который интересует и зажать клавишу «Ctrl» на 3 секунды</a></li>
<liclass="toctree-l3"><aclass="reference internal"href="#ui-ui-tree-viewer">Итог: Интересующий UI объект будет отображен в <codeclass="docutils literal notranslate"><spanclass="pre">UI</span><spanclass="pre">tree</span><spanclass="pre">viewer</span></code></a></li>
</ul>
</li>
<liclass="toctree-l2"><aclass="reference internal"href="#how-to-extract-ui-object-properties">Извлечь свойства UI объекта</a><ul>
<liclass="toctree-l3"><aclass="reference internal"href="#choose-the-ui-object-you-are-interested-and-click-it">Действие: Choose the UI object you are interested and click it</a></li>
<liclass="toctree-l3"><aclass="reference internal"href="#ui-selected-ui-object-property-list">Итог: Свойства UI объекта будут отображены в <codeclass="docutils literal notranslate"><spanclass="pre">Selected</span><spanclass="pre">UI</span><spanclass="pre">object</span><spanclass="pre">property</span><spanclass="pre">list</span></code></a></li>
<h2>How to extract UI tree<aclass="headerlink"href="#how-to-extract-ui-tree"title="Ссылка на этот заголовок">¶</a></h2>
<p>In order to extract the UI tree do the following: in <codeclass="docutils literal notranslate"><spanclass="pre">UI</span><spanclass="pre">tree</span><spanclass="pre">viewer</span></code>
choose the object you are interested and click the button «Expand». ##</p>
<h3>How to search UI object by mouse hover<aclass="headerlink"href="#how-to-search-ui-object-by-mouse-hover"title="Ссылка на этот заголовок">¶</a></h3>
<p>In order to search UI object do the
following: in <codeclass="docutils literal notranslate"><spanclass="pre">UI</span><spanclass="pre">tree</span><spanclass="pre">viewer</span></code> choose the parent object, where you are
want to search UI object, and click the button «Mouse search». The mouse
search mode will start. Turn mouse on the UI object you are interested
and wait when the studio will highlight the UI object. After the
hightlight hold the «Ctrl» key and wait 3 seconds. The interested UI
object will be shown in <codeclass="docutils literal notranslate"><spanclass="pre">UI</span><spanclass="pre">tree</span><spanclass="pre">viewer</span></code>.</p>
<spanid="id8"></span><h2>Поиск UI объекта по наведению мыши<aclass="headerlink"href="#how-to-search-ui-object-by-mouse-hover"title="Ссылка на этот заголовок">¶</a></h2>
<p>Чтобы выполнить поиск UI объекта пользовательского интерфейса, необходимо в <codeclass="docutils literal notranslate"><spanclass="pre">UI</span><spanclass="pre">tree</span><spanclass="pre">viewer</span></code> выбрать родительский UI объект, в котором вы хотите выполнить поиск, и нажать кнопку <codeclass="docutils literal notranslate"><spanclass="pre">Mouse</span><spanclass="pre">search</span></code>.</p>
<p>Будет активирован режим поиск UI объекта по курсору мыши. Наведите курсор мыши на интересующий вас объект пользовательского интерфейса и дождитесь, когда студия выделит объект пользовательского интерфейса. После выделения цветов удерживайте клавишу «Ctrl» и подождите 3 секунды. Интересующий UI объект будет показан в <codeclass="docutils literal notranslate"><spanclass="pre">UI</span><spanclass="pre">tree</span><spanclass="pre">viewer</span></code>.</p>
<divclass="section"id="mouse-search">
<h3>Действие: Нажать кнопку «Mouse search»<aclass="headerlink"href="#mouse-search"title="Ссылка на этот заголовок">¶</a></h3>
<h3>Action: Turn mouse on the UI object you are interested and hold the «Ctrl» key for 3 seconds<aclass="headerlink"href="#action-turn-mouse-on-the-ui-object-you-are-interested-and-hold-the-ctrl-key-for-3-seconds"title="Ссылка на этот заголовок">¶</a></h3>
<divclass="section"id="ui-ctrl-3">
<h3>Действие: Навести курсор мыши на UI объект, который интересует и зажать клавишу «Ctrl» на 3 секунды<aclass="headerlink"href="#ui-ctrl-3" title="Ссылка на этот заголовок">¶</a></h3>
<h3>Result: The interested UI object will be shown in<codeclass="docutils literal notranslate"><spanclass="pre">UI</span><spanclass="pre">tree</span><spanclass="pre">viewer</span></code><aclass="headerlink"href="#result-the-interested-ui-object-will-be-shown-in-ui-tree-viewer" title="Ссылка на этот заголовок">¶</a></h3>
<divclass="section"id="ui-ui-tree-viewer">
<h3>Итог: Интересующий UI объект будет отображен в<codeclass="docutils literal notranslate"><spanclass="pre">UI</span><spanclass="pre">tree</span><spanclass="pre">viewer</span></code><aclass="headerlink"href="#ui-ui-tree-viewer" title="Ссылка на этот заголовок">¶</a></h3>
<h2>How to extract UI object properties<aclass="headerlink"href="#how-to-extract-ui-object-properties"title="Ссылка на этот заголовок">¶</a></h2>
<p>In order to extract UI object properties do the following: in
<codeclass="docutils literal notranslate"><spanclass="pre">Selected</span><spanclass="pre">UI</span><spanclass="pre">object</span><spanclass="pre">hierarchy</span><spanclass="pre">list</span></code> choose the UI object you are
interested and click it. The UI object property list will be shown in
<h3>Action: Choose the UI object you are interested and click it<aclass="headerlink"href="#action-choose-the-ui-object-you-are-interested-and-click-it"title="Ссылка на этот заголовок">¶</a></h3>
<spanid="id9"></span><h2>Извлечь свойства UI объекта<aclass="headerlink"href="#how-to-extract-ui-object-properties"title="Ссылка на этот заголовок">¶</a></h2>
<p>Чтобы извлечь свойства UI объекта, необходимо в
<codeclass="docutils literal notranslate"><spanclass="pre">Selected</span><spanclass="pre">UI</span><spanclass="pre">object</span><spanclass="pre">hierarchy</span><spanclass="pre">list</span></code> выбрать интересующий UI объект и щелкнуть по нему. Список свойств UI объекта будет отображен в <codeclass="docutils literal notranslate"><spanclass="pre">Selected</span><spanclass="pre">UI</span><spanclass="pre">object</span><spanclass="pre">property</span><spanclass="pre">list</span></code></p>
<h3>Действие: Choose the UI object you are interested and click it<aclass="headerlink"href="#choose-the-ui-object-you-are-interested-and-click-it"title="Ссылка на этот заголовок">¶</a></h3>
<h3>Result: The UI object property list will be shown in<codeclass="docutils literal notranslate"><spanclass="pre">Selected</span><spanclass="pre">UI</span><spanclass="pre">object</span><spanclass="pre">property</span><spanclass="pre">list</span></code><aclass="headerlink"href="#result-the-ui-object-property-list-will-be-shown-in-selected-ui-object-property-list" title="Ссылка на этот заголовок">¶</a></h3>
<h3>Итог: Свойства UI объекта будут отображены в<codeclass="docutils literal notranslate"><spanclass="pre">Selected</span><spanclass="pre">UI</span><spanclass="pre">object</span><spanclass="pre">property</span><spanclass="pre">list</span></code><aclass="headerlink"href="#ui-selected-ui-object-property-list" title="Ссылка на этот заголовок">¶</a></h3>