Портал документации на Русском языке!

dev-linux v1.2.13
Ivan Maslov 2 years ago
parent adb88c41e3
commit 1a58558759

@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: pyOpenRPA
Version: 1.2.12
Version: 1.2.13
Summary: First open source RPA platform for business
Home-page: https://pyopenrpa.ru/
Author: Ivan Maslov

@ -1,9 +1,9 @@
pyOpenRPA-1.2.12.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4
pyOpenRPA-1.2.12.dist-info/METADATA,sha256=AmdWISfrdsF9DvjBrn42JJUXBb-TLln5OFBWKxX0VaE,4111
pyOpenRPA-1.2.12.dist-info/RECORD,,
pyOpenRPA-1.2.12.dist-info/REQUESTED,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
pyOpenRPA-1.2.12.dist-info/WHEEL,sha256=qB97nP5e4MrOsXW5bIU5cUn_KSVr10EV0l-GCHG9qNs,97
pyOpenRPA-1.2.12.dist-info/top_level.txt,sha256=RPzwQXgYBRo_m5L3ZLs6Voh8aEkMeT29Xsul1w1qE0g,10
pyOpenRPA-1.2.13.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4
pyOpenRPA-1.2.13.dist-info/METADATA,sha256=HrNqM4-bPHXjqazFT4215H6pPafnYdCqattouxZIzVc,4111
pyOpenRPA-1.2.13.dist-info/RECORD,,
pyOpenRPA-1.2.13.dist-info/REQUESTED,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
pyOpenRPA-1.2.13.dist-info/WHEEL,sha256=qB97nP5e4MrOsXW5bIU5cUn_KSVr10EV0l-GCHG9qNs,97
pyOpenRPA-1.2.13.dist-info/top_level.txt,sha256=RPzwQXgYBRo_m5L3ZLs6Voh8aEkMeT29Xsul1w1qE0g,10
pyOpenRPA/.idea/inspectionProfiles/profiles_settings.xml,sha256=YXLFmX7rPNGcnKK1uX1uKYPN0fpgskYNe7t0BV7cqkY,174
pyOpenRPA/.idea/misc.xml,sha256=V-fQnOz-bYEZULgfbFgm-8mURphZrKfXMSd0wKjeEyA,188
pyOpenRPA/.idea/modules.xml,sha256=Q__U1JIA2cjxbLRXAv-SfYY00fZA0TNlpkkbY4s3ncg,277
@ -26,9 +26,9 @@ pyOpenRPA/LICENSE.pdf,sha256=HEqffy8FIWpylw0zF7k-Wgwd8ppWQT9s9EGBgKV-6G8,321175
pyOpenRPA/Orchestrator/BackwardCompatibility.py,sha256=ABr0RugbBsIGdL5GE_EFC9QndSaKjvrjawvluhUNuMY,37795
pyOpenRPA/Orchestrator/ControlPanel.py,sha256=OzS8HjG__8OZgqhajr8L8owyugXPuSLWHLtXuKdEP78,103
pyOpenRPA/Orchestrator/Core.py,sha256=OHa3mSC3_wRAizqrWBVjlR6ln4-xVVvBpOSnWl6qVvY,529
pyOpenRPA/Orchestrator/Managers/ControlPanel.py,sha256=BgtLjb6PR6kTlOjPLCg2YGP458LS9JOaYEfNurhS0nk,16544
pyOpenRPA/Orchestrator/Managers/ControlPanel.py,sha256=XpmN_LB--phNq4VpsbdWHJC6ybIt7jWBsl6HKfxHP1I,16550
pyOpenRPA/Orchestrator/Managers/Git.py,sha256=dgXx2UzSwiEev4ov2hBbb-5MhXVhFKWZo2lmr19QSCQ,12582
pyOpenRPA/Orchestrator/Managers/Process.py,sha256=7T_qofdkRJHdPQbaiEsTDOboImSf2N6d_Ku513rURkw,41369
pyOpenRPA/Orchestrator/Managers/Process.py,sha256=DYX1pBK4gaxcfmDj-1OaLNyk83D_R_7ztZyt0SHWoik,41377
pyOpenRPA/Orchestrator/Managers/__init__.py,sha256=4my0XiwmI_QLRQVhOzNvWTggCosF3tb2yRxGkehOCq0,71
pyOpenRPA/Orchestrator/Managers/__pycache__/ControlPanel.cpython-37.pyc,,
pyOpenRPA/Orchestrator/Managers/__pycache__/Git.cpython-37.pyc,,
@ -81,7 +81,7 @@ pyOpenRPA/Orchestrator/Web/Index.js,sha256=YACiZAvjr6NmFlDhQu6urkJp49BX7L8WJU9p-
pyOpenRPA/Orchestrator/Web/Index.xhtml,sha256=5JUAs5rEiU0XtHM9QO6EdNMBGt-W6QOVGY7xJ_HLPFM,19257
pyOpenRPA/Orchestrator/Web/__pycache__/Basic.cpython-37.pyc,,
pyOpenRPA/Orchestrator/Web/favicon.ico,sha256=6S8XwSQ_3FXPpaX6zYkf8uUewVXO9bHnrrDHEoWrEgw,112922
pyOpenRPA/Orchestrator/__Orchestrator__.py,sha256=Zud6HTAHSsfTJVrszML5EjGTqlA7k5qhthZTsSD1pX8,151055
pyOpenRPA/Orchestrator/__Orchestrator__.py,sha256=rlM-j8LK4BdcPfI8KNMOi1Rq-Ht8kCLs6WYsPBZgDTU,203081
pyOpenRPA/Orchestrator/__init__.py,sha256=nJhjYtBXKOUNX_yNu1rRFk5y9cDz6AFiL0M6KgX_utQ,207
pyOpenRPA/Orchestrator/__main__.py,sha256=czJrc7_57WiO3EPIYfPeF_LG3pZsQVmuAYgbl_YXcVU,273
pyOpenRPA/Orchestrator/__pycache__/BackwardCompatibility.cpython-37.pyc,,
@ -270,15 +270,15 @@ pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/themes/default/assets/fonts/outli
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/themes/default/assets/images/flags.png,sha256=lNXH8WYTAcSm3Ekdct1VmgYgzZF6gm8N8bAju5bqnd0,28123
pyOpenRPA/Resources/Web/jQuery/jquery-3.1.1.min.js,sha256=HPMOWdIdSuVgr3FD9ZE-_MgiK8qk_MdQjrgCtfqp6U4,86713
pyOpenRPA/Resources/Web/pyOpenRPA_logo.png,sha256=7rulXo_C57xJQEaYWmAkChxXb6xbDW2zq-werzVbDbc,4899
pyOpenRPA/Robot/Clipboard.py,sha256=q76X8L21zJwcwdoJJNPeCEwAV30xS6ylHP1WwvtxoWI,722
pyOpenRPA/Robot/Keyboard.py,sha256=k_5uNh7UWq5F4TKGbe4LpJwqWgUrftNieWm51HOgOBI,22
pyOpenRPA/Robot/Mouse.py,sha256=tBW9yteyEv9znJePOfbZcU3YqxX42wyu4Wc09fVaO0c,23
pyOpenRPA/Robot/Clipboard.py,sha256=ntvXqnJpgmTPnehrjfVibrM72-AYLrqOn-CI2xVOaDs,1577
pyOpenRPA/Robot/Keyboard.py,sha256=6Ah71EaETse2_nPiz8EPW_fZBlhpaZg5WZ6tWZ2wC9U,17898
pyOpenRPA/Robot/Mouse.py,sha256=Wvai_tpanqREj5jA4tFEl_-0L45cpk41cX5_Ex68mBg,16079
pyOpenRPA/Robot/OrchestratorConnector.py,sha256=JUtdiUXCruqUqBD19gJBl9jk_b-tpWWx_v3MfBoKzoQ,20445
pyOpenRPA/Robot/README.md,sha256=e2hKh7Tx6DAsX6jY_hBDhguL1L2Wiv6iugDB5otMzIA,2293
pyOpenRPA/Robot/README.md,sha256=bwiTAygxuMZzBlwpsndw2QgxA2smIjUyOPZnsnR341k,1623
pyOpenRPA/Robot/Screen.py,sha256=tBW9yteyEv9znJePOfbZcU3YqxX42wyu4Wc09fVaO0c,23
pyOpenRPA/Robot/SettingsTemplate.py,sha256=Rp5XPeV2I4tCS2uf4Zkqm_ERJ6pZMg4-e5_lMqGJYLk,1453
pyOpenRPA/Robot/Test.py,sha256=qXr990nXiFZX5SNv6QN9GLb_U4HZRmJnbZR2qSnwilY,2878
pyOpenRPA/Robot/UIDesktop.py,sha256=EllVup0umNNFqcQrrO6pffdoTBzc5Y-jEKrY0oO7joU,82938
pyOpenRPA/Robot/UIDesktop.py,sha256=y0lHHtn-Cd7I1rUQGgBYfZQpfcrGBAfMST9F5aPIxtM,124815
pyOpenRPA/Robot/UIWeb.py,sha256=NFH0brDKEmWWOJxMzO7404K5lJ4LaDn5XMnkoH13Y64,22
pyOpenRPA/Robot/Utils/JSONNormalize.py,sha256=aIuVzuZDazhxkCOzoOjfhHVz66mp2FWdfPv5E7KWF5Y,3890
pyOpenRPA/Robot/Utils/ProcessBitness.py,sha256=WlKL-DklGaoTnchtapOTM_ydxSB4yOeo9lcG3zr2VME,4524
@ -364,6 +364,6 @@ pyOpenRPA/Tools/__pycache__/License.cpython-37.pyc,,
pyOpenRPA/Tools/__pycache__/StopSafe.cpython-37.pyc,,
pyOpenRPA/Tools/__pycache__/Usage.cpython-37.pyc,,
pyOpenRPA/Tools/__pycache__/__init__.cpython-37.pyc,,
pyOpenRPA/__init__.py,sha256=fmC6rG7L4TIer8c0qUyp-Ypv2d7C2TBucEjIg7Wwip4,175
pyOpenRPA/__init__.py,sha256=Q9zi3T0F5hLslWv3SoO1EvZt17wEU5fq3JJ59uqdtg8,156
pyOpenRPA/__pycache__/__init__.cpython-37.pyc,,
pyOpenRPA/test.txt,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0

@ -39,6 +39,7 @@ class ControlPanel():
Jinja2DataUpdateDictSet
.. code-block:: html
Hello my control panel!
You can use any def from Orchestrator module here in Jinja2 HTML template:
Example: OrchestratorModule.OSCMD(inCMDStr="notepad")

@ -22,6 +22,7 @@ class Process():
- 5_STARTED_MANUAL
.. code-block:: python
# For the safe init class use ProcessInitSafe
lProcess = Orchestrator.Managers.ProcessInitSafe(inAgentHostNameStr="PCNAME",inAgentUserNameStr="USER",
inProcessNameWOExeStr="notepad",inStartCMDStr="notepad",inStopSafeTimeoutSecFloat=3)
@ -35,6 +36,7 @@ class Process():
How to use StopSafe on the robot side
.. code-block:: python
from pyOpenRPA.Tools import StopSafe
StopSafe.Init(inLogger=None)
StopSafe.IsSafeStop() # True - WM_CLOSE SIGNAL has come. taskkill /im someprocess.exe

@ -4,17 +4,42 @@ import win32clipboard
####################################
# GUI Module - interaction with Windows clipboard
################
###ClipboardGet
################
def Get():
"""
Получить текстовое содержимое буфера обмена.
.. code-block:: python
# Clipboard: Взаимодействие с буфером
from pyOpenRPA.Robot import Clipboard
lClipStr = Clipboard.Get()
:return: Текстовое содержимое буфера обмена
:rtype: str
"""
return ClipboardGet()
def Set(inTextStr:str):
"""
Установить текстовое содержимое в буфер обмена.
.. code-block:: python
# Clipboard: Взаимодействие с буфером
from pyOpenRPA.Robot import Clipboard
lClipStr = Clipboard.Set(inTextStr="HELLO WORLD")
:param inTextStr: Текстовое содержимое для установки в буфера обмена
:type inTextStr: str
"""
ClipboardSet(inText=inTextStr)
def ClipboardGet():
win32clipboard.OpenClipboard()
lResult = win32clipboard.GetClipboardData(win32clipboard.CF_UNICODETEXT)
win32clipboard.CloseClipboard()
return lResult
################
###ClipboardSet
################
def ClipboardSet(inText):
win32clipboard.OpenClipboard()
win32clipboard.EmptyClipboard()

@ -1 +1,344 @@
from keyboard import *
from keyboard import *
import time
# Настройки модуля Keyboard
WAIT_AFTER_SEC_FLOAT = 0.4 # Время, которое ожидать после выполнения любой операции модуля Keyboard. Настройка является единой для всех участов кода, использующих модуль Keyboard. Если для некоторой функции требуется изменить данное время ожидания, то в отношении этой функции можно применить соответсвующий аргумент.
# ШЕСТНАДЦАТИРИЧНЫЙ СКАН-КОД В РУССКОЙ РАСКЛАДКЕ (НЕЗАВИСИМО ОТ ВЫБРАННОГО ЯЗЫКА НА КЛАВИАТУРЕ)
# ОТОБРАЖЕНИЕ СКАН КОДОВ НА КЛАВИАТУРЕ https://snipp.ru/handbk/scan-codes
KEY_RUS_Ф = 0x1E #A
KEY_RUS_И = 0x30 #B
KEY_RUS_С = 0x2E #C
KEY_RUS_В = 0x20 #D
KEY_RUS_У = 0x12 #E
KEY_RUS_А = 0x21 #F
KEY_RUS_П = 0x22 #G
KEY_RUS_Р = 0x23 #H
KEY_RUS_Ш = 0x17 #I
KEY_RUS_О = 0x24 #J
KEY_RUS_Л = 0x25 #K
KEY_RUS_Д = 0x26 #L
KEY_RUS_Ь = 0x32 #M
KEY_RUS_Т = 0x31 #N
KEY_RUS_Щ = 0x18 #O
KEY_RUS_З = 0x19 #P
KEY_RUS_Й = 0x10 #Q
KEY_RUS_К = 0x13 #R
KEY_RUS_Ы = 0x1F #S
KEY_RUS_Е = 0x14 #T
KEY_RUS_Г = 0x16 #U
KEY_RUS_М = 0x2F #V
KEY_RUS_Ц = 0x11 #W
KEY_RUS_Ч = 0x2D #X
KEY_RUS_Н = 0x15 #Y
KEY_RUS_Я = 0x2C #Z
KEY_RUS_Ё = 0x29 #~
KEY_RUS_Ж = 0x27 #:
KEY_RUS_Б = 0x33 #<
KEY_RUS_Ю = 0x34 #>
KEY_RUS_Х = 0x1A #[
KEY_RUS_Ъ = 0x1B #]
KEY_RUS_Э = 0x28 #'
KEY_ENG_A = 0x1E #A
KEY_ENG_B = 0x30 #B
KEY_ENG_C = 0x2E #C
KEY_ENG_D = 0x20 #D
KEY_ENG_E = 0x12 #E
KEY_ENG_F = 0x21 #F
KEY_ENG_G = 0x22 #G
KEY_ENG_H = 0x23 #H
KEY_ENG_I = 0x17 #I
KEY_ENG_J = 0x24 #J
KEY_ENG_K = 0x25 #K
KEY_ENG_L = 0x26 #L
KEY_ENG_M = 0x32 #M
KEY_ENG_N = 0x31 #N
KEY_ENG_O = 0x18 #O
KEY_ENG_P = 0x19 #P
KEY_ENG_Q = 0x10 #Q
KEY_ENG_R = 0x13 #R
KEY_ENG_S = 0x1F #S
KEY_ENG_T = 0x14 #T
KEY_ENG_U = 0x16 #U
KEY_ENG_V = 0x2F #V
KEY_ENG_W = 0x11 #W
KEY_ENG_X = 0x2D #X
KEY_ENG_Y = 0x15 #Y
KEY_ENG_Z = 0x2C #Z
KEY_HOT_NUMPAD_0 = 0x52
KEY_HOT_NUMPAD_1 = 0x4F
KEY_HOT_NUMPAD_2 = 0x50
KEY_HOT_NUMPAD_3 = 0x51
KEY_HOT_NUMPAD_4 = 0x4B
KEY_HOT_NUMPAD_5 = 0x4C
KEY_HOT_NUMPAD_6 = 0x4D
KEY_HOT_NUMPAD_7 = 0x47
KEY_HOT_NUMPAD_8 = 0x48
KEY_HOT_NUMPAD_9 = 0x49
KEY_HOT_NUMPAD_ASTERISK = 0x37 #*
KEY_HOT_NUMPAD_PLUS = 0x4E
KEY_HOT_NUMPAD_MINUS = 0x4A
KEY_HOT_NUMPAD_DELETE = 0x53
KEY_HOT_NUMPAD_SOLIDUS = 0x35 #/
KEY_HOT_NUMPAD_ENTER = 0x11c
KEY_HOT_F1 = 0x3B
KEY_HOT_F2 = 0x3C
KEY_HOT_F3 = 0x3D
KEY_HOT_F4 = 0x3E
KEY_HOT_F5 = 0x3F
KEY_HOT_F6 = 0x40
KEY_HOT_F7 = 0x41
KEY_HOT_F8 = 0x42
KEY_HOT_F9 = 0x43
KEY_HOT_F10 = 0x44
KEY_HOT_F11 = 0x57
KEY_HOT_F12 = 0x58
KEY_HOT_F13 = 0x7C
KEY_HOT_F14 = 0x7D
KEY_HOT_F15 = 0x7E
KEY_HOT_F16 = 0x7F
KEY_HOT_F17 = 0x80
KEY_HOT_F18 = 0x81
KEY_HOT_F19 = 0x82
KEY_HOT_F20 = 0x83
KEY_HOT_F21 = 0x84
KEY_HOT_F22 = 0x85
KEY_HOT_F23 = 0x86
KEY_HOT_F24 = 0x87
KEY_HOT_TILDE = 0x29 #~
KEY_HOT_COLON = 0x27 #:
KEY_HOT_PLUS = 0x0D #+
KEY_HOT_MINUS = 0x0C #-
KEY_HOT_LESS_THAN = 0x33 #< ,
KEY_HOT_GREATER_THAN = 0x34 #> .
KEY_HOT_SOLIDUS = 0x35 #/ ?
KEY_HOT_SQUARE_BRACKET_LEFT = 0x1A #[
KEY_HOT_SQUARE_BRACKET_RIGHT = 0x1B #]
KEY_HOT_APOSTROPHE = 0x28 #' "
KEY_HOT_VERTICAL_LINE = 0x2B #| \
KEY_HOT_ESC = 0x1
KEY_HOT_BACKSPACE = 0x0E
KEY_HOT_TAB = 0x0F
KEY_HOT_ENTER = 0x1C
KEY_HOT_CONTEXT_MENU = 0x15D
KEY_HOT_SHIFT_LEFT = 0x2A
KEY_HOT_SHIFT_RIGHT = 0x36
KEY_HOT_CTRL_LEFT = 0x1D
KEY_HOT_CTRL_RIGHT = 0x11D
KEY_HOT_ALT_LEFT = 0x38
KEY_HOT_ALT_RIGHT = 0x138
KEY_HOT_WIN_LEFT = 57435 #OLD AND DONT WORK 0x5B
KEY_HOT_WIN_RIGHT = 57436 #OLD AND DONT WORK 0x5C
KEY_HOT_CAPS_LOCK = 0x3A
KEY_HOT_NUM_LOCK = 0x45
KEY_HOT_SCROLL_LOCK = 0x46
KEY_HOT_END = 0x4F
KEY_HOT_HOME = 0x47
KEY_HOT_SPACE = 0x39
KEY_HOT_PAGE_UP = 0x49
KEY_HOT_PAGE_DOWN = 0x51
KEY_HOT_CLEAR = 0x4C
KEY_HOT_LEFT = 0x4B
KEY_HOT_UP = 0x48
KEY_HOT_RIGHT = 0x4D
KEY_HOT_DOWN = 0x50
KEY_HOT_PRINT_SCREEN = 0x137
KEY_HOT_INSERT = 0x52
KEY_HOT_DELETE = 0x53
KEY_HOT_0 = 0xB
KEY_HOT_1 = 0x2
KEY_HOT_2 = 0x3
KEY_HOT_3 = 0x4
KEY_HOT_4 = 0x5
KEY_HOT_5 = 0x6
KEY_HOT_6 = 0x7
KEY_HOT_7 = 0x8
KEY_HOT_8 = 0x9
KEY_HOT_9 = 0xA
def Write(inTextStr:str, inDelayFloat:float=0, inRestoreStateAfterBool:bool=True, inExactBool:bool=None, inWaitAfterSecFloat:float=WAIT_AFTER_SEC_FLOAT):
"""
Печатает текст, который был передан в переменной inTextStr (поддерживает передачу в одной строке символов разного языка). Не зависит от текущей раскладки клавиатуры! Посылает искусственные клавишные события в ОС, моделируя печать данного текста. Знаки, не доступные на клавиатуре, напечатаны как явный unicode знаки, использующие определенную для ОС функциональность, такие как alt+codepoint.
Чтобы гарантировать текстовую целостность, все в настоящее время нажатые ключи выпущены прежде текст напечатан, и модификаторы восстановлены впоследствии.
ВНИМАНИЕ! ПЕЧАТАЕТ ЛЮБУЮ СТРОКУ, ДАЖЕ В СОЧЕТАНИИ НЕСКОЛЬКИХ ЯЗЫКОВ ОДНОВРЕМЕННО. ДЛЯ РАБОТЫ С ГОРЯЧИМИ КЛАВИШАМИ ИСПОЛЬЗУЙ ФУНКЦИЮ Send, Up, Down, HotkeyCombination
.. code-block:: python
# Keyboard: Взаимодействие с клавиатурой
from pyOpenRPA.Robot import Keyboard
Keyboard.Write("Привет мой милый мир! Hello my dear world!")
:param inTextStr: Текст, отправляемый на печать. Не зависит от текущей раскладки клавиатуры!
:type inTextStr: str
:param inDelayFloat: Число секунд, которое ожидать между нажатиями. По умолчанию 0
:type inDelayFloat: float, опциональный
:param inRestoreStateAfterBool: Может использоваться, чтобы восстановить регистр нажатых ключей после того, как текст напечатан, т.е. нажимает ключи, которые были выпущены в начало.
:type inRestoreStateAfterBool: bool, опциональный
:param inExactBool: Печатает все знаки как явный unicode. Необязательный параметр
:type inExactBool: bool, опциональный
:param inWaitAfterSecFloat: Количество секунд, которые ожидать после выполнения операции. По умолчанию установлено в настройках модуля Keyboard (базовое значение 0.4)
:type inWaitAfterSecFloat: float, опциональный
"""
write(text=inTextStr, delay=inDelayFloat, restore_state_after=inRestoreStateAfterBool, exact=inExactBool)
time.sleep(inWaitAfterSecFloat)
def HotkeyCombination(*inKeyList, inDelaySecFloat = 0.3,inWaitAfterSecFloat:float=WAIT_AFTER_SEC_FLOAT):
"""Получает перечень клавиш для одновременного нажатия. Между нажатиями программа ожидания время inDelaySecFloat
ВНИМАНИЕ! НЕ ЗАВИСИТ ОТ ТЕКУЩЕЙ РАСКЛАДКИ КЛАВИАТУРЫ
.. code-block:: python
# Keyboard: Взаимодействие с клавиатурой
from pyOpenRPA.Robot import Keyboard
Keyboard.HotkeyCombination(Keyboard.KEY_HOT_CTRL_LEFT,Keyboard.KEY_ENG_A) # Ctrl + a
Keyboard.HotkeyCombination(Keyboard.KEY_HOT_CTRL_LEFT,Keyboard.KEY_ENG_C) # Ctrl + c
Keyboard.HotkeyCombination(Keyboard.KEY_HOT_CTRL_LEFT,Keyboard.KEY_ENG_A)
Keyboard.HotkeyCombination(Keyboard.KEY_HOT_ALT_LEFT,Keyboard.KEY_HOT_TAB, Keyboard.KEY_HOT_TAB)
:param inKeyList: Список клавиш для одновременного нажатия. Перечень клавиш см. в разделе "Коды клавиш". Пример: KEY_HOT_CTRL_LEFT,KEY_ENG_A
:param inDelaySecFloat: Интервал между нажатиями. Необходим в связи с тем, что операционной системе требуется время на реакцию на нажатие клавиш, по умолчанию: 0.3
:type inDelaySecFloat: float, опциональный
:param inWaitAfterSecFloat: Количество секунд, которые ожидать после выполнения операции. По умолчанию установлено в настройках модуля Keyboard (базовое значение 0.4)
:type inWaitAfterSecFloat: float, опциональный
"""
for l_key_item in inKeyList:
if l_key_item == inKeyList[-1]:
send(l_key_item)
else:
press(l_key_item)
time.sleep(inDelaySecFloat)
lRevKeyList = list(reversed(inKeyList))
for l_key_item in lRevKeyList:
if l_key_item == lRevKeyList[0]:
pass
else:
release(l_key_item)
time.sleep(inDelaySecFloat)
time.sleep(inWaitAfterSecFloat)
def HotkeyCtrlA_CtrlC(inWaitAfterSecFloat:float=0.4) -> None:
"""Выполнить выделение текста, после чего скопировать его в буфер обмена
ВНИМАНИЕ! НЕ ЗАВИСИТ ОТ ТЕКУЩЕЙ РАСКЛАДКИ КЛАВИАТУРЫ
.. code-block:: python
# Keyboard: Взаимодействие с клавиатурой
from pyOpenRPA.Robot import Keyboard
Keyboard.HotkeyCtrlA_CtrlC() # Отправить команды: выделить все, скопировать в буфер обмена
:param inWaitAfterSecFloat: Количество секунд, которые ожидать после выполнения операции. По умолчанию установлено в настройках модуля Keyboard (базовое значение 0.4)
:type inWaitAfterSecFloat: float, опциональный
"""
HotkeyCombination(KEY_HOT_CTRL_LEFT,KEY_ENG_A) # Ctrl + a
HotkeyCombination(KEY_HOT_CTRL_LEFT,KEY_ENG_C) # Ctrl + c
time.sleep(inWaitAfterSecFloat)
def Send(inKeyInt:int, inDoPressBool:bool=True, inDoReleaseBool:bool=True,inWaitAfterSecFloat:float=WAIT_AFTER_SEC_FLOAT) -> None:
"""
Имитация нажатия/отпускания любой физической клавиши. Посылает событие в операционную систему, которые выполняет нажатие и отпускание данной клавиши
ВНИМАНИЕ! ПРИ ПОПЫТКЕ ПЕЧАТИ ТЕКСТА БУДЕТ УЧИТЫВАТЬ ТЕКУЩУЮ РАСКЛАДКУ КЛАВИАТУРЫ. ДЛЯ ПЕЧАТИ ТЕКСТА ИСПОЛЬЗУЙ Write!
.. code-block:: python
# Keyboard: Взаимодействие с клавиатурой
from pyOpenRPA.Robot import Keyboard
Keyboard.Send(Keyboard.KEY_ENG_A) # Нажать клавишу A. Если будет активна русская раскладка, то будет выведена буква ф.
:param inKeyInt: Перечень клавиш см. в разделе "Коды клавиш". Пример: KEY_HOT_CTRL_LEFT,KEY_ENG_A
:type inKeyInt: int
:param inDoPressBool: Выполнить событие нажатия клавиши, По умолчанию True
:type inDoPressBool: bool, опциональный
:param inDoReleaseBool: Выполнить событие отпускания клавиши, По умолчанию True
:type inDoReleaseBool: bool, опциональный
:param inWaitAfterSecFloat: Количество секунд, которые ожидать после выполнения операции. По умолчанию установлено в настройках модуля Keyboard (базовое значение 0.4)
:type inWaitAfterSecFloat: float, опциональный
"""
send(hotkey=inKeyInt, do_press=inDoPressBool, do_release=inDoReleaseBool)
time.sleep(inWaitAfterSecFloat)
def Up(inKeyInt:int, inWaitAfterSecFloat:float=WAIT_AFTER_SEC_FLOAT) -> None:
"""
Отпустить (поднять) клавишу. Если клавиша уже была поднята, то ничего не произойдет.
ВНИМАНИЕ! ПРИ ПОПЫТКЕ ПЕЧАТИ ТЕКСТА БУДЕТ УЧИТЫВАТЬ ТЕКУЩУЮ РАСКЛАДКУ КЛАВИАТУРЫ. ДЛЯ ПЕЧАТИ ТЕКСТА ИСПОЛЬЗУЙ Write!
.. code-block:: python
# Keyboard: Взаимодействие с клавиатурой
from pyOpenRPA.Robot import Keyboard
Keyboard.Up(Keyboard.KEY_ENG_A) # Отпустить клавишу A.
:param inKeyInt: Перечень клавиш см. в разделе "Коды клавиш". Пример: KEY_HOT_CTRL_LEFT, KEY_ENG_A
:type inKeyInt: int
:param inWaitAfterSecFloat: Количество секунд, которые ожидать после выполнения операции. По умолчанию установлено в настройках модуля Keyboard (базовое значение 0.4)
:type inWaitAfterSecFloat: float, опциональный
"""
send(hotkey=inKeyInt, do_press=False, do_release=True)
time.sleep(inWaitAfterSecFloat)
def Down(inKeyInt:int, inWaitAfterSecFloat:float=WAIT_AFTER_SEC_FLOAT) -> None:
"""
Нажать (опустить) клавишу. Если клавиша уже была опущена, то ничего не произойдет.
ВНИМАНИЕ! ПРИ ПОПЫТКЕ ПЕЧАТИ ТЕКСТА БУДЕТ УЧИТЫВАТЬ ТЕКУЩУЮ РАСКЛАДКУ КЛАВИАТУРЫ. ДЛЯ ПЕЧАТИ ТЕКСТА ИСПОЛЬЗУЙ Write!
.. code-block:: python
# Keyboard: Взаимодействие с клавиатурой
from pyOpenRPA.Robot import Keyboard
Keyboard.Down(Keyboard.KEY_ENG_A) # Отпустить клавишу A.
:param inKeyInt: Перечень клавиш см. в разделе "Коды клавиш". Пример: KEY_HOT_CTRL_LEFT, KEY_ENG_A
:type inKeyInt: int
:param inWaitAfterSecFloat: Количество секунд, которые ожидать после выполнения операции. По умолчанию установлено в настройках модуля Keyboard (базовое значение 0.4)
:type inWaitAfterSecFloat: float, опциональный
"""
send(hotkey=inKeyInt, do_press=True, do_release=False)
time.sleep(inWaitAfterSecFloat)
def IsDown(inKeyInt:int) -> bool:
"""
Проверить, опущена ли клавиша. Вернет True если опущена; False если поднята.
ВНИМАНИЕ! ПРИ ПОПЫТКЕ ПЕЧАТИ ТЕКСТА БУДЕТ УЧИТЫВАТЬ ТЕКУЩУЮ РАСКЛАДКУ КЛАВИАТУРЫ. ДЛЯ ПЕЧАТИ ТЕКСТА ИСПОЛЬЗУЙ Write!
.. code-block:: python
# Keyboard: Взаимодействие с клавиатурой
from pyOpenRPA.Robot import Keyboard
lKeyAIsPressedBool = Keyboard.IsDown(Keyboard.KEY_ENG_A) # Проверить, опущена ли клавиша A.
:param inKeyInt: Перечень клавиш см. в разделе "Коды клавиш". Пример: KEY_HOT_CTRL_LEFT, KEY_ENG_A
:type inKeyInt: int
"""
return is_pressed(inKeyInt)
def Wait(inKeyInt:int,inWaitAfterSecFloat:float=WAIT_AFTER_SEC_FLOAT):
"""Блокирует осуществление программы, пока данная обозначенная клавиша не будет нажата.
ВНИМАНИЕ! НЕ ЗАВИСИТ ОТ ТЕКУЩЕЙ РАСКЛАДКИ КЛАВИАТУРЫ. ОЖИДАЕТ НАЖАТИЕ СООТВЕТСВУЮЩЕЙ ФИЗИЧЕСКОЙ КЛАВИШИ
.. code-block:: python
# Keyboard: Взаимодействие с клавиатурой
from pyOpenRPA.Robot import Keyboard
Keyboard.Wait(Keyboard.KEY_ENG_A) # Ждать нажатие клавиши A.
:param inKeyInt: Перечень клавиш см. в разделе "Коды клавиш". Пример: KEY_HOT_CTRL_LEFT,KEY_ENG_A
:type inKeyInt: int
:param inWaitAfterSecFloat: Количество секунд, которые ожидать после выполнения операции. По умолчанию установлено в настройках модуля Keyboard (базовое значение 0.4)
:type inWaitAfterSecFloat: float, опциональный
"""
wait(hotkey=inKeyInt)
time.sleep(inWaitAfterSecFloat)
key_to_scan_codes("win") # 2022 06 10 Люблю смотреть скан код клавиши Виндовс :)

@ -1 +1,173 @@
from pyautogui import *
from pyautogui import *
import time
WAIT_AFTER_SEC_FLOAT = 0.4 # Настройка модуля Mouse: Время, которое ожидать после выполнения любой операции модуля Mouse. Настройка является единой для всех участов кода, использующих модуль Mouse. Если для некоторой функции требуется изменить данное время ожидания, то в отношении этой функции можно применить соответсвующий аргумент.
def Click(inXInt:int=None, inYInt:int=None, inClickCountInt:int=1, inIntervalSecFloat:float=0.0, inButtonStr:str='left', inMoveDurationSecFloat:float=0.0, inWaitAfterSecFloat:float=WAIT_AFTER_SEC_FLOAT):
"""Нажатие (вниз) кнопки мыши и затем немедленно выпуск (вверх) её. Допускается следующая параметризация. Если не указаны inXInt и inYInt - клик производится по месту нахождения указателя мыши.
!ВНИМАНИЕ! Отсчет координат inXInt, inYInt начинается с левого верхнего края рабочей области (экрана).
.. code-block:: python
# Mouse: Взаимодействие с мышью
from pyOpenRPA.Robot import Mouse
Mouse.Click(100,150) #Выполнить нажатие левой клавиши мыши на экране по координатам: X(гор) 100px, Y(вер) 150px.
:param inXInt: Целевая позиция указателя мыши по оси X (горизонтальная ось).
:type inXInt: int, опциональный
:param inYInt: Целевая позиция указателя мыши по оси Y (вертикальная ось).
:type inYInt: int, опциональный
:param inClickCountInt: Количество нажатий (вниз и вверх) кнопкой мыши, По умолчанию 1
:type inClickCountInt: int, опциональный
:param inIntervalSecFloat: Интервал ожидания в секундах между нажатиями, По умолчанию 0.0
:type inIntervalSecFloat: float, опциональный
:param inButtonStr: Номер кнопки, которую требуется нажать. Возможные варианты: 'left', 'middle', 'right' или 1, 2, 3. В остальных случаях инициирует исключение ValueError. По умолчанию 'left'
:type inButtonStr: str, опциональный
:param inMoveDurationSecFloat: Время перемещения указателя мыши, По умолчанию 0.0 (моментальное перемещение)
:type inMoveDurationSecFloat: float, опциональный
:param inWaitAfterSecFloat: Количество секунд, которые ожидать после выполнения операции. По умолчанию установлено в настройках модуля Mouse (базовое значение 0.4)
:type inWaitAfterSecFloat: float, опциональный
"""
click(x=inXInt, y=inYInt, clicks=inClickCountInt, interval=inIntervalSecFloat, button=inButtonStr, duration=inMoveDurationSecFloat)
time.sleep(inWaitAfterSecFloat)
def ClickDouble(inXInt:int=None, inYInt:int=None, inWaitAfterSecFloat:float=WAIT_AFTER_SEC_FLOAT):
"""Двойное нажатие левой клавиши мыши. Данное действие аналогично вызову функции (см. ниже).
!ВНИМАНИЕ! Отсчет координат inXInt, inYInt начинается с левого верхнего края рабочей области (экрана).
.. code-block:: python
# Mouse: Взаимодействие с мышью
from pyOpenRPA.Robot import Mouse
Mouse.ClickDouble(100,150) #Выполнить двойное нажатие левой клавиши мыши на экране по координатам: X(гор) 100px, Y(вер) 150px.
:param inXInt: Целевая позиция указателя мыши по оси X (горизонтальная ось).
:type inXInt: int, опциональный
:param inYInt: Целевая позиция указателя мыши по оси Y (вертикальная ось).
:type inYInt: int, опциональный
:param inButtonStr: Номер кнопки, которую требуется нажать. Возможные варианты: 'left', 'middle', 'right' или 1, 2, 3. В остальных случаях инициирует исключение ValueError. По умолчанию 'left'
:type inButtonStr: str, опциональный
:param inWaitAfterSecFloat: Количество секунд, которые ожидать после выполнения операции. По умолчанию установлено в настройках модуля Mouse (базовое значение 0.4)
:type inWaitAfterSecFloat: float, опциональный
"""
doubleClick(x=inXInt, y=inYInt)
time.sleep(inWaitAfterSecFloat)
def Down(inXInt:int=None, inYInt:int=None, inButtonStr:str='left', inWaitAfterSecFloat:float=WAIT_AFTER_SEC_FLOAT):
"""Переместить указатель по координатам inXInt, inYInt, после чего нажать (вниз) клавишу мыши и не отпускать до выполнения соответсвующей команды (см. Up). Если координаты inXInt, inYInt не переданы - нажатие происходит на тех координатах X/Y, на которых указатель мыши находится.
!ВНИМАНИЕ! Отсчет координат inXInt, inYInt начинается с левого верхнего края рабочей области (экрана).
.. code-block:: python
# Mouse: Взаимодействие с мышью
from pyOpenRPA.Robot import Mouse
Mouse.Down() #Опустить левую клавишу мыши
:param inXInt: Целевая позиция указателя мыши по оси X (горизонтальная ось).
:type inXInt: int, опциональный
:param inYInt: Целевая позиция указателя мыши по оси Y (вертикальная ось).
:type inYInt: int, опциональный
:param inButtonStr: Номер кнопки, которую требуется нажать. Возможные варианты: 'left', 'middle', 'right' или 1, 2, 3. В остальных случаях инициирует исключение ValueError. По умолчанию 'left'
:type inButtonStr: str, опциональный
:param inWaitAfterSecFloat: Количество секунд, которые ожидать после выполнения операции. По умолчанию установлено в настройках модуля Mouse (базовое значение 0.4)
:type inWaitAfterSecFloat: float, опциональный
"""
mouseDown(x=inXInt, y=inYInt, button = inButtonStr)
time.sleep(inWaitAfterSecFloat)
def Up(inXInt:int=None, inYInt:int=None, inButtonStr:str='left', inWaitAfterSecFloat:float=WAIT_AFTER_SEC_FLOAT):
"""Отпустить (вверх) клавишу мыши. Если координаты inXInt, inYInt не переданы - нажатие происходит на тех координатах X/Y, на которых указатель мыши находится.
!ВНИМАНИЕ! Отсчет координат inXInt, inYInt начинается с левого верхнего края рабочей области.
.. code-block:: python
# Mouse: Взаимодействие с мышью
from pyOpenRPA.Robot import Mouse
Mouse.Up(inButtonStr:str='right') #Поднять правую клавишу мыши
:param inXInt: Целевая позиция указателя мыши по оси X (горизонтальная ось).
:type inXInt: int, опциональный
:param inYInt: Целевая позиция указателя мыши по оси Y (вертикальная ось).
:type inYInt: int, опциональный
:param inButtonStr: Номер кнопки, которую требуется поднять. Возможные варианты: 'left', 'middle', 'right' или 1, 2, 3. В остальных случаях инициирует исключение ValueError. По умолчанию 'left'
:type inButtonStr: str, опциональный
:param inWaitAfterSecFloat: Количество секунд, которые ожидать после выполнения операции. По умолчанию установлено в настройках модуля Mouse (базовое значение 0.4)
:type inWaitAfterSecFloat: float, опциональный
"""
mouseUp(x=inXInt, y=inYInt, button = inButtonStr)
time.sleep(inWaitAfterSecFloat)
def MoveTo(inXInt=None, inYInt=None, inMoveDurationSecFloat:float=0.0, inWaitAfterSecFloat:float=WAIT_AFTER_SEC_FLOAT):
"""Переместить указатель мыши на позицию inXInt, inYInt за время inMoveDurationSecFloat.
!ВНИМАНИЕ! Отсчет координат inXInt, inYInt начинается с левого верхнего края рабочей области (экрана).
.. code-block:: python
# Mouse: Взаимодействие с мышью
from pyOpenRPA.Robot import Mouse
Mouse.MoveTo(inXInt=100, inYInt=200) #Переместить указатель мыши по координатам: X(гор) 100, Y(вер) 200
:param inXInt: Целевая позиция указателя мыши по оси X (горизонтальная ось).
:type inXInt: int, опциональный
:param inYInt: Целевая позиция указателя мыши по оси Y (вертикальная ось).
:type inYInt: int, опциональный
:param inMoveDurationSecFloat: Время перемещения указателя мыши, По умолчанию 0.0 (моментальное перемещение)
:type inMoveDurationSecFloat: float, опциональный
:param inWaitAfterSecFloat: Количество секунд, которые ожидать после выполнения операции. По умолчанию установлено в настройках модуля Mouse (базовое значение 0.4)
:type inWaitAfterSecFloat: float, опциональный
"""
moveTo(x=inXInt, y=inYInt, duration=inMoveDurationSecFloat)
time.sleep(inWaitAfterSecFloat)
def ScrollVertical(inScrollClickCountInt, inXInt=None, inYInt=None, inWaitAfterSecFloat:float=WAIT_AFTER_SEC_FLOAT):
"""Переместить указатель мыши на позицию inXInt, inYInt и выполнить вертикальную прокрутку (скроллинг) колесом мыши на количество щелчков inScrollClickCountInt.
!ВНИМАНИЕ! Отсчет координат inXInt, inYInt начинается с левого верхнего края рабочей области (экрана).
.. code-block:: python
# Mouse: Взаимодействие с мышью
from pyOpenRPA.Robot import Mouse
Mouse.ScrollVertical(100, inXInt=100, inYInt=200) #Крутить колесо мыши вниз на 100 кликов по координатам: X(гор) 100, Y(вер) 200
Mouse.ScrollVertical(-100) #Крутить колесо мыши вверх на 100 кликов по текущим координатам указателя мыши.
:param inScrollClickCountInt: Количество щелчок колеса мыши, которое требуется !вертикально! прокрутить. Аргумент может принимать как положительное (прокрутка вниз), так и отрицательное (прокрутка вверх) значения
:type inScrollClickCountInt: int, обязательный
:param inXInt: Целевая позиция указателя мыши по оси X (горизонтальная ось).
:type inXInt: int, опциональный
:param inYInt: Целевая позиция указателя мыши по оси Y (вертикальная ось).
:type inYInt: int, опциональный
:param inWaitAfterSecFloat: Количество секунд, которые ожидать после выполнения операции. По умолчанию установлено в настройках модуля Mouse (базовое значение 0.4)
:type inWaitAfterSecFloat: float, опциональный
"""
vscroll(inScrollClickCountInt, x=inXInt, y=inYInt)
time.sleep(inWaitAfterSecFloat)
def ScrollHorizontal(inScrollClickCountInt, inXInt=None, inYInt=None, inWaitAfterSecFloat:float=WAIT_AFTER_SEC_FLOAT):
"""!ТОЛЬКО ДЛЯ LINUX! Переместить указатель мыши на позицию inXInt, inYInt и выполнить горизонтальную прокрутку (скроллинг) виртуальным колесом мыши на количество щелчков inScrollClickCountInt.
!ВНИМАНИЕ! Отсчет координат inXInt, inYInt начинается с левого верхнего края рабочей области (экрана).
.. code-block:: python
# Mouse: Взаимодействие с мышью
from pyOpenRPA.Robot import Mouse
Mouse.ScrollHorizontal(100, inXInt=100, inYInt=200) #Крутить колесо мыши вниз на 100 кликов по координатам: X(гор) 100, Y(вер) 200
Mouse.ScrollHorizontal(-100) #Крутить колесо мыши вверх на 100 кликов по текущим координатам указателя мыши.
:param inScrollClickCountInt: Количество щелчок колеса мыши, которое требуется !горизонтально! прокрутить. Аргумент может принимать как положительное (прокрутка вправо), так и отрицательное (прокрутка влево) значения
:type inScrollClickCountInt: int, обязательный
:param inXInt: Целевая позиция указателя мыши по оси X (горизонтальная ось).
:type inXInt: int, опциональный
:param inYInt: Целевая позиция указателя мыши по оси Y (вертикальная ось).
:type inYInt: int, опциональный
:param inWaitAfterSecFloat: Количество секунд, которые ожидать после выполнения операции. По умолчанию установлено в настройках модуля Mouse (базовое значение 0.4)
:type inWaitAfterSecFloat: float, опциональный
"""
hscroll(inScrollClickCountInt, x=inXInt, y=inYInt)
time.sleep(inWaitAfterSecFloat)

@ -43,16 +43,5 @@ Resources\WPy64-3720\python-3.7.2.amd64\python.exe
]
# Open RPA Wiki
- [Home](https://gitlab.com/UnicodeLabs/OpenRPA/wikis/home)
- [04. Desktop app access (win32 & ui automation)](https://gitlab.com/UnicodeLabs/OpenRPA/wikis/04.-Desktop-app-access-(win32-&-ui-automation))
#Dependencies
* Python 3 x32 [psutil, pywinauto, wmi, PIL, keyboard, pyautogui, win32api (pywin32), selenium, openCV, tesseract, requests, lxml, PyMuPDF]
* Python 3 x64 [psutil, pywinauto, wmi, PIL, keyboard, pyautogui, win32api (pywin32), selenium, openCV, tesseract, requests, lxml, PyMuPDF]
* pywinauto (Windows GUI automation)
* Semantic UI CSS framework
* JsRender by https://www.jsviews.com (switch to Handlebars)
* Handlebars
Created by Unicode Labs (Ivan Maslov)
Created by pyOpenRPA LLC (Ivan Maslov)

@ -1,9 +1,9 @@
r"""
The OpenRPA package (from UnicodeLabs)
The pyOpenRPA package
"""
__version__ = 'v1.2.12'
__version__ = 'v1.2.13'
__all__ = []
__author__ = 'Ivan Maslov <ivan.maslov@unicodelabs.ru>'
__author__ = 'Ivan Maslov <ivan.maslov@pyopenrpa.ru>'
#from .Core import Robot

@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: pyOpenRPA
Version: 1.2.12
Version: 1.2.13
Summary: First open source RPA platform for business
Home-page: https://pyopenrpa.ru/
Author: Ivan Maslov

@ -1,9 +1,9 @@
pyOpenRPA-1.2.12.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4
pyOpenRPA-1.2.12.dist-info/METADATA,sha256=AmdWISfrdsF9DvjBrn42JJUXBb-TLln5OFBWKxX0VaE,4111
pyOpenRPA-1.2.12.dist-info/RECORD,,
pyOpenRPA-1.2.12.dist-info/REQUESTED,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
pyOpenRPA-1.2.12.dist-info/WHEEL,sha256=qB97nP5e4MrOsXW5bIU5cUn_KSVr10EV0l-GCHG9qNs,97
pyOpenRPA-1.2.12.dist-info/top_level.txt,sha256=RPzwQXgYBRo_m5L3ZLs6Voh8aEkMeT29Xsul1w1qE0g,10
pyOpenRPA-1.2.13.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4
pyOpenRPA-1.2.13.dist-info/METADATA,sha256=HrNqM4-bPHXjqazFT4215H6pPafnYdCqattouxZIzVc,4111
pyOpenRPA-1.2.13.dist-info/RECORD,,
pyOpenRPA-1.2.13.dist-info/REQUESTED,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
pyOpenRPA-1.2.13.dist-info/WHEEL,sha256=qB97nP5e4MrOsXW5bIU5cUn_KSVr10EV0l-GCHG9qNs,97
pyOpenRPA-1.2.13.dist-info/top_level.txt,sha256=RPzwQXgYBRo_m5L3ZLs6Voh8aEkMeT29Xsul1w1qE0g,10
pyOpenRPA/.idea/inspectionProfiles/profiles_settings.xml,sha256=YXLFmX7rPNGcnKK1uX1uKYPN0fpgskYNe7t0BV7cqkY,174
pyOpenRPA/.idea/misc.xml,sha256=V-fQnOz-bYEZULgfbFgm-8mURphZrKfXMSd0wKjeEyA,188
pyOpenRPA/.idea/modules.xml,sha256=Q__U1JIA2cjxbLRXAv-SfYY00fZA0TNlpkkbY4s3ncg,277
@ -26,9 +26,9 @@ pyOpenRPA/LICENSE.pdf,sha256=HEqffy8FIWpylw0zF7k-Wgwd8ppWQT9s9EGBgKV-6G8,321175
pyOpenRPA/Orchestrator/BackwardCompatibility.py,sha256=ABr0RugbBsIGdL5GE_EFC9QndSaKjvrjawvluhUNuMY,37795
pyOpenRPA/Orchestrator/ControlPanel.py,sha256=OzS8HjG__8OZgqhajr8L8owyugXPuSLWHLtXuKdEP78,103
pyOpenRPA/Orchestrator/Core.py,sha256=OHa3mSC3_wRAizqrWBVjlR6ln4-xVVvBpOSnWl6qVvY,529
pyOpenRPA/Orchestrator/Managers/ControlPanel.py,sha256=BgtLjb6PR6kTlOjPLCg2YGP458LS9JOaYEfNurhS0nk,16544
pyOpenRPA/Orchestrator/Managers/ControlPanel.py,sha256=XpmN_LB--phNq4VpsbdWHJC6ybIt7jWBsl6HKfxHP1I,16550
pyOpenRPA/Orchestrator/Managers/Git.py,sha256=dgXx2UzSwiEev4ov2hBbb-5MhXVhFKWZo2lmr19QSCQ,12582
pyOpenRPA/Orchestrator/Managers/Process.py,sha256=7T_qofdkRJHdPQbaiEsTDOboImSf2N6d_Ku513rURkw,41369
pyOpenRPA/Orchestrator/Managers/Process.py,sha256=DYX1pBK4gaxcfmDj-1OaLNyk83D_R_7ztZyt0SHWoik,41377
pyOpenRPA/Orchestrator/Managers/__init__.py,sha256=4my0XiwmI_QLRQVhOzNvWTggCosF3tb2yRxGkehOCq0,71
pyOpenRPA/Orchestrator/Managers/__pycache__/ControlPanel.cpython-37.pyc,,
pyOpenRPA/Orchestrator/Managers/__pycache__/Git.cpython-37.pyc,,
@ -81,7 +81,7 @@ pyOpenRPA/Orchestrator/Web/Index.js,sha256=YACiZAvjr6NmFlDhQu6urkJp49BX7L8WJU9p-
pyOpenRPA/Orchestrator/Web/Index.xhtml,sha256=5JUAs5rEiU0XtHM9QO6EdNMBGt-W6QOVGY7xJ_HLPFM,19257
pyOpenRPA/Orchestrator/Web/__pycache__/Basic.cpython-37.pyc,,
pyOpenRPA/Orchestrator/Web/favicon.ico,sha256=6S8XwSQ_3FXPpaX6zYkf8uUewVXO9bHnrrDHEoWrEgw,112922
pyOpenRPA/Orchestrator/__Orchestrator__.py,sha256=Zud6HTAHSsfTJVrszML5EjGTqlA7k5qhthZTsSD1pX8,151055
pyOpenRPA/Orchestrator/__Orchestrator__.py,sha256=rlM-j8LK4BdcPfI8KNMOi1Rq-Ht8kCLs6WYsPBZgDTU,203081
pyOpenRPA/Orchestrator/__init__.py,sha256=nJhjYtBXKOUNX_yNu1rRFk5y9cDz6AFiL0M6KgX_utQ,207
pyOpenRPA/Orchestrator/__main__.py,sha256=czJrc7_57WiO3EPIYfPeF_LG3pZsQVmuAYgbl_YXcVU,273
pyOpenRPA/Orchestrator/__pycache__/BackwardCompatibility.cpython-37.pyc,,
@ -270,15 +270,15 @@ pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/themes/default/assets/fonts/outli
pyOpenRPA/Resources/Web/Semantic-UI-CSS-master/themes/default/assets/images/flags.png,sha256=lNXH8WYTAcSm3Ekdct1VmgYgzZF6gm8N8bAju5bqnd0,28123
pyOpenRPA/Resources/Web/jQuery/jquery-3.1.1.min.js,sha256=HPMOWdIdSuVgr3FD9ZE-_MgiK8qk_MdQjrgCtfqp6U4,86713
pyOpenRPA/Resources/Web/pyOpenRPA_logo.png,sha256=7rulXo_C57xJQEaYWmAkChxXb6xbDW2zq-werzVbDbc,4899
pyOpenRPA/Robot/Clipboard.py,sha256=q76X8L21zJwcwdoJJNPeCEwAV30xS6ylHP1WwvtxoWI,722
pyOpenRPA/Robot/Keyboard.py,sha256=k_5uNh7UWq5F4TKGbe4LpJwqWgUrftNieWm51HOgOBI,22
pyOpenRPA/Robot/Mouse.py,sha256=tBW9yteyEv9znJePOfbZcU3YqxX42wyu4Wc09fVaO0c,23
pyOpenRPA/Robot/Clipboard.py,sha256=ntvXqnJpgmTPnehrjfVibrM72-AYLrqOn-CI2xVOaDs,1577
pyOpenRPA/Robot/Keyboard.py,sha256=6Ah71EaETse2_nPiz8EPW_fZBlhpaZg5WZ6tWZ2wC9U,17898
pyOpenRPA/Robot/Mouse.py,sha256=Wvai_tpanqREj5jA4tFEl_-0L45cpk41cX5_Ex68mBg,16079
pyOpenRPA/Robot/OrchestratorConnector.py,sha256=JUtdiUXCruqUqBD19gJBl9jk_b-tpWWx_v3MfBoKzoQ,20445
pyOpenRPA/Robot/README.md,sha256=e2hKh7Tx6DAsX6jY_hBDhguL1L2Wiv6iugDB5otMzIA,2293
pyOpenRPA/Robot/README.md,sha256=bwiTAygxuMZzBlwpsndw2QgxA2smIjUyOPZnsnR341k,1623
pyOpenRPA/Robot/Screen.py,sha256=tBW9yteyEv9znJePOfbZcU3YqxX42wyu4Wc09fVaO0c,23
pyOpenRPA/Robot/SettingsTemplate.py,sha256=Rp5XPeV2I4tCS2uf4Zkqm_ERJ6pZMg4-e5_lMqGJYLk,1453
pyOpenRPA/Robot/Test.py,sha256=qXr990nXiFZX5SNv6QN9GLb_U4HZRmJnbZR2qSnwilY,2878
pyOpenRPA/Robot/UIDesktop.py,sha256=EllVup0umNNFqcQrrO6pffdoTBzc5Y-jEKrY0oO7joU,82938
pyOpenRPA/Robot/UIDesktop.py,sha256=y0lHHtn-Cd7I1rUQGgBYfZQpfcrGBAfMST9F5aPIxtM,124815
pyOpenRPA/Robot/UIWeb.py,sha256=NFH0brDKEmWWOJxMzO7404K5lJ4LaDn5XMnkoH13Y64,22
pyOpenRPA/Robot/Utils/JSONNormalize.py,sha256=aIuVzuZDazhxkCOzoOjfhHVz66mp2FWdfPv5E7KWF5Y,3890
pyOpenRPA/Robot/Utils/ProcessBitness.py,sha256=WlKL-DklGaoTnchtapOTM_ydxSB4yOeo9lcG3zr2VME,4524
@ -364,6 +364,6 @@ pyOpenRPA/Tools/__pycache__/License.cpython-37.pyc,,
pyOpenRPA/Tools/__pycache__/StopSafe.cpython-37.pyc,,
pyOpenRPA/Tools/__pycache__/Usage.cpython-37.pyc,,
pyOpenRPA/Tools/__pycache__/__init__.cpython-37.pyc,,
pyOpenRPA/__init__.py,sha256=fmC6rG7L4TIer8c0qUyp-Ypv2d7C2TBucEjIg7Wwip4,175
pyOpenRPA/__init__.py,sha256=Q9zi3T0F5hLslWv3SoO1EvZt17wEU5fq3JJ59uqdtg8,156
pyOpenRPA/__pycache__/__init__.cpython-37.pyc,,
pyOpenRPA/test.txt,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0

@ -39,6 +39,7 @@ class ControlPanel():
Jinja2DataUpdateDictSet
.. code-block:: html
Hello my control panel!
You can use any def from Orchestrator module here in Jinja2 HTML template:
Example: OrchestratorModule.OSCMD(inCMDStr="notepad")

@ -22,6 +22,7 @@ class Process():
- 5_STARTED_MANUAL
.. code-block:: python
# For the safe init class use ProcessInitSafe
lProcess = Orchestrator.Managers.ProcessInitSafe(inAgentHostNameStr="PCNAME",inAgentUserNameStr="USER",
inProcessNameWOExeStr="notepad",inStartCMDStr="notepad",inStopSafeTimeoutSecFloat=3)
@ -35,6 +36,7 @@ class Process():
How to use StopSafe on the robot side
.. code-block:: python
from pyOpenRPA.Tools import StopSafe
StopSafe.Init(inLogger=None)
StopSafe.IsSafeStop() # True - WM_CLOSE SIGNAL has come. taskkill /im someprocess.exe

@ -4,17 +4,42 @@ import win32clipboard
####################################
# GUI Module - interaction with Windows clipboard
################
###ClipboardGet
################
def Get():
"""
Получить текстовое содержимое буфера обмена.
.. code-block:: python
# Clipboard: Взаимодействие с буфером
from pyOpenRPA.Robot import Clipboard
lClipStr = Clipboard.Get()
:return: Текстовое содержимое буфера обмена
:rtype: str
"""
return ClipboardGet()
def Set(inTextStr:str):
"""
Установить текстовое содержимое в буфер обмена.
.. code-block:: python
# Clipboard: Взаимодействие с буфером
from pyOpenRPA.Robot import Clipboard
lClipStr = Clipboard.Set(inTextStr="HELLO WORLD")
:param inTextStr: Текстовое содержимое для установки в буфера обмена
:type inTextStr: str
"""
ClipboardSet(inText=inTextStr)
def ClipboardGet():
win32clipboard.OpenClipboard()
lResult = win32clipboard.GetClipboardData(win32clipboard.CF_UNICODETEXT)
win32clipboard.CloseClipboard()
return lResult
################
###ClipboardSet
################
def ClipboardSet(inText):
win32clipboard.OpenClipboard()
win32clipboard.EmptyClipboard()

@ -1 +1,344 @@
from keyboard import *
from keyboard import *
import time
# Настройки модуля Keyboard
WAIT_AFTER_SEC_FLOAT = 0.4 # Время, которое ожидать после выполнения любой операции модуля Keyboard. Настройка является единой для всех участов кода, использующих модуль Keyboard. Если для некоторой функции требуется изменить данное время ожидания, то в отношении этой функции можно применить соответсвующий аргумент.
# ШЕСТНАДЦАТИРИЧНЫЙ СКАН-КОД В РУССКОЙ РАСКЛАДКЕ (НЕЗАВИСИМО ОТ ВЫБРАННОГО ЯЗЫКА НА КЛАВИАТУРЕ)
# ОТОБРАЖЕНИЕ СКАН КОДОВ НА КЛАВИАТУРЕ https://snipp.ru/handbk/scan-codes
KEY_RUS_Ф = 0x1E #A
KEY_RUS_И = 0x30 #B
KEY_RUS_С = 0x2E #C
KEY_RUS_В = 0x20 #D
KEY_RUS_У = 0x12 #E
KEY_RUS_А = 0x21 #F
KEY_RUS_П = 0x22 #G
KEY_RUS_Р = 0x23 #H
KEY_RUS_Ш = 0x17 #I
KEY_RUS_О = 0x24 #J
KEY_RUS_Л = 0x25 #K
KEY_RUS_Д = 0x26 #L
KEY_RUS_Ь = 0x32 #M
KEY_RUS_Т = 0x31 #N
KEY_RUS_Щ = 0x18 #O
KEY_RUS_З = 0x19 #P
KEY_RUS_Й = 0x10 #Q
KEY_RUS_К = 0x13 #R
KEY_RUS_Ы = 0x1F #S
KEY_RUS_Е = 0x14 #T
KEY_RUS_Г = 0x16 #U
KEY_RUS_М = 0x2F #V
KEY_RUS_Ц = 0x11 #W
KEY_RUS_Ч = 0x2D #X
KEY_RUS_Н = 0x15 #Y
KEY_RUS_Я = 0x2C #Z
KEY_RUS_Ё = 0x29 #~
KEY_RUS_Ж = 0x27 #:
KEY_RUS_Б = 0x33 #<
KEY_RUS_Ю = 0x34 #>
KEY_RUS_Х = 0x1A #[
KEY_RUS_Ъ = 0x1B #]
KEY_RUS_Э = 0x28 #'
KEY_ENG_A = 0x1E #A
KEY_ENG_B = 0x30 #B
KEY_ENG_C = 0x2E #C
KEY_ENG_D = 0x20 #D
KEY_ENG_E = 0x12 #E
KEY_ENG_F = 0x21 #F
KEY_ENG_G = 0x22 #G
KEY_ENG_H = 0x23 #H
KEY_ENG_I = 0x17 #I
KEY_ENG_J = 0x24 #J
KEY_ENG_K = 0x25 #K
KEY_ENG_L = 0x26 #L
KEY_ENG_M = 0x32 #M
KEY_ENG_N = 0x31 #N
KEY_ENG_O = 0x18 #O
KEY_ENG_P = 0x19 #P
KEY_ENG_Q = 0x10 #Q
KEY_ENG_R = 0x13 #R
KEY_ENG_S = 0x1F #S
KEY_ENG_T = 0x14 #T
KEY_ENG_U = 0x16 #U
KEY_ENG_V = 0x2F #V
KEY_ENG_W = 0x11 #W
KEY_ENG_X = 0x2D #X
KEY_ENG_Y = 0x15 #Y
KEY_ENG_Z = 0x2C #Z
KEY_HOT_NUMPAD_0 = 0x52
KEY_HOT_NUMPAD_1 = 0x4F
KEY_HOT_NUMPAD_2 = 0x50
KEY_HOT_NUMPAD_3 = 0x51
KEY_HOT_NUMPAD_4 = 0x4B
KEY_HOT_NUMPAD_5 = 0x4C
KEY_HOT_NUMPAD_6 = 0x4D
KEY_HOT_NUMPAD_7 = 0x47
KEY_HOT_NUMPAD_8 = 0x48
KEY_HOT_NUMPAD_9 = 0x49
KEY_HOT_NUMPAD_ASTERISK = 0x37 #*
KEY_HOT_NUMPAD_PLUS = 0x4E
KEY_HOT_NUMPAD_MINUS = 0x4A
KEY_HOT_NUMPAD_DELETE = 0x53
KEY_HOT_NUMPAD_SOLIDUS = 0x35 #/
KEY_HOT_NUMPAD_ENTER = 0x11c
KEY_HOT_F1 = 0x3B
KEY_HOT_F2 = 0x3C
KEY_HOT_F3 = 0x3D
KEY_HOT_F4 = 0x3E
KEY_HOT_F5 = 0x3F
KEY_HOT_F6 = 0x40
KEY_HOT_F7 = 0x41
KEY_HOT_F8 = 0x42
KEY_HOT_F9 = 0x43
KEY_HOT_F10 = 0x44
KEY_HOT_F11 = 0x57
KEY_HOT_F12 = 0x58
KEY_HOT_F13 = 0x7C
KEY_HOT_F14 = 0x7D
KEY_HOT_F15 = 0x7E
KEY_HOT_F16 = 0x7F
KEY_HOT_F17 = 0x80
KEY_HOT_F18 = 0x81
KEY_HOT_F19 = 0x82
KEY_HOT_F20 = 0x83
KEY_HOT_F21 = 0x84
KEY_HOT_F22 = 0x85
KEY_HOT_F23 = 0x86
KEY_HOT_F24 = 0x87
KEY_HOT_TILDE = 0x29 #~
KEY_HOT_COLON = 0x27 #:
KEY_HOT_PLUS = 0x0D #+
KEY_HOT_MINUS = 0x0C #-
KEY_HOT_LESS_THAN = 0x33 #< ,
KEY_HOT_GREATER_THAN = 0x34 #> .
KEY_HOT_SOLIDUS = 0x35 #/ ?
KEY_HOT_SQUARE_BRACKET_LEFT = 0x1A #[
KEY_HOT_SQUARE_BRACKET_RIGHT = 0x1B #]
KEY_HOT_APOSTROPHE = 0x28 #' "
KEY_HOT_VERTICAL_LINE = 0x2B #| \
KEY_HOT_ESC = 0x1
KEY_HOT_BACKSPACE = 0x0E
KEY_HOT_TAB = 0x0F
KEY_HOT_ENTER = 0x1C
KEY_HOT_CONTEXT_MENU = 0x15D
KEY_HOT_SHIFT_LEFT = 0x2A
KEY_HOT_SHIFT_RIGHT = 0x36
KEY_HOT_CTRL_LEFT = 0x1D
KEY_HOT_CTRL_RIGHT = 0x11D
KEY_HOT_ALT_LEFT = 0x38
KEY_HOT_ALT_RIGHT = 0x138
KEY_HOT_WIN_LEFT = 57435 #OLD AND DONT WORK 0x5B
KEY_HOT_WIN_RIGHT = 57436 #OLD AND DONT WORK 0x5C
KEY_HOT_CAPS_LOCK = 0x3A
KEY_HOT_NUM_LOCK = 0x45
KEY_HOT_SCROLL_LOCK = 0x46
KEY_HOT_END = 0x4F
KEY_HOT_HOME = 0x47
KEY_HOT_SPACE = 0x39
KEY_HOT_PAGE_UP = 0x49
KEY_HOT_PAGE_DOWN = 0x51
KEY_HOT_CLEAR = 0x4C
KEY_HOT_LEFT = 0x4B
KEY_HOT_UP = 0x48
KEY_HOT_RIGHT = 0x4D
KEY_HOT_DOWN = 0x50
KEY_HOT_PRINT_SCREEN = 0x137
KEY_HOT_INSERT = 0x52
KEY_HOT_DELETE = 0x53
KEY_HOT_0 = 0xB
KEY_HOT_1 = 0x2
KEY_HOT_2 = 0x3
KEY_HOT_3 = 0x4
KEY_HOT_4 = 0x5
KEY_HOT_5 = 0x6
KEY_HOT_6 = 0x7
KEY_HOT_7 = 0x8
KEY_HOT_8 = 0x9
KEY_HOT_9 = 0xA
def Write(inTextStr:str, inDelayFloat:float=0, inRestoreStateAfterBool:bool=True, inExactBool:bool=None, inWaitAfterSecFloat:float=WAIT_AFTER_SEC_FLOAT):
"""
Печатает текст, который был передан в переменной inTextStr (поддерживает передачу в одной строке символов разного языка). Не зависит от текущей раскладки клавиатуры! Посылает искусственные клавишные события в ОС, моделируя печать данного текста. Знаки, не доступные на клавиатуре, напечатаны как явный unicode знаки, использующие определенную для ОС функциональность, такие как alt+codepoint.
Чтобы гарантировать текстовую целостность, все в настоящее время нажатые ключи выпущены прежде текст напечатан, и модификаторы восстановлены впоследствии.
ВНИМАНИЕ! ПЕЧАТАЕТ ЛЮБУЮ СТРОКУ, ДАЖЕ В СОЧЕТАНИИ НЕСКОЛЬКИХ ЯЗЫКОВ ОДНОВРЕМЕННО. ДЛЯ РАБОТЫ С ГОРЯЧИМИ КЛАВИШАМИ ИСПОЛЬЗУЙ ФУНКЦИЮ Send, Up, Down, HotkeyCombination
.. code-block:: python
# Keyboard: Взаимодействие с клавиатурой
from pyOpenRPA.Robot import Keyboard
Keyboard.Write("Привет мой милый мир! Hello my dear world!")
:param inTextStr: Текст, отправляемый на печать. Не зависит от текущей раскладки клавиатуры!
:type inTextStr: str
:param inDelayFloat: Число секунд, которое ожидать между нажатиями. По умолчанию 0
:type inDelayFloat: float, опциональный
:param inRestoreStateAfterBool: Может использоваться, чтобы восстановить регистр нажатых ключей после того, как текст напечатан, т.е. нажимает ключи, которые были выпущены в начало.
:type inRestoreStateAfterBool: bool, опциональный
:param inExactBool: Печатает все знаки как явный unicode. Необязательный параметр
:type inExactBool: bool, опциональный
:param inWaitAfterSecFloat: Количество секунд, которые ожидать после выполнения операции. По умолчанию установлено в настройках модуля Keyboard (базовое значение 0.4)
:type inWaitAfterSecFloat: float, опциональный
"""
write(text=inTextStr, delay=inDelayFloat, restore_state_after=inRestoreStateAfterBool, exact=inExactBool)
time.sleep(inWaitAfterSecFloat)
def HotkeyCombination(*inKeyList, inDelaySecFloat = 0.3,inWaitAfterSecFloat:float=WAIT_AFTER_SEC_FLOAT):
"""Получает перечень клавиш для одновременного нажатия. Между нажатиями программа ожидания время inDelaySecFloat
ВНИМАНИЕ! НЕ ЗАВИСИТ ОТ ТЕКУЩЕЙ РАСКЛАДКИ КЛАВИАТУРЫ
.. code-block:: python
# Keyboard: Взаимодействие с клавиатурой
from pyOpenRPA.Robot import Keyboard
Keyboard.HotkeyCombination(Keyboard.KEY_HOT_CTRL_LEFT,Keyboard.KEY_ENG_A) # Ctrl + a
Keyboard.HotkeyCombination(Keyboard.KEY_HOT_CTRL_LEFT,Keyboard.KEY_ENG_C) # Ctrl + c
Keyboard.HotkeyCombination(Keyboard.KEY_HOT_CTRL_LEFT,Keyboard.KEY_ENG_A)
Keyboard.HotkeyCombination(Keyboard.KEY_HOT_ALT_LEFT,Keyboard.KEY_HOT_TAB, Keyboard.KEY_HOT_TAB)
:param inKeyList: Список клавиш для одновременного нажатия. Перечень клавиш см. в разделе "Коды клавиш". Пример: KEY_HOT_CTRL_LEFT,KEY_ENG_A
:param inDelaySecFloat: Интервал между нажатиями. Необходим в связи с тем, что операционной системе требуется время на реакцию на нажатие клавиш, по умолчанию: 0.3
:type inDelaySecFloat: float, опциональный
:param inWaitAfterSecFloat: Количество секунд, которые ожидать после выполнения операции. По умолчанию установлено в настройках модуля Keyboard (базовое значение 0.4)
:type inWaitAfterSecFloat: float, опциональный
"""
for l_key_item in inKeyList:
if l_key_item == inKeyList[-1]:
send(l_key_item)
else:
press(l_key_item)
time.sleep(inDelaySecFloat)
lRevKeyList = list(reversed(inKeyList))
for l_key_item in lRevKeyList:
if l_key_item == lRevKeyList[0]:
pass
else:
release(l_key_item)
time.sleep(inDelaySecFloat)
time.sleep(inWaitAfterSecFloat)
def HotkeyCtrlA_CtrlC(inWaitAfterSecFloat:float=0.4) -> None:
"""Выполнить выделение текста, после чего скопировать его в буфер обмена
ВНИМАНИЕ! НЕ ЗАВИСИТ ОТ ТЕКУЩЕЙ РАСКЛАДКИ КЛАВИАТУРЫ
.. code-block:: python
# Keyboard: Взаимодействие с клавиатурой
from pyOpenRPA.Robot import Keyboard
Keyboard.HotkeyCtrlA_CtrlC() # Отправить команды: выделить все, скопировать в буфер обмена
:param inWaitAfterSecFloat: Количество секунд, которые ожидать после выполнения операции. По умолчанию установлено в настройках модуля Keyboard (базовое значение 0.4)
:type inWaitAfterSecFloat: float, опциональный
"""
HotkeyCombination(KEY_HOT_CTRL_LEFT,KEY_ENG_A) # Ctrl + a
HotkeyCombination(KEY_HOT_CTRL_LEFT,KEY_ENG_C) # Ctrl + c
time.sleep(inWaitAfterSecFloat)
def Send(inKeyInt:int, inDoPressBool:bool=True, inDoReleaseBool:bool=True,inWaitAfterSecFloat:float=WAIT_AFTER_SEC_FLOAT) -> None:
"""
Имитация нажатия/отпускания любой физической клавиши. Посылает событие в операционную систему, которые выполняет нажатие и отпускание данной клавиши
ВНИМАНИЕ! ПРИ ПОПЫТКЕ ПЕЧАТИ ТЕКСТА БУДЕТ УЧИТЫВАТЬ ТЕКУЩУЮ РАСКЛАДКУ КЛАВИАТУРЫ. ДЛЯ ПЕЧАТИ ТЕКСТА ИСПОЛЬЗУЙ Write!
.. code-block:: python
# Keyboard: Взаимодействие с клавиатурой
from pyOpenRPA.Robot import Keyboard
Keyboard.Send(Keyboard.KEY_ENG_A) # Нажать клавишу A. Если будет активна русская раскладка, то будет выведена буква ф.
:param inKeyInt: Перечень клавиш см. в разделе "Коды клавиш". Пример: KEY_HOT_CTRL_LEFT,KEY_ENG_A
:type inKeyInt: int
:param inDoPressBool: Выполнить событие нажатия клавиши, По умолчанию True
:type inDoPressBool: bool, опциональный
:param inDoReleaseBool: Выполнить событие отпускания клавиши, По умолчанию True
:type inDoReleaseBool: bool, опциональный
:param inWaitAfterSecFloat: Количество секунд, которые ожидать после выполнения операции. По умолчанию установлено в настройках модуля Keyboard (базовое значение 0.4)
:type inWaitAfterSecFloat: float, опциональный
"""
send(hotkey=inKeyInt, do_press=inDoPressBool, do_release=inDoReleaseBool)
time.sleep(inWaitAfterSecFloat)
def Up(inKeyInt:int, inWaitAfterSecFloat:float=WAIT_AFTER_SEC_FLOAT) -> None:
"""
Отпустить (поднять) клавишу. Если клавиша уже была поднята, то ничего не произойдет.
ВНИМАНИЕ! ПРИ ПОПЫТКЕ ПЕЧАТИ ТЕКСТА БУДЕТ УЧИТЫВАТЬ ТЕКУЩУЮ РАСКЛАДКУ КЛАВИАТУРЫ. ДЛЯ ПЕЧАТИ ТЕКСТА ИСПОЛЬЗУЙ Write!
.. code-block:: python
# Keyboard: Взаимодействие с клавиатурой
from pyOpenRPA.Robot import Keyboard
Keyboard.Up(Keyboard.KEY_ENG_A) # Отпустить клавишу A.
:param inKeyInt: Перечень клавиш см. в разделе "Коды клавиш". Пример: KEY_HOT_CTRL_LEFT, KEY_ENG_A
:type inKeyInt: int
:param inWaitAfterSecFloat: Количество секунд, которые ожидать после выполнения операции. По умолчанию установлено в настройках модуля Keyboard (базовое значение 0.4)
:type inWaitAfterSecFloat: float, опциональный
"""
send(hotkey=inKeyInt, do_press=False, do_release=True)
time.sleep(inWaitAfterSecFloat)
def Down(inKeyInt:int, inWaitAfterSecFloat:float=WAIT_AFTER_SEC_FLOAT) -> None:
"""
Нажать (опустить) клавишу. Если клавиша уже была опущена, то ничего не произойдет.
ВНИМАНИЕ! ПРИ ПОПЫТКЕ ПЕЧАТИ ТЕКСТА БУДЕТ УЧИТЫВАТЬ ТЕКУЩУЮ РАСКЛАДКУ КЛАВИАТУРЫ. ДЛЯ ПЕЧАТИ ТЕКСТА ИСПОЛЬЗУЙ Write!
.. code-block:: python
# Keyboard: Взаимодействие с клавиатурой
from pyOpenRPA.Robot import Keyboard
Keyboard.Down(Keyboard.KEY_ENG_A) # Отпустить клавишу A.
:param inKeyInt: Перечень клавиш см. в разделе "Коды клавиш". Пример: KEY_HOT_CTRL_LEFT, KEY_ENG_A
:type inKeyInt: int
:param inWaitAfterSecFloat: Количество секунд, которые ожидать после выполнения операции. По умолчанию установлено в настройках модуля Keyboard (базовое значение 0.4)
:type inWaitAfterSecFloat: float, опциональный
"""
send(hotkey=inKeyInt, do_press=True, do_release=False)
time.sleep(inWaitAfterSecFloat)
def IsDown(inKeyInt:int) -> bool:
"""
Проверить, опущена ли клавиша. Вернет True если опущена; False если поднята.
ВНИМАНИЕ! ПРИ ПОПЫТКЕ ПЕЧАТИ ТЕКСТА БУДЕТ УЧИТЫВАТЬ ТЕКУЩУЮ РАСКЛАДКУ КЛАВИАТУРЫ. ДЛЯ ПЕЧАТИ ТЕКСТА ИСПОЛЬЗУЙ Write!
.. code-block:: python
# Keyboard: Взаимодействие с клавиатурой
from pyOpenRPA.Robot import Keyboard
lKeyAIsPressedBool = Keyboard.IsDown(Keyboard.KEY_ENG_A) # Проверить, опущена ли клавиша A.
:param inKeyInt: Перечень клавиш см. в разделе "Коды клавиш". Пример: KEY_HOT_CTRL_LEFT, KEY_ENG_A
:type inKeyInt: int
"""
return is_pressed(inKeyInt)
def Wait(inKeyInt:int,inWaitAfterSecFloat:float=WAIT_AFTER_SEC_FLOAT):
"""Блокирует осуществление программы, пока данная обозначенная клавиша не будет нажата.
ВНИМАНИЕ! НЕ ЗАВИСИТ ОТ ТЕКУЩЕЙ РАСКЛАДКИ КЛАВИАТУРЫ. ОЖИДАЕТ НАЖАТИЕ СООТВЕТСВУЮЩЕЙ ФИЗИЧЕСКОЙ КЛАВИШИ
.. code-block:: python
# Keyboard: Взаимодействие с клавиатурой
from pyOpenRPA.Robot import Keyboard
Keyboard.Wait(Keyboard.KEY_ENG_A) # Ждать нажатие клавиши A.
:param inKeyInt: Перечень клавиш см. в разделе "Коды клавиш". Пример: KEY_HOT_CTRL_LEFT,KEY_ENG_A
:type inKeyInt: int
:param inWaitAfterSecFloat: Количество секунд, которые ожидать после выполнения операции. По умолчанию установлено в настройках модуля Keyboard (базовое значение 0.4)
:type inWaitAfterSecFloat: float, опциональный
"""
wait(hotkey=inKeyInt)
time.sleep(inWaitAfterSecFloat)
key_to_scan_codes("win") # 2022 06 10 Люблю смотреть скан код клавиши Виндовс :)

@ -1 +1,173 @@
from pyautogui import *
from pyautogui import *
import time
WAIT_AFTER_SEC_FLOAT = 0.4 # Настройка модуля Mouse: Время, которое ожидать после выполнения любой операции модуля Mouse. Настройка является единой для всех участов кода, использующих модуль Mouse. Если для некоторой функции требуется изменить данное время ожидания, то в отношении этой функции можно применить соответсвующий аргумент.
def Click(inXInt:int=None, inYInt:int=None, inClickCountInt:int=1, inIntervalSecFloat:float=0.0, inButtonStr:str='left', inMoveDurationSecFloat:float=0.0, inWaitAfterSecFloat:float=WAIT_AFTER_SEC_FLOAT):
"""Нажатие (вниз) кнопки мыши и затем немедленно выпуск (вверх) её. Допускается следующая параметризация. Если не указаны inXInt и inYInt - клик производится по месту нахождения указателя мыши.
!ВНИМАНИЕ! Отсчет координат inXInt, inYInt начинается с левого верхнего края рабочей области (экрана).
.. code-block:: python
# Mouse: Взаимодействие с мышью
from pyOpenRPA.Robot import Mouse
Mouse.Click(100,150) #Выполнить нажатие левой клавиши мыши на экране по координатам: X(гор) 100px, Y(вер) 150px.
:param inXInt: Целевая позиция указателя мыши по оси X (горизонтальная ось).
:type inXInt: int, опциональный
:param inYInt: Целевая позиция указателя мыши по оси Y (вертикальная ось).
:type inYInt: int, опциональный
:param inClickCountInt: Количество нажатий (вниз и вверх) кнопкой мыши, По умолчанию 1
:type inClickCountInt: int, опциональный
:param inIntervalSecFloat: Интервал ожидания в секундах между нажатиями, По умолчанию 0.0
:type inIntervalSecFloat: float, опциональный
:param inButtonStr: Номер кнопки, которую требуется нажать. Возможные варианты: 'left', 'middle', 'right' или 1, 2, 3. В остальных случаях инициирует исключение ValueError. По умолчанию 'left'
:type inButtonStr: str, опциональный
:param inMoveDurationSecFloat: Время перемещения указателя мыши, По умолчанию 0.0 (моментальное перемещение)
:type inMoveDurationSecFloat: float, опциональный
:param inWaitAfterSecFloat: Количество секунд, которые ожидать после выполнения операции. По умолчанию установлено в настройках модуля Mouse (базовое значение 0.4)
:type inWaitAfterSecFloat: float, опциональный
"""
click(x=inXInt, y=inYInt, clicks=inClickCountInt, interval=inIntervalSecFloat, button=inButtonStr, duration=inMoveDurationSecFloat)
time.sleep(inWaitAfterSecFloat)
def ClickDouble(inXInt:int=None, inYInt:int=None, inWaitAfterSecFloat:float=WAIT_AFTER_SEC_FLOAT):
"""Двойное нажатие левой клавиши мыши. Данное действие аналогично вызову функции (см. ниже).
!ВНИМАНИЕ! Отсчет координат inXInt, inYInt начинается с левого верхнего края рабочей области (экрана).
.. code-block:: python
# Mouse: Взаимодействие с мышью
from pyOpenRPA.Robot import Mouse
Mouse.ClickDouble(100,150) #Выполнить двойное нажатие левой клавиши мыши на экране по координатам: X(гор) 100px, Y(вер) 150px.
:param inXInt: Целевая позиция указателя мыши по оси X (горизонтальная ось).
:type inXInt: int, опциональный
:param inYInt: Целевая позиция указателя мыши по оси Y (вертикальная ось).
:type inYInt: int, опциональный
:param inButtonStr: Номер кнопки, которую требуется нажать. Возможные варианты: 'left', 'middle', 'right' или 1, 2, 3. В остальных случаях инициирует исключение ValueError. По умолчанию 'left'
:type inButtonStr: str, опциональный
:param inWaitAfterSecFloat: Количество секунд, которые ожидать после выполнения операции. По умолчанию установлено в настройках модуля Mouse (базовое значение 0.4)
:type inWaitAfterSecFloat: float, опциональный
"""
doubleClick(x=inXInt, y=inYInt)
time.sleep(inWaitAfterSecFloat)
def Down(inXInt:int=None, inYInt:int=None, inButtonStr:str='left', inWaitAfterSecFloat:float=WAIT_AFTER_SEC_FLOAT):
"""Переместить указатель по координатам inXInt, inYInt, после чего нажать (вниз) клавишу мыши и не отпускать до выполнения соответсвующей команды (см. Up). Если координаты inXInt, inYInt не переданы - нажатие происходит на тех координатах X/Y, на которых указатель мыши находится.
!ВНИМАНИЕ! Отсчет координат inXInt, inYInt начинается с левого верхнего края рабочей области (экрана).
.. code-block:: python
# Mouse: Взаимодействие с мышью
from pyOpenRPA.Robot import Mouse
Mouse.Down() #Опустить левую клавишу мыши
:param inXInt: Целевая позиция указателя мыши по оси X (горизонтальная ось).
:type inXInt: int, опциональный
:param inYInt: Целевая позиция указателя мыши по оси Y (вертикальная ось).
:type inYInt: int, опциональный
:param inButtonStr: Номер кнопки, которую требуется нажать. Возможные варианты: 'left', 'middle', 'right' или 1, 2, 3. В остальных случаях инициирует исключение ValueError. По умолчанию 'left'
:type inButtonStr: str, опциональный
:param inWaitAfterSecFloat: Количество секунд, которые ожидать после выполнения операции. По умолчанию установлено в настройках модуля Mouse (базовое значение 0.4)
:type inWaitAfterSecFloat: float, опциональный
"""
mouseDown(x=inXInt, y=inYInt, button = inButtonStr)
time.sleep(inWaitAfterSecFloat)
def Up(inXInt:int=None, inYInt:int=None, inButtonStr:str='left', inWaitAfterSecFloat:float=WAIT_AFTER_SEC_FLOAT):
"""Отпустить (вверх) клавишу мыши. Если координаты inXInt, inYInt не переданы - нажатие происходит на тех координатах X/Y, на которых указатель мыши находится.
!ВНИМАНИЕ! Отсчет координат inXInt, inYInt начинается с левого верхнего края рабочей области.
.. code-block:: python
# Mouse: Взаимодействие с мышью
from pyOpenRPA.Robot import Mouse
Mouse.Up(inButtonStr:str='right') #Поднять правую клавишу мыши
:param inXInt: Целевая позиция указателя мыши по оси X (горизонтальная ось).
:type inXInt: int, опциональный
:param inYInt: Целевая позиция указателя мыши по оси Y (вертикальная ось).
:type inYInt: int, опциональный
:param inButtonStr: Номер кнопки, которую требуется поднять. Возможные варианты: 'left', 'middle', 'right' или 1, 2, 3. В остальных случаях инициирует исключение ValueError. По умолчанию 'left'
:type inButtonStr: str, опциональный
:param inWaitAfterSecFloat: Количество секунд, которые ожидать после выполнения операции. По умолчанию установлено в настройках модуля Mouse (базовое значение 0.4)
:type inWaitAfterSecFloat: float, опциональный
"""
mouseUp(x=inXInt, y=inYInt, button = inButtonStr)
time.sleep(inWaitAfterSecFloat)
def MoveTo(inXInt=None, inYInt=None, inMoveDurationSecFloat:float=0.0, inWaitAfterSecFloat:float=WAIT_AFTER_SEC_FLOAT):
"""Переместить указатель мыши на позицию inXInt, inYInt за время inMoveDurationSecFloat.
!ВНИМАНИЕ! Отсчет координат inXInt, inYInt начинается с левого верхнего края рабочей области (экрана).
.. code-block:: python
# Mouse: Взаимодействие с мышью
from pyOpenRPA.Robot import Mouse
Mouse.MoveTo(inXInt=100, inYInt=200) #Переместить указатель мыши по координатам: X(гор) 100, Y(вер) 200
:param inXInt: Целевая позиция указателя мыши по оси X (горизонтальная ось).
:type inXInt: int, опциональный
:param inYInt: Целевая позиция указателя мыши по оси Y (вертикальная ось).
:type inYInt: int, опциональный
:param inMoveDurationSecFloat: Время перемещения указателя мыши, По умолчанию 0.0 (моментальное перемещение)
:type inMoveDurationSecFloat: float, опциональный
:param inWaitAfterSecFloat: Количество секунд, которые ожидать после выполнения операции. По умолчанию установлено в настройках модуля Mouse (базовое значение 0.4)
:type inWaitAfterSecFloat: float, опциональный
"""
moveTo(x=inXInt, y=inYInt, duration=inMoveDurationSecFloat)
time.sleep(inWaitAfterSecFloat)
def ScrollVertical(inScrollClickCountInt, inXInt=None, inYInt=None, inWaitAfterSecFloat:float=WAIT_AFTER_SEC_FLOAT):
"""Переместить указатель мыши на позицию inXInt, inYInt и выполнить вертикальную прокрутку (скроллинг) колесом мыши на количество щелчков inScrollClickCountInt.
!ВНИМАНИЕ! Отсчет координат inXInt, inYInt начинается с левого верхнего края рабочей области (экрана).
.. code-block:: python
# Mouse: Взаимодействие с мышью
from pyOpenRPA.Robot import Mouse
Mouse.ScrollVertical(100, inXInt=100, inYInt=200) #Крутить колесо мыши вниз на 100 кликов по координатам: X(гор) 100, Y(вер) 200
Mouse.ScrollVertical(-100) #Крутить колесо мыши вверх на 100 кликов по текущим координатам указателя мыши.
:param inScrollClickCountInt: Количество щелчок колеса мыши, которое требуется !вертикально! прокрутить. Аргумент может принимать как положительное (прокрутка вниз), так и отрицательное (прокрутка вверх) значения
:type inScrollClickCountInt: int, обязательный
:param inXInt: Целевая позиция указателя мыши по оси X (горизонтальная ось).
:type inXInt: int, опциональный
:param inYInt: Целевая позиция указателя мыши по оси Y (вертикальная ось).
:type inYInt: int, опциональный
:param inWaitAfterSecFloat: Количество секунд, которые ожидать после выполнения операции. По умолчанию установлено в настройках модуля Mouse (базовое значение 0.4)
:type inWaitAfterSecFloat: float, опциональный
"""
vscroll(inScrollClickCountInt, x=inXInt, y=inYInt)
time.sleep(inWaitAfterSecFloat)
def ScrollHorizontal(inScrollClickCountInt, inXInt=None, inYInt=None, inWaitAfterSecFloat:float=WAIT_AFTER_SEC_FLOAT):
"""!ТОЛЬКО ДЛЯ LINUX! Переместить указатель мыши на позицию inXInt, inYInt и выполнить горизонтальную прокрутку (скроллинг) виртуальным колесом мыши на количество щелчков inScrollClickCountInt.
!ВНИМАНИЕ! Отсчет координат inXInt, inYInt начинается с левого верхнего края рабочей области (экрана).
.. code-block:: python
# Mouse: Взаимодействие с мышью
from pyOpenRPA.Robot import Mouse
Mouse.ScrollHorizontal(100, inXInt=100, inYInt=200) #Крутить колесо мыши вниз на 100 кликов по координатам: X(гор) 100, Y(вер) 200
Mouse.ScrollHorizontal(-100) #Крутить колесо мыши вверх на 100 кликов по текущим координатам указателя мыши.
:param inScrollClickCountInt: Количество щелчок колеса мыши, которое требуется !горизонтально! прокрутить. Аргумент может принимать как положительное (прокрутка вправо), так и отрицательное (прокрутка влево) значения
:type inScrollClickCountInt: int, обязательный
:param inXInt: Целевая позиция указателя мыши по оси X (горизонтальная ось).
:type inXInt: int, опциональный
:param inYInt: Целевая позиция указателя мыши по оси Y (вертикальная ось).
:type inYInt: int, опциональный
:param inWaitAfterSecFloat: Количество секунд, которые ожидать после выполнения операции. По умолчанию установлено в настройках модуля Mouse (базовое значение 0.4)
:type inWaitAfterSecFloat: float, опциональный
"""
hscroll(inScrollClickCountInt, x=inXInt, y=inYInt)
time.sleep(inWaitAfterSecFloat)

@ -43,16 +43,5 @@ Resources\WPy64-3720\python-3.7.2.amd64\python.exe
]
# Open RPA Wiki
- [Home](https://gitlab.com/UnicodeLabs/OpenRPA/wikis/home)
- [04. Desktop app access (win32 & ui automation)](https://gitlab.com/UnicodeLabs/OpenRPA/wikis/04.-Desktop-app-access-(win32-&-ui-automation))
#Dependencies
* Python 3 x32 [psutil, pywinauto, wmi, PIL, keyboard, pyautogui, win32api (pywin32), selenium, openCV, tesseract, requests, lxml, PyMuPDF]
* Python 3 x64 [psutil, pywinauto, wmi, PIL, keyboard, pyautogui, win32api (pywin32), selenium, openCV, tesseract, requests, lxml, PyMuPDF]
* pywinauto (Windows GUI automation)
* Semantic UI CSS framework
* JsRender by https://www.jsviews.com (switch to Handlebars)
* Handlebars
Created by Unicode Labs (Ivan Maslov)
Created by pyOpenRPA LLC (Ivan Maslov)

@ -1,9 +1,9 @@
r"""
The OpenRPA package (from UnicodeLabs)
The pyOpenRPA package
"""
__version__ = 'v1.2.12'
__version__ = 'v1.2.13'
__all__ = []
__author__ = 'Ivan Maslov <ivan.maslov@unicodelabs.ru>'
__author__ = 'Ivan Maslov <ivan.maslov@pyopenrpa.ru>'
#from .Core import Robot

@ -2,25 +2,37 @@
1. Первый запуск
####################################
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/
- Распаковать пакет куда угодно!
**ВСЁ - Развертывание pyOpenRPA завершено! :)**
**************************************************
How to check installation
Проверить, что pyOpenRPA развернута корректно?
**************************************************
- Run portable python (built in the pyOpenRPA)
В папке pyOpenRPA запустить интерпретатор Python
- x32 python (GIT\\Resources\\WPy32-3720\\python-3.7.2\\python.exe)
- x64 python (GIT\\Resources\\WPy64-3720\\python-3.7.2.amd64\\python.exe)
- x32 Python (GIT\\Resources\\WPy32-3720\\python-3.7.2\\python.exe)
- x64 Python (GIT\\Resources\\WPy64-3720\\python-3.7.2.amd64\\python.exe)
**The pyOpenRPA has been successfully installed if the portable python 3.7.2 was started without any exceptions (see screenshot).**
**Платформа pyOpenRPA успешно развернута корректно. если интерпретаторы python 3.7.2 были запущены без проблем (см. скриншот).**
.. image:: /img/cb5dec8cecafa7d64f6cd14b2672acce.png
:alt: cb5dec8cecafa7d64f6cd14b2672acce.png
:alt: cb5dec8cecafa7d64f6cd14b2672acce.png
******************************
Быстрая навигация
******************************
- `Сообщество pyOpenRPA (telegram) <https://t.me/pyOpenRPA>`_
- `Сообщество pyOpenRPA (tenchat) <https://tenchat.ru/iMaslov?utm_source=19f2a84f-3268-437f-950c-d987ae42af24>`_
- `Сообщество pyOpenRPA (вконтакте) <https://vk.com/pyopenrpa>`_
- `Презентация pyOpenRPA <https://pyopenrpa.ru/Index/pyOpenRPA_product_service.pdf>`_
- `Портал pyOpenRPA <https://pyopenrpa.ru>`_
- `Репозиторий pyOpenRPA <https://gitlab.com/UnicodeLabs/OpenRPA>`_

@ -80,4 +80,15 @@ pyOpenRPA - роботы Вам помогут!
- Handlebars, v4.1.2, лицензия MIT, https://github.com/handlebars-lang/handlebars.js/blob/master/LICENSE
- jinja2, v2.11.2, лицензия BSD 3-Clause, https://github.com/pallets/jinja/blob/main/LICENSE.rst
- JupiterNotebook v6.1.4, лицензия BSD 3-Clause, https://github.com/jupyter/notebook/blob/main/LICENSE
- schedule, v1.1.0, лицензия MIT, https://github.com/dbader/schedule/blob/master/LICENSE.txt
- schedule, v1.1.0, лицензия MIT, https://github.com/dbader/schedule/blob/master/LICENSE.txt
******************************
Быстрая навигация
******************************
- `Сообщество pyOpenRPA (telegram) <https://t.me/pyOpenRPA>`_
- `Сообщество pyOpenRPA (tenchat) <https://tenchat.ru/iMaslov?utm_source=19f2a84f-3268-437f-950c-d987ae42af24>`_
- `Сообщество pyOpenRPA (вконтакте) <https://vk.com/pyopenrpa>`_
- `Презентация pyOpenRPA <https://pyopenrpa.ru/Index/pyOpenRPA_product_service.pdf>`_
- `Портал pyOpenRPA <https://pyopenrpa.ru>`_
- `Репозиторий pyOpenRPA <https://gitlab.com/UnicodeLabs/OpenRPA>`_

@ -1,5 +1,5 @@
####################################
2. Defs
2. Функции
####################################
**************************************************
@ -11,13 +11,3 @@ pyOpenRPA.Agent.__Agent__
.. automodule:: pyOpenRPA.Agent.__Agent__
:members:
:autosummary:
**********
References
**********
`reStructuredText`_
.. target-notes::
.. _`reStructuredText`: http://docutils.sourceforge.net/rst.html

@ -1,83 +1,75 @@
.. _module.orchestrator.dscription:
####################################
1. Description
1. Описание
####################################
pyOpenRPA Orchestrator is the executable process.
************************************
Общее
************************************
The features of the orchestrator is:
Модуль оркестратор - это координирующее звено, которое обеспечивает бесперебойную работа массива роботов. Этот массив может состоять как из одного так и из тысячи роботов 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,
- Запуск / пауза / безопасная остановка / принудительная остановка робота
- Интеллектуальное расписание
- Просмотр состояния графических сессий роботов через панель управления
- Удаленное администрирование сессий оркестратора и робота
- Среда отладки функциональности через панель управления оркестратора
- Консолидированное хранилище логов, доступное для просмотра через панель управления
- Ролевая модель разграничения доступа
- Функциональность очередей для координации роботов
Because of module compexity, we use 1 init arg - inGSettings
inGSettings is a complex dictionary which has all reqired parameters for the module execution.
************************************************************************
Концепция единого глобального словаря настроек (GSettings)
************************************************************************
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"])
"ArgList":[1,2,3], # Args list
"ArgDict":{"ttt":1,"222":2,"dsd":3}, # Args dictionary
"ArgGSettings": None # Name of GSettings attribute: str (ArgDict) or index (for ArgList)
"ArgLogger": None # Name of GSettings attribute: str (ArgDict) or index (for ArgList)
}# Pay attention! Do not left comma symbol after the end of the dict - it can be interpretated like a turple..
- `Сообщество pyOpenRPA (telegram) <https://t.me/pyOpenRPA>`_
- `Сообщество pyOpenRPA (tenchat) <https://tenchat.ru/iMaslov?utm_source=19f2a84f-3268-437f-950c-d987ae42af24>`_
- `Сообщество pyOpenRPA (вконтакте) <https://vk.com/pyopenrpa>`_
- `Презентация pyOpenRPA <https://pyopenrpa.ru/Index/pyOpenRPA_product_service.pdf>`_
- `Портал pyOpenRPA <https://pyopenrpa.ru>`_
- `Репозиторий pyOpenRPA <https://gitlab.com/UnicodeLabs/OpenRPA>`_

@ -1,20 +1,26 @@
.. _module.orchestrator.defs:
####################################
2. Функции
####################################
**************************************************
Общее
**************************************************
Раздел содержит всю необходимую информацию о функциях pyOpenRPA.Orchestrator
При необходимости вы всегда можете обратиться в центр поддержки клиентов pyOpenRPA. Контакты: :ref:`3.-Copyrights-&-Contacts`
**************************************************
Что такое активность (ActivityItem)
Что такое активность (ActivityItem)?
**************************************************
Архитектура pyOpenRPA позволяет обмениваться сообщениями о выполнении функций через механизм активностей (ActivityItem).
На стороне Агента и Оркестратора реализована процессорная очередь, которая последовательно выполняет поставленные активности. Результат этих активностей сообщается инициатору (см. функции группы Agent... в Оркестраторе)
**************************************************
pyOpenRPA.Orchestrator.__Orchestrator__
Функции
**************************************************
.. code-block:: python
@ -29,50 +35,50 @@ pyOpenRPA.Orchestrator.__Orchestrator__
Группа функций Agent...
######################
**Группа функций Agent...**
Взаимодействие между Оркестратором и Агентом, который развертнут на других графических сессиях, где будет происходить запуск робота.
Группа функций GSettings...
######################
**Группа функций GSettings...**
Вспомогательные функции для работы с глобальным словарем настроек Оркестратора
Группа функций Storage...
######################
**Группа функций Storage...**
Функции для взаимодействия со специальным хранилищем переменных, предназначенного для хранения информации от роботов.
!ВНИМАНИЕ! Данное хранилище сохраняется при перезагрузке Оркестратора из панели управления.
Группа функций OS...
######################
**Группа функций OS...**
Функции взаимодействия с командной строкой на сессии, где запущен Оркестратор.
Группа функций Process...
######################
**Группа функций Process...**
Запуск / остановка процессов на сессии Оркестратора.
Группа функций Processor...
######################
**Группа функций Processor...**
Функции взаимодействия с процессорной очередью. Если требуется выполнить синхронизацию нескольких разных задач, то можно их отправлять в процессорную очередь.
Группа функций Python...
######################
**Группа функций Python...**
Функции взаимодействия с Python модулями.
Группа функций RDPSession...
######################
**Группа функций RDPSession...**
Запуск, отключение, перезапуск, отправка CMD команд, раскрыть на весь экран на RDP сессию
Группа функций Web...
######################
**Группа функций Web...**
Управление веб-сервером Оркестратора.
Группа функций UAC...
######################
**Группа функций UAC...**
Управление ролевой моделью доступа пользователей к панели управления Оркестратора. Актуально для подключения бизнес-пользователей.
Группа функций Scheduler...
######################
**Группа функций Scheduler...**
Установка расписания на различные активности.
@ -81,10 +87,13 @@ pyOpenRPA.Orchestrator.__Orchestrator__
:autosummary:
**************************************************
pyOpenRPA.Orchestrator.Web.Basic
**************************************************
******************************
Быстрая навигация
******************************
.. automodule:: pyOpenRPA.Orchestrator.Web.Basic
:members:
:autosummary:
- `Сообщество pyOpenRPA (telegram) <https://t.me/pyOpenRPA>`_
- `Сообщество pyOpenRPA (tenchat) <https://tenchat.ru/iMaslov?utm_source=19f2a84f-3268-437f-950c-d987ae42af24>`_
- `Сообщество pyOpenRPA (вконтакте) <https://vk.com/pyopenrpa>`_
- `Презентация pyOpenRPA <https://pyopenrpa.ru/Index/pyOpenRPA_product_service.pdf>`_
- `Портал pyOpenRPA <https://pyopenrpa.ru>`_
- `Репозиторий pyOpenRPA <https://gitlab.com/UnicodeLabs/OpenRPA>`_

@ -1,9 +1,29 @@
.. _gSettingsTemplate:
************************
3. gSettings Template
************************
.. _module.orchestrator.gsettings:
gSettings structure
#############################################
3. Настройки GSettings (шаблон)
#############################################
******************************
Общее
******************************
Ниже представлена структура единого глобального словаря настроек GSettings
******************************
Структура
******************************
.. include:: ../../pyOpenRPA/Orchestrator/SettingsTemplate.py
:literal:
:literal:
******************************
Быстрая навигация
******************************
- `Сообщество pyOpenRPA (telegram) <https://t.me/pyOpenRPA>`_
- `Сообщество pyOpenRPA (tenchat) <https://tenchat.ru/iMaslov?utm_source=19f2a84f-3268-437f-950c-d987ae42af24>`_
- `Сообщество pyOpenRPA (вконтакте) <https://vk.com/pyopenrpa>`_
- `Презентация pyOpenRPA <https://pyopenrpa.ru/Index/pyOpenRPA_product_service.pdf>`_
- `Портал pyOpenRPA <https://pyopenrpa.ru>`_
- `Репозиторий pyOpenRPA <https://gitlab.com/UnicodeLabs/OpenRPA>`_

@ -1,8 +1,17 @@
************************
4. How to use
************************
#################################
4. Как использовать?
#################################
You need to run orchestrator process?
******************************
Как запустить?
******************************
Хотите выполнить запуск Оркестратора?
**Для этого достаточно (выбрать одно):**
- запустить .cmd файл, расположенный в папке pyOpenRPA по адресу: Orchestrator\pyOpenRPA.Orchestrator_x64.cmd
- в свой .py скрипт добавить следующий код (см. ниже)
.. code-block:: python
@ -13,7 +22,23 @@ You need to run orchestrator process?
Orchestrator.Orchestrator(inGSettings=gSettings)
If you need more configurations - so you can see here:
******************************
Параметры настройки
******************************
Также вы можете выполнить более тонкую настройку параметров Оркестратора. Ниже пример такой настройки:
.. include:: ../../../Orchestrator/OrchestratorSettings.py
:literal:
******************************
Быстрая навигация
******************************
- `Сообщество pyOpenRPA (telegram) <https://t.me/pyOpenRPA>`_
- `Сообщество pyOpenRPA (tenchat) <https://tenchat.ru/iMaslov?utm_source=19f2a84f-3268-437f-950c-d987ae42af24>`_
- `Сообщество pyOpenRPA (вконтакте) <https://vk.com/pyopenrpa>`_
- `Презентация pyOpenRPA <https://pyopenrpa.ru/Index/pyOpenRPA_product_service.pdf>`_
- `Портал pyOpenRPA <https://pyopenrpa.ru>`_
- `Репозиторий pyOpenRPA <https://gitlab.com/UnicodeLabs/OpenRPA>`_

@ -1,21 +1,23 @@
####################################
5. UAC - User Access Control
5. Права доступа пользователей UAC
####################################
*****************
About
Описание
*****************
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`
pyOpenRPA - роботы помогут!
***************************************************
UAC Dict for Orchestrator WEB UI rights
@ -55,4 +57,16 @@ UAC Dict for pyOpenRPA Orchestrator WEB UI rights.
"ActivityListExecuteBool": True, # Execute activity at the current thread
"ActivityListAppendProcessorQueueBool": True # Append activity to the processor queue
}
}
}
******************************
Быстрая навигация
******************************
- `Сообщество pyOpenRPA (telegram) <https://t.me/pyOpenRPA>`_
- `Сообщество pyOpenRPA (tenchat) <https://tenchat.ru/iMaslov?utm_source=19f2a84f-3268-437f-950c-d987ae42af24>`_
- `Сообщество pyOpenRPA (вконтакте) <https://vk.com/pyopenrpa>`_
- `Презентация pyOpenRPA <https://pyopenrpa.ru/Index/pyOpenRPA_product_service.pdf>`_
- `Портал pyOpenRPA <https://pyopenrpa.ru>`_
- `Репозиторий pyOpenRPA <https://gitlab.com/UnicodeLabs/OpenRPA>`_

@ -1,52 +0,0 @@
####################################
6. Defs Managers
####################################
**************************************************
Process (General)
**************************************************
.. code-block:: python
# EXAMPLE
from pyOpenRPA.Orchestrator import Orchestrator
lProcess = Orchestrator.Managers.Process(inAgentHostNameStr="PC-DESKTOP",inAgentUserNameStr="ND", inProcessNameWOExeStr="notepad",inStartCMDStr="notepad")
.. automodule:: pyOpenRPA.Orchestrator.Managers.Process
:members:
:autosummary:
**************************************************
Process (Details)
**************************************************
.. automodule:: pyOpenRPA.Orchestrator.Managers.Process
:members:
:autosummary:
**************************************************
ControlPanel (General)
**************************************************
.. code-block:: python
# EXAMPLE
from pyOpenRPA.Orchestrator import Orchestrator
lCP = Orchestrator.Managers.ControlPanel(inControlPanelNameStr="TestTTT",inRefreshHTMLJinja2TemplatePathStr="ControlPanel\\test.html", inJinja2TemplateRefreshBool = True)
.. automodule:: pyOpenRPA.Orchestrator.Managers.ControlPanel
:members:
:autosummary:
**************************************************
ControlPanel (Details)
**************************************************
.. automodule:: pyOpenRPA.Orchestrator.Managers.ControlPanel
:members:
:autosummary:

@ -1,30 +1,45 @@
.. _module.robot.description:
************************
####################################
1. Описание
************************
####################################
******************************
Общее
******************************
Модуль обеспечивает всю необходимую функциональность для создания любого программного робота 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 - роботы помогут!
******************************
Примеры
******************************
**Ниже преставлен пример использования инструментов робота.**
.. code-block:: python
@ -110,4 +125,15 @@
Mouse.mouseDown(x-30,y+90)
Mouse.moveTo(x+40,y+130)
Mouse.moveTo(x+105,y+90)
Mouse.mouseUp()
Mouse.mouseUp()
******************************
Быстрая навигация
******************************
- `Сообщество pyOpenRPA (telegram) <https://t.me/pyOpenRPA>`_
- `Сообщество pyOpenRPA (tenchat) <https://tenchat.ru/iMaslov?utm_source=19f2a84f-3268-437f-950c-d987ae42af24>`_
- `Сообщество pyOpenRPA (вконтакте) <https://vk.com/pyopenrpa>`_
- `Презентация pyOpenRPA <https://pyopenrpa.ru/Index/pyOpenRPA_product_service.pdf>`_
- `Портал pyOpenRPA <https://pyopenrpa.ru>`_
- `Репозиторий pyOpenRPA <https://gitlab.com/UnicodeLabs/OpenRPA>`_

@ -1,276 +1,185 @@
.. _module.robot.uidesktop:
####################################
2. UIDesktop
2. Функции UIDesktop
####################################
************************
Общее
************************
Здесь представлено описание всех функций, которые используются для взаимодействия с UI интерфейсами локальных приложений.
Here you can find the functions description for interaction with desktop GUI applications
**Функции в модуле UIDesktop именуются по следующему принципу:**
<Входящий аргумент>_<действие>_<исходящий аргумент - если присутствует>
**Термины и определения:**
************************
UIO объект
************************
************************
UIO селектор
************************
- **UIO:** Объект пользовательского интерфейса
- **UIOSelector:** Селектор (адрес) одного и/или более UIO объектов. Селектор представлен в формате списка (list) словарей (dict) атрибутивных критериев.
************************************************
UIO свойства и методы (общие)
************************************************
**************************************************
Описание функций
**************************************************
- process_id()
Return the ID of process that owns this window
- window_text()
Window text of the element
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.
.. automodule:: pyOpenRPA.Robot.UIDesktop
:members:
:autosummary:
- right_click_input(coords=(None, None))
Right click at the specified coords
************************
Селектор UIO
************************
- 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)
Click at the specified coordinates
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.
- double_click_input(button='left', coords=(None, None))
Double click at the specified coordinates
- press_mouse_input(button='left', coords=(None, None), pressed='', absolute=True, key_down=True, key_up=True)
Press a mouse button using SendInput
- press_mouse_input(button='left', coords=(None, None), pressed='', absolute=True, key_down=True, key_up=True)
Press a mouse button using SendInput
- drag_mouse_input(dst=(0, 0), src=None, button='left', pressed='', absolute=True)
Click on src, drag it and drop on dst
dst is a destination wrapper object or just coordinates.
src is a source wrapper object or coordinates. If src is None the self is used as a source object.
button is a mouse button to hold during the drag. It can be “left”, “right”, “middle” or “x”
pressed is a key on the keyboard to press during the drag.
absolute specifies whether to use absolute coordinates for the mouse pointer locations
- wheel_mouse_input(coords=(None, None), wheel_dist=1, pressed='')
Do mouse wheel
- draw_outline(colour='green', thickness=2, fill=<MagicMock name='mock.win32defines.BS_NULL' id='140124673757368'>, rect=None)
Draw an outline around the window.
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)
- type_keys(keys, pause=None, with_spaces=False, with_tabs=False, with_newlines=False, turn_off_numlock=True, set_foreground=True, vk_packet=True)
Type keys to the element using keyboard.send_keys
Ограниченная функциональность. Для более полной функциональности рекомендуем ознакомится с pyOpenPRA.Robot.Keyboard
This uses the re-written keyboard python module where you can find documentation on what to use for the keys.
- was_maximized()
Indicate whether the window was maximized before minimizing or not
*************************************************************
UIO свойства и методы (дополнение для win32 элементов)
*************************************************************
Кнопка (Button || CheckBox || RadioButton || GroupBox)
- check()
Check a checkbox
- get_check_state()
Return the check state of the checkbox
The check state is represented by an integer 0 - unchecked 1 - checked 2 - indeterminate
The following constants are defined in the win32defines module BST_UNCHECKED = 0 BST_CHECKED = 1 BST_INDETERMINATE = 2
- click(button='left', pressed='', coords=(0, 0), double=False, absolute=False)
Click the Button control
- is_checked()
Return True if checked, False if not checked, None if indeterminate
- is_dialog()
Buttons are never dialogs so return False
- set_check_indeterminate()
Set the checkbox to indeterminate
- uncheck()
Uncheck a checkbox
- friendly_class_name()
Return the friendly class name of the button
Windows controls with the class “Button” can look like different controls based on their style. They can look like the following controls:
Buttons, this method returns “Button”
CheckBoxes, this method returns “CheckBox”
RadioButtons, this method returns “RadioButton”
GroupBoxes, this method returns “GroupBox”
Поле выбора нескольких значений из списка (ComboBox)
- dropped_rect()
Get the dropped rectangle of the combobox
- friendlyclassname= 'ComboBox'
- get_properties()
Return the properties of the control as a dictionary
item_count()
Return the number of items in the combobox
- item_data(item)
Returns the item data associated with the item if any
- item_texts()
Return the text of the items of the combobox
- select(item)
Select the ComboBox item
item can be either a 0 based index of the item to select or it can be the string that you want to select
- selected_index()
Return the selected index
- selected_text()
Return the selected text
- texts()
Return the text of the items in the combobox
- windowclasses= ['ComboBox', 'WindowsForms\\d*\\.COMBOBOX\\..*', '.*ComboBox']
Поле ввода (Edit)
- friendlyclassname= 'Edit'
- get_line(line_index)
Return the line specified
- line_count()
Return how many lines there are in the Edit
- line_length(line_index)
Return how many characters there are in the line
- select(start=0, end=None)
Set the edit selection of the edit control
- selection_indices()
The start and end indices of the current selection
- set_edit_text(text, pos_start=None, pos_end=None)
Set the text of the edit control
- set_text(text, pos_start=None, pos_end=None)
Set the text of the edit control
- set_window_text(text, append=False)
Override set_window_text for edit controls because it should not be used for Edit controls.
Edit Controls should either use set_edit_text() or type_keys() to modify the contents of the edit control.
- text_block()
Get the text of the edit control
- texts()
Get the text of the edit control
- windowclasses= ['Edit', '.*Edit', 'TMemo', 'WindowsForms\\d*\\.EDIT\\..*', 'ThunderTextBox', 'ThunderRT6TextBox']
Поле выбора 1-го значения из списка (ListBox)
- friendlyclassname= 'ListBox'
- get_item_focus()
Return the index of current selection in a ListBox
- is_single_selection()
Check whether the listbox has single selection mode.
- item_count()
Return the number of items in the ListBox
- item_data(i)
Return the item_data if any associted with the item
- item_rect(item)
Return the rect of the item
- item_texts()
Return the text of the items of the listbox
- select(item, select=True)
Select the ListBox item
item can be either a 0 based index of the item to select or it can be the string that you want to select
- selected_indices()
The currently selected indices of the listbox
- set_item_focus(item)
Set the ListBox focus to the item at index
- texts()
Return the texts of the control
- windowclasses= ['ListBox', 'WindowsForms\\d*\\.LISTBOX\\..*', '.*ListBox']
Выпадающее меню (PopupMenu)
- friendlyclassname= 'PopupMenu'
- is_dialog()
Return whether it is a dialog
- windowclasses= ['#32768']
Текст (Static)
Селектор 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”. Нажата клавиша на клавиатуре, которую нужно нажимать во время перетаскивания. абсолютные указывает, следует ли использовать абсолютные координаты для расположения указателя мыши
- wheel_mouse_input(coords=(None, None), wheel_dist=1, pressed=''): Прокрутить колесо мыши
- 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 элементов)**
**Кнопка (Button || CheckBox || RadioButton || GroupBox)**
- check(): Установить флажок
- uncheck(): Снять флажок
- 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)**
- friendlyclassname = 'ComboBox'
- windowclasses = ['ComboBox', 'WindowsForms\\d*\\.COMBOBOX\\..*', '.*ComboBox']
- dropped_rect(): Получить выпадающий прямоугольник в поле со списком
- get_properties(): Возвращает свойства элемента управления в виде словаря
- item_count(): Возвращает количество элементов в поле со списком
- item_data(item): Возвращает данные элемента, связанные с элементом, если таковые имеются
- item_texts(): Возвращает текст элементов выпадающего списка
- select(item): Выбрать элемент со списком элемент может быть либо индексом элемента для выбора на основе 0, либо строкой, которую вы хотите выбрать
- selected_index(): Возвращает выбранный индекс
- selected_text():Возвращает выделенный текст
- texts(): Возвращает текст элементов в выпадающем списке
**Поле ввода (Edit)**
- friendlyclassname = 'Edit'
- windowclasses = ['Edit', '.*Edit', 'TMemo', 'WindowsForms\\d*\\.EDIT\\..*', 'ThunderTextBox', 'ThunderRT6TextBox']
- get_line(line_index): Возвращает указанную строку
- 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(): Получить текст элемента управления редактированием
**Поле выбора 1-го значения из списка (ListBox)**
- friendlyclassname = 'ListBox'
- windowclasses = ['ListBox', 'WindowsForms\\d*\\.LISTBOX\\..*', '.*ListBox']
- 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(): Возвращает, является ли это диалогом
**Текст (Static)**
- friendlyclassname= 'Static'
- windowclasses= ['Static', 'WindowsForms\\d*\\.STATIC\\..*', 'TPanel', '.*StaticText']
*************************************************************
UIO свойства и методы (дополнение для uia элементов)
*************************************************************
************************************************
Инициализация 2-х разрядностей для UIO
************************************************
**Инициализация 2-х разрядностей для UIO**
pyOpenRPA позволяет обеспечить максимальную совместимость со всеми приложениями, которые выполняются на компьютере. Мы рекомендуем разрабатывать робота под интерпретатором Python x64. В дополнение к нему Вы можете подключить Python x32 (см. ниже пример подключения). Если планируемый робот не будет взаимодействовать через pyOpenRPA.Robot.UIDesktop с другой разрядность, то эту настройку можно не применять.
@ -289,16 +198,13 @@ pyOpenRPA позволяет обеспечить максимальную со
# Теперь при вызове функций pyOpenRPA.Robot.UIDesktop платформа pyOpenRPA будет отслеживать разрядность приложения и отправлять соответсвующий вызов на идентичную разрядность.
.. automodule:: pyOpenRPA.Robot.UIDesktop
:members:
:autosummary:
**********
Ссылки
**********
`reStructuredText`_
******************************
Быстрая навигация
******************************
.. target-notes::
.. _`reStructuredText`: http://docutils.sourceforge.net/rst.html
- `Сообщество pyOpenRPA (telegram) <https://t.me/pyOpenRPA>`_
- `Сообщество pyOpenRPA (tenchat) <https://tenchat.ru/iMaslov?utm_source=19f2a84f-3268-437f-950c-d987ae42af24>`_
- `Сообщество pyOpenRPA (вконтакте) <https://vk.com/pyopenrpa>`_
- `Презентация pyOpenRPA <https://pyopenrpa.ru/Index/pyOpenRPA_product_service.pdf>`_
- `Портал pyOpenRPA <https://pyopenrpa.ru>`_
- `Репозиторий pyOpenRPA <https://gitlab.com/UnicodeLabs/OpenRPA>`_

@ -1,38 +1,31 @@
.. _module.robot.uiweb:
####################################
3. UIWeb
3. Функции UIWeb
####################################
Here you can find the functions description for interaction with desktop GUI applications
************************
Общее
************************
How to use both x32 and x64 python processes (it can be helpfully, if another app GUI is on another bitness than your app)
Документация к модулю будет опубликована в Июле 2022. По всем вопросам роботизации WEB приложений обращайтесь в центр поддержки клиентов pyOpenRPA.
.. code-block:: python
from pyOpenRPA.Robot import UIDesktop
#Section for robot init
lPyOpenRPA_SettingsDict = {
"Python32FullPath": "..\\Resources\\WPy32-3720\\python-3.7.2\\python.exe", #Set from user: "..\\Resources\\WPy32-3720\\python-3.7.2\\OpenRPARobotGUIx32.exe"
"Python64FullPath": "..\\Resources\\WPy64-3720\\python-3.7.2.amd64\\python.exe", #Set from user
"Python32ProcessName": "pyOpenRPA_UIDesktopX32.exe", #Config set once
"Python64ProcessName": "pyOpenRPA_UIDesktopX64.exe" #Config set once
}
# Init the pyOpenRPA configuration
UIDesktop.Utils.ProcessBitness.SettingsInit(lPyOpenRPA_SettingsDict)
# Now you can use pyOpenRPA with both bitness.
Дорогие коллеги!
Мы знаем, что с pyOpenRPA вы сможете существенно улучшить качество вашего бизнеса. Платформа роботизации pyOpenRPA - это разработка, которая дает возможность делать виртуальных сотрудников (программных роботов RPA) выгодными, начиная от эффекта всего в **10 тыс. руб.** И управлять ими будете только Вы!
.. automodule:: pyOpenRPA.Robot.UIDesktop
:members:
:autosummary:
Если у вас останутся вопросы, то вы всегда можете обратиться в центр поддержки клиентов pyOpenRPA. Контакты: :ref:`3.-Copyrights-&-Contacts`
pyOpenRPA - роботы помогут!
**********
References
**********
******************************
Быстрая навигация
******************************
`reStructuredText`_
.. target-notes::
.. _`reStructuredText`: http://docutils.sourceforge.net/rst.html
- `Сообщество pyOpenRPA (telegram) <https://t.me/pyOpenRPA>`_
- `Сообщество pyOpenRPA (tenchat) <https://tenchat.ru/iMaslov?utm_source=19f2a84f-3268-437f-950c-d987ae42af24>`_
- `Сообщество pyOpenRPA (вконтакте) <https://vk.com/pyopenrpa>`_
- `Презентация pyOpenRPA <https://pyopenrpa.ru/Index/pyOpenRPA_product_service.pdf>`_
- `Портал pyOpenRPA <https://pyopenrpa.ru>`_
- `Репозиторий pyOpenRPA <https://gitlab.com/UnicodeLabs/OpenRPA>`_

@ -1,9 +1,13 @@
.. _module.robot.keyboard:
####################################
4. Keyboard
4. Функции Keyboard
####################################
************************
Общее
************************
Клавиатура - это главный текстовый инструмент, который обладает 100% точностью передачи данных. С его помощью можно отправлять сообщения, ожидать нажатия и выполнять различные комбинации клавиш. На этой странице представлена вся необходимая информация по управлению клавиатурой со стороны программного робота RPA.
В отличие от многих RPA платформ, pyOpenRPA обладает функциями, которые не зависят от текущей раскладки клавиатуры. За счет этого надежность и стабильность программного робота существенно возрастает.
@ -29,7 +33,7 @@
Коды клавиш см. ниже
**************************************************
Описание методов
Описание функций
**************************************************
@ -215,3 +219,15 @@
# Пример использования функции send
from pyOpenRPA.Robot import Keyboard
Keyboard.send(57)
******************************
Быстрая навигация
******************************
- `Сообщество pyOpenRPA (telegram) <https://t.me/pyOpenRPA>`_
- `Сообщество pyOpenRPA (tenchat) <https://tenchat.ru/iMaslov?utm_source=19f2a84f-3268-437f-950c-d987ae42af24>`_
- `Сообщество pyOpenRPA (вконтакте) <https://vk.com/pyopenrpa>`_
- `Презентация pyOpenRPA <https://pyopenrpa.ru/Index/pyOpenRPA_product_service.pdf>`_
- `Портал pyOpenRPA <https://pyopenrpa.ru>`_
- `Репозиторий pyOpenRPA <https://gitlab.com/UnicodeLabs/OpenRPA>`_

@ -1,38 +1,24 @@
.. _module.robot.clipboard:
####################################
5. Clipboard
5. Функции Clipboard
####################################
Here you can find the functions description for interaction with desktop GUI applications
**************************************************
Описание функций
**************************************************
How to use both x32 and x64 python processes (it can be helpfully, if another app GUI is on another bitness than your app)
.. code-block:: python
from pyOpenRPA.Robot import UIDesktop
#Section for robot init
lPyOpenRPA_SettingsDict = {
"Python32FullPath": "..\\Resources\\WPy32-3720\\python-3.7.2\\python.exe", #Set from user: "..\\Resources\\WPy32-3720\\python-3.7.2\\OpenRPARobotGUIx32.exe"
"Python64FullPath": "..\\Resources\\WPy64-3720\\python-3.7.2.amd64\\python.exe", #Set from user
"Python32ProcessName": "pyOpenRPA_UIDesktopX32.exe", #Config set once
"Python64ProcessName": "pyOpenRPA_UIDesktopX64.exe" #Config set once
}
# Init the pyOpenRPA configuration
UIDesktop.Utils.ProcessBitness.SettingsInit(lPyOpenRPA_SettingsDict)
# Now you can use pyOpenRPA with both bitness.
.. automodule:: pyOpenRPA.Robot.UIDesktop
.. automodule:: pyOpenRPA.Robot.Clipboard
:members:
:autosummary:
******************************
Быстрая навигация
******************************
**********
References
**********
`reStructuredText`_
.. target-notes::
.. _`reStructuredText`: http://docutils.sourceforge.net/rst.html
- `Сообщество pyOpenRPA (telegram) <https://t.me/pyOpenRPA>`_
- `Сообщество pyOpenRPA (tenchat) <https://tenchat.ru/iMaslov?utm_source=19f2a84f-3268-437f-950c-d987ae42af24>`_
- `Сообщество pyOpenRPA (вконтакте) <https://vk.com/pyopenrpa>`_
- `Презентация pyOpenRPA <https://pyopenrpa.ru/Index/pyOpenRPA_product_service.pdf>`_
- `Портал pyOpenRPA <https://pyopenrpa.ru>`_
- `Репозиторий pyOpenRPA <https://gitlab.com/UnicodeLabs/OpenRPA>`_

@ -1,38 +1,29 @@
.. _module.robot.mouse:
####################################
6. Mouse
6. Функции Mouse
####################################
Here you can find the functions description for interaction with desktop GUI applications
How to use both x32 and x64 python processes (it can be helpfully, if another app GUI is on another bitness than your app)
.. code-block:: python
from pyOpenRPA.Robot import UIDesktop
#Section for robot init
lPyOpenRPA_SettingsDict = {
"Python32FullPath": "..\\Resources\\WPy32-3720\\python-3.7.2\\python.exe", #Set from user: "..\\Resources\\WPy32-3720\\python-3.7.2\\OpenRPARobotGUIx32.exe"
"Python64FullPath": "..\\Resources\\WPy64-3720\\python-3.7.2.amd64\\python.exe", #Set from user
"Python32ProcessName": "pyOpenRPA_UIDesktopX32.exe", #Config set once
"Python64ProcessName": "pyOpenRPA_UIDesktopX64.exe" #Config set once
}
# Init the pyOpenRPA configuration
UIDesktop.Utils.ProcessBitness.SettingsInit(lPyOpenRPA_SettingsDict)
# Now you can use pyOpenRPA with both bitness.
**************************************************
Общее
**************************************************
**************************************************
Описание функций
**************************************************
.. automodule:: pyOpenRPA.Robot.Mouse
:members:
:autosummary:
**********
References
**********
`reStructuredText`_
******************************
Быстрая навигация
******************************
.. target-notes::
.. _`reStructuredText`: http://docutils.sourceforge.net/rst.html
- `Сообщество pyOpenRPA (telegram) <https://t.me/pyOpenRPA>`_
- `Сообщество pyOpenRPA (tenchat) <https://tenchat.ru/iMaslov?utm_source=19f2a84f-3268-437f-950c-d987ae42af24>`_
- `Сообщество pyOpenRPA (вконтакте) <https://vk.com/pyopenrpa>`_
- `Презентация pyOpenRPA <https://pyopenrpa.ru/Index/pyOpenRPA_product_service.pdf>`_
- `Портал pyOpenRPA <https://pyopenrpa.ru>`_
- `Репозиторий pyOpenRPA <https://gitlab.com/UnicodeLabs/OpenRPA>`_

@ -1,38 +1,30 @@
.. _module.robot.image:
####################################
7. Image
7. Функции Image
####################################
Here you can find the functions description for interaction with desktop GUI applications
************************
Общее
************************
How to use both x32 and x64 python processes (it can be helpfully, if another app GUI is on another bitness than your app)
Документация к модулю будет опубликована в Июле 2022. По всем вопросам роботизации WEB приложений обращайтесь в центр поддержки клиентов pyOpenRPA.
.. code-block:: python
Дорогие коллеги!
from pyOpenRPA.Robot import UIDesktop
#Section for robot init
lPyOpenRPA_SettingsDict = {
"Python32FullPath": "..\\Resources\\WPy32-3720\\python-3.7.2\\python.exe", #Set from user: "..\\Resources\\WPy32-3720\\python-3.7.2\\OpenRPARobotGUIx32.exe"
"Python64FullPath": "..\\Resources\\WPy64-3720\\python-3.7.2.amd64\\python.exe", #Set from user
"Python32ProcessName": "pyOpenRPA_UIDesktopX32.exe", #Config set once
"Python64ProcessName": "pyOpenRPA_UIDesktopX64.exe" #Config set once
}
# Init the pyOpenRPA configuration
UIDesktop.Utils.ProcessBitness.SettingsInit(lPyOpenRPA_SettingsDict)
# Now you can use pyOpenRPA with both bitness.
Мы знаем, что с pyOpenRPA вы сможете существенно улучшить качество вашего бизнеса. Платформа роботизации pyOpenRPA - это разработка, которая дает возможность делать виртуальных сотрудников (программных роботов RPA) выгодными, начиная от эффекта всего в **10 тыс. руб.** И управлять ими будете только Вы!
Если у вас останутся вопросы, то вы всегда можете обратиться в центр поддержки клиентов pyOpenRPA. Контакты: :ref:`3.-Copyrights-&-Contacts`
.. automodule:: pyOpenRPA.Robot.UIDesktop
:members:
:autosummary:
pyOpenRPA - роботы помогут!
******************************
Быстрая навигация
******************************
**********
References
**********
`reStructuredText`_
.. target-notes::
.. _`reStructuredText`: http://docutils.sourceforge.net/rst.html
- `Сообщество pyOpenRPA (telegram) <https://t.me/pyOpenRPA>`_
- `Сообщество pyOpenRPA (tenchat) <https://tenchat.ru/iMaslov?utm_source=19f2a84f-3268-437f-950c-d987ae42af24>`_
- `Сообщество pyOpenRPA (вконтакте) <https://vk.com/pyopenrpa>`_
- `Презентация pyOpenRPA <https://pyopenrpa.ru/Index/pyOpenRPA_product_service.pdf>`_
- `Портал pyOpenRPA <https://pyopenrpa.ru>`_
- `Репозиторий pyOpenRPA <https://gitlab.com/UnicodeLabs/OpenRPA>`_

@ -2,225 +2,85 @@
8. Как использовать?
####################################
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.
Модуль РОБОТ - это ключевое звено, которое отвечает за продуктивную роботизацию процесса. Данный модуль не имеет графический или консольный интерфейс - он подключается в качестве библиотеки в проект робота, что позволяет выполнять операции максимально быстро. А также позволяет с легкостью интегрировать робота в другие проекты.
**************************************************
How to execute RPA script
Как запустить скрипт робота?
**************************************************
You can use the robot by the several ways:
- In Python script
- In Studio script (n/a)
Запустить скрипт робота можно 2-мя способами:
- Скрипт Python (файл .py)
- Скрипт в Студии pyOpenRPA
Create python script
Скрипт Python (файл .py)
############################################
In order to use robot just add Robot tool folder in work directory and add line "import GUI" in your script.
Чтобы начать использовать модуль робота достаточно выполнить в файле скрипта соответсвующие команды импорта:
.. code-block:: python
import sys
sys.path.append('../../')
import selenium # [Web app access](https://gitlab.com/UnicodeLabs/OpenRPA/wikis/05.1.-Theory-&-practice:-Web-app-access-(Chrome,-Firefox,-Opera))<br>
import GUI # [Win32 & UI Automation access](https://gitlab.com/UnicodeLabs/OpenRPA/wikis/05.2.-Theory-&-practice:-Desktop-app-UI-access-(win32-and-UI-automation-dlls)) <br>
import pyautogui #[Screen capture/recognition](https://gitlab.com/UnicodeLabs/OpenRPA/wikis/05.4.-Theory-&-practice:-Screen-capture-&-image-recognition) [#Mouse manipulation](https://gitlab.com/UnicodeLabs/OpenRPA/wikis/05.3.-Theory-&-practice:-Keyboard-&-mouse-manipulation)<br>
import cv2 # [Computer vision](https://gitlab.com/UnicodeLabs/OpenRPA/wikis/05.4.-Theory-&-practice:-Screen-capture-&-image-recognition)<br>
import keyboard #[Keyboard manipulation](https://gitlab.com/UnicodeLabs/OpenRPA/wikis/05.3.-Theory-&-practice:-Keyboard-&-mouse-manipulation)<br>
Execute python script
############################################
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), и выполнить следующие команды:
.. code-block:: python
cd %~dp0
copy /Y ..\Resources\WPy32-3720\python-3.7.2\python.exe ..\Resources\WPy32-3720\python-3.7.2\OpenRPAOrchestrator.exe
.\..\Resources\WPy32-3720\python-3.7.2\OpenRPAOrchestrator.exe orchestratorMain.py
pause >nul
Use in studio script (n/a)
############################################
.. code-block:: python
import sys
sys.path.append('../../')
import GUI
import keyboard
import subprocess
import time
#Highlight the UI Object in Folder explorer
GUI.UIOSelector_FocusHighlight([{"class_name":"CabinetWClass","backend":"uia"},{"ctrl_index":2},{"ctrl_index":0},{"ctrl_index":2},{"ctrl_index":0}])
#Wait 2 seconds
time.sleep(3)
#Loop: get child element of UI List
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.
****************************************************************************************************
Desktop app UI access (win32 and UI automation dlls)
****************************************************************************************************
Definitions
############################################
- **UIO** - UI Object (class of pywinauto UI object) [pywinauto.base_wrapper]
- **UIOSelector** - List of dict (key attributes)
- **PWA** - PyWinAuto
- **PWASpecification** - List of dict (key attributes in pywinauto.find_window notation)
- **UIOTree** - Recursive Dict of Dict ... (UI Parent -> Child hierarchy)
- **UIOInfo** - Dict of UIO attributes
- **UIOActivity** - Activity of the UIO (UI object) from the Pywinauto module
- **UIOEI** - UI Object info object
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 файла.
.. code-block:: python
[
{"class_name":"CalcFrame", "backend":"win32"}, # 1-st level UIO specification
{"title":"Hex", "depth_start":3, "depth_end": 3} # 3-rd level specification (because of attribute depth_start|depth_stop)
]
The UIDesktop module (OpenRPA/Robot/UIDesktop.py)
########################################################################################
The UIDesktop is extension of the pywinauto module which provide access to the desktop apps by the **win32** and **ui automation** dll frameworks (big thx to the Microsoft :) ).
Для этого достаточно выбрать рабочую директорию робота, там создать текстовый .cmd файл, и прописать в нем следующий код:
.. code-block:: python
# EXAMPLE 1
from pyOpenRPA.Robot import UIDesktop
UIDesktop.UIOSelector_Get_UIO(
inSpecificationList=[
{"title":"notepad.exe"},{"title":"OK"}],
inElement=None,
inFlagRaiseException=True)
The UIDesktop module (OpenRPA/Robot/UIDesktop.py)
########################################################################################
The UIDesktop is extension of the pywinauto module which provide access to the desktop apps by the **win32** and **ui automation** dll frameworks (big thx to the Microsoft :) ).
*Naming convention: \<InArgument\>\_\<ActivityName\>\_\<OutArgument - if exist>*<br>
****************************************************************************************************
Theory & practice. WEB app UI access (selenium)
****************************************************************************************************
About
###############################################
The pyOpenRPA support web app manipulation (by the Selenium lib).
More docs about selenium you can find here (https://selenium-python.readthedocs.io/)
How to use
###############################################
To start use selenium just import selenium modules in the robot tool. Here is the example of the usage.
.. code-block:: python
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
driver = webdriver.Chrome()
driver.get("http://www.python.org")
assert "Python" in driver.title
elem = driver.find_element_by_name("q")
elem.clear()
elem.send_keys("pycon")
elem.send_keys(Keys.RETURN)
assert "No results found." not in driver.page_source
driver.close()
****************************************************************************************************
Theory & practice. Keyboard & mouse manipulation
****************************************************************************************************
****************************************************************************************************
Theory & practice. Screen capture & image recognition
****************************************************************************************************
How to automate image recognition on PC
###########################################
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 # Не закрывать окно консоли после завершения работы скрипта робота
******************************
Быстрая навигация
******************************
- `Сообщество pyOpenRPA (telegram) <https://t.me/pyOpenRPA>`_
- `Сообщество pyOpenRPA (tenchat) <https://tenchat.ru/iMaslov?utm_source=19f2a84f-3268-437f-950c-d987ae42af24>`_
- `Сообщество pyOpenRPA (вконтакте) <https://vk.com/pyopenrpa>`_
- `Презентация pyOpenRPA <https://pyopenrpa.ru/Index/pyOpenRPA_product_service.pdf>`_
- `Портал pyOpenRPA <https://pyopenrpa.ru>`_
- `Репозиторий pyOpenRPA <https://gitlab.com/UnicodeLabs/OpenRPA>`_

@ -1,10 +0,0 @@
####################################
9. Зависимости
####################################
Python 3 x32 [psutil, pywinauto, wmi, PIL, keyboard, pyautogui, win32api (pywin32), selenium, openCV, tesseract, requests, lxml, PyMuPDF]
Python 3 x64 [psutil, pywinauto, wmi, PIL, keyboard, pyautogui, win32api (pywin32), selenium, openCV, tesseract, requests, lxml, PyMuPDF]
pywinauto (Windows GUI automation)
Semantic UI CSS framework
JsRender by https://www.jsviews.com (switch to Handlebars)
Handlebars

@ -1,7 +1,32 @@
.. _module.studio.description:
************************
####################################
1. Описание
####################################
************************
Общее
************************
pyOpenRPA Studio is the executable process.
Модуль студии обеспечивает всю необходимую функциональность взаимодействия с UI объектами различных приложений, запущенных в сессии.
В разделе :ref:`module.studio.how-to-use` вы найдете практическое руководство по работе с пользовательским интерфейсом студии, которая отрывается в веб браузере.
Дорогие коллеги!
Мы знаем, что с pyOpenRPA вы сможете существенно улучшить качество вашего бизнеса. Платформа роботизации pyOpenRPA - это разработка, которая дает возможность делать виртуальных сотрудников (программных роботов RPA) выгодными, начиная от эффекта всего в **10 тыс. руб.** И управлять ими будете только Вы!
Если у вас останутся вопросы, то вы всегда можете обратиться в центр поддержки клиентов pyOpenRPA. Контакты: :ref:`3.-Copyrights-&-Contacts`
pyOpenRPA - роботы помогут!
******************************
Быстрая навигация
******************************
- `Сообщество pyOpenRPA (telegram) <https://t.me/pyOpenRPA>`_
- `Сообщество pyOpenRPA (tenchat) <https://tenchat.ru/iMaslov?utm_source=19f2a84f-3268-437f-950c-d987ae42af24>`_
- `Сообщество pyOpenRPA (вконтакте) <https://vk.com/pyopenrpa>`_
- `Презентация pyOpenRPA <https://pyopenrpa.ru/Index/pyOpenRPA_product_service.pdf>`_
- `Портал pyOpenRPA <https://pyopenrpa.ru>`_
- `Репозиторий pyOpenRPA <https://gitlab.com/UnicodeLabs/OpenRPA>`_

@ -1,126 +1,148 @@
.. _module.studio.how-to-use:
####################################
2. Как использовать?
####################################
Content
=======
- `How to run <#how-to-run>`__
- `UI Description <#ui-description>`__
- `How to extract UI tree <#how-to-extract-ui-tree>`__
- `How to search UI object by mouse
hover <#how-to-search-ui-object-by-mouse-hover>`__
- `How to extract UI object
properties <#how-to-extract-ui-object-properties>`__
How to run
==========
- For OS x32
- Run (double click): OpenRPA\_32.cmd (for OS x32)
- For OS x64
- Run (double click): OpenRPA\_64.cmd (for OS x64)
- Wait text "running server" in console. Default browser will be open
automatically
- **Attention!** The studio tool does not support the Internet explorer
(any version) for GUI rendering (lol)
.. _general:
************************
Общее
************************
- `Как запустить? <#how-to-run>`__
- `Описание UI студии <#ui-description>`__
- `Извлечь UI дерево <#how-to-extract-ui-tree>`__
- `Поиск UI объекта по наведению мыши <#how-to-search-ui-object-by-mouse-hover>`__
- `Извлечь свойства UI объекта <#how-to-extract-ui-object-properties>`__
.. _how-to-run:
************************
Как запустить?
************************
- Запустить файл Studio\pyOpenRPA.Studio_x64.cmd
- Ожидать текст в окне консоли: "running server". Браузер, установленный по умолчанию откроется автоматически
- **!ВНИМАНИЕ!** Студия поддерживает все версии браузеров, кроме Internet Explorer.
.. image:: /img/504b98f76747f63900a2943532a946bb.png
:alt: 504b98f76747f63900a2943532a946bb.png
.. _ui-description:
UI Description
==============
************************
Описание UI студии
************************
**The studio tool GUI contains of:**
**Интерфейс (UI) студии состоит из следующих компонентов:**
1. UI tree viewer
2. Selected UI object hierarchy list
3. Selected UI object property list
4. UIO selector editor
5. UIO action panel
6. Another Python activity panel
7. Action/activity list
1. Обозреватель UI дерева
2. Обозреватель иерархии выбранного UI объекта
3. Обозреватель свойств выбранного уровня UI объекта
4. Редактор UIO селектора
5. Панель активностей над UIO объектом
6. Панель других Python активностей
7. Список активностей
*Look it on the GUI screenshots are listed below*
*Ниже представлены скриншоты студии*
GUI Screenshot 1
Скриншот 1
----------------
.. image:: /img/d3d6ad14a7e50843bd89d2b14a092fee.png
:alt: 504b98f76747f63900a2943532a946bb.png
GUI Screenshot 2
Скриншот 2
----------------
.. image:: /img/65b7d51c0a5b21e6b27dc23d4062d3ca.png
:alt: 65b7d51c0a5b21e6b27dc23d4062d3ca.png
How to extract UI tree
======================
.. _how-to-extract-ui-tree:
************************
Извлечь UI дерево
************************
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``.
Action: Click the button "Expand"
Действие: Нажать по кнопке "Expand"
---------------------------------------
.. image:: /img/6effc376ff6ea928840674bd744caced.png
:alt: 6effc376ff6ea928840674bd744caced.png
Result
Итог
---------------------------------------
.. image:: /img/18b9ab36126c8c32168bf5bbb9330701.png
:alt: 18b9ab36126c8c32168bf5bbb9330701.png
How to search UI object by mouse hover
---------------------------------------
In order to search UI object do the
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``.
Действие: Нажать кнопку "Mouse search"
---------------------------------------
.. image:: /img/84d7e4de0c840631f87cf7b325b53ad8.png
:alt: 84d7e4de0c840631f87cf7b325b53ad8.png
Action: Turn mouse on the UI object you are interested and hold the "Ctrl" key for 3 seconds
--------------------------------------------------------------------------------------------
Действие: Навести курсор мыши на UI объект, который интересует и зажать клавишу "Ctrl" на 3 секунды
--------------------------------------------------------------------------------------------------------------
.. image:: /img/b7c38d622bf5b7afa5b26d1686d7302a.png
:alt: b7c38d622bf5b7afa5b26d1686d7302a.png
Result: The interested UI object will be shown in ``UI tree viewer``
Итог: Интересующий UI объект будет отображен в ``UI tree viewer``
--------------------------------------------------------------------
.. image:: /img/629bbf4db2c01b9c640194230949fcd2.png
:alt: 629bbf4db2c01b9c640194230949fcd2.png
How to extract UI object properties
===================================
.. _how-to-extract-ui-object-properties:
***********************************
Извлечь свойства UI объекта
***********************************
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
------------------------------------------------------------------------------
.. image:: /img/2c27be5bdde20b5d062cbb40e74eaec5.png
:alt: 2c27be5bdde20b5d062cbb40e74eaec5.png
Result: The UI object property list will be shown in ``Selected UI object property list``
Итог: Свойства UI объекта будут отображены в ``Selected UI object property list``
-----------------------------------------------------------------------------------------
.. image:: /img/f235ae29099a713e0246cd574ac3a17c.png
:alt: f235ae29099a713e0246cd574ac3a17c.png
******************************
Быстрая навигация
******************************
- `Сообщество pyOpenRPA (telegram) <https://t.me/pyOpenRPA>`_
- `Сообщество pyOpenRPA (tenchat) <https://tenchat.ru/iMaslov?utm_source=19f2a84f-3268-437f-950c-d987ae42af24>`_
- `Сообщество pyOpenRPA (вконтакте) <https://vk.com/pyopenrpa>`_
- `Презентация pyOpenRPA <https://pyopenrpa.ru/Index/pyOpenRPA_product_service.pdf>`_
- `Портал pyOpenRPA <https://pyopenrpa.ru>`_
- `Репозиторий pyOpenRPA <https://gitlab.com/UnicodeLabs/OpenRPA>`_

@ -1,5 +1,5 @@
####################################
2. Defs StopSafe
2. Функции StopSafe
####################################
How to use StopSafe on the robot side

@ -51,9 +51,9 @@ pyOpenRPA - роботы помогут!
**Для коммерческого использования:**
* Вариант 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 Вы осознаете свою ответственность в случаях нарушения лицензионного законодательства и совершения неправомерных действий.
@ -244,4 +244,17 @@ Wiki структура
:caption: ИНСТРУМЕНТЫ
:glob:
Tools/*
Tools/*
******************************
Быстрая навигация
******************************
- `Сообщество pyOpenRPA (telegram) <https://t.me/pyOpenRPA>`_
- `Сообщество pyOpenRPA (tenchat) <https://tenchat.ru/iMaslov?utm_source=19f2a84f-3268-437f-950c-d987ae42af24>`_
- `Сообщество pyOpenRPA (вконтакте) <https://vk.com/pyopenrpa>`_
- `Презентация pyOpenRPA <https://pyopenrpa.ru/Index/pyOpenRPA_product_service.pdf>`_
- `Портал pyOpenRPA <https://pyopenrpa.ru>`_
- `Репозиторий pyOpenRPA <https://gitlab.com/UnicodeLabs/OpenRPA>`_

@ -0,0 +1 @@
"C:\Abs\Archive\scopeSrcUL\pyOpenRPA\Resources\wkhtmltopdf\bin\wkhtmltopdf.exe" --javascript-delay 5000 --load-error-handling ignore --enable-local-file-access C:\Abs\Archive\scopeSrcUL\pyOpenRPA\Wiki\RUS_Guide\html\index.html C:\Abs\Archive\scopeSrcUL\pyOpenRPA\Wiki\RUS_Guide\html\01_HowToInstall.html C:\Abs\Archive\scopeSrcUL\pyOpenRPA\Wiki\RUS_Guide\html\03_Copyrights_Contacts.html C:\Abs\Archive\scopeSrcUL\pyOpenRPA\Wiki\RUS_Guide\html\Robot\01_Robot.html C:\Abs\Archive\scopeSrcUL\pyOpenRPA\Wiki\RUS_Guide\html\Robot\02_uidesktop.html C:\Abs\Archive\scopeSrcUL\pyOpenRPA\Wiki\RUS_Guide\html\Robot\03_uiweb.html C:\Abs\Archive\scopeSrcUL\pyOpenRPA\Wiki\RUS_Guide\html\Robot\04_keyboard.html C:\Abs\Archive\scopeSrcUL\pyOpenRPA\Wiki\RUS_Guide\html\Robot\05_clipboard.html C:\Abs\Archive\scopeSrcUL\pyOpenRPA\Wiki\RUS_Guide\html\Robot\06_mouse.html C:\Abs\Archive\scopeSrcUL\pyOpenRPA\Wiki\RUS_Guide\html\Robot\07_image.html C:\Abs\Archive\scopeSrcUL\pyOpenRPA\Wiki\RUS_Guide\html\Robot\08_HowToUse.html C:\Abs\Archive\scopeSrcUL\pyOpenRPA\Wiki\RUS_Guide\html\Studio\01_Studio.html C:\Abs\Archive\scopeSrcUL\pyOpenRPA\Wiki\RUS_Guide\html\Studio\02_HowToUse.html C:\Abs\Archive\scopeSrcUL\pyOpenRPA\Wiki\RUS_Guide\html\Orchestrator\01_Orchestrator.html C:\Abs\Archive\scopeSrcUL\pyOpenRPA\Wiki\RUS_Guide\html\Orchestrator\02_Defs.html C:\Abs\Archive\scopeSrcUL\pyOpenRPA\Wiki\RUS_Guide\html\Orchestrator\03_gSettingsTemplate.html C:\Abs\Archive\scopeSrcUL\pyOpenRPA\Wiki\RUS_Guide\html\Orchestrator\04_HowToUse.html C:\Abs\Archive\scopeSrcUL\pyOpenRPA\Wiki\RUS_Guide\html\Orchestrator\05_UAC.html C:\Abs\Archive\scopeSrcUL\pyOpenRPA\Wiki\RUS_Guide\pdf\pyOpenRPA_Guide_RUS.pdf

@ -4,17 +4,42 @@ import win32clipboard
####################################
# GUI Module - interaction with Windows clipboard
################
###ClipboardGet
################
def Get():
"""
Получить текстовое содержимое буфера обмена.
.. code-block:: python
# Clipboard: Взаимодействие с буфером
from pyOpenRPA.Robot import Clipboard
lClipStr = Clipboard.Get()
:return: Текстовое содержимое буфера обмена
:rtype: str
"""
return ClipboardGet()
def Set(inTextStr:str):
"""
Установить текстовое содержимое в буфер обмена.
.. code-block:: python
# Clipboard: Взаимодействие с буфером
from pyOpenRPA.Robot import Clipboard
lClipStr = Clipboard.Set(inTextStr="HELLO WORLD")
:param inTextStr: Текстовое содержимое для установки в буфера обмена
:type inTextStr: str
"""
ClipboardSet(inText=inTextStr)
def ClipboardGet():
win32clipboard.OpenClipboard()
lResult = win32clipboard.GetClipboardData(win32clipboard.CF_UNICODETEXT)
win32clipboard.CloseClipboard()
return lResult
################
###ClipboardSet
################
def ClipboardSet(inText):
win32clipboard.OpenClipboard()
win32clipboard.EmptyClipboard()

@ -3,7 +3,7 @@ r"""
The pyOpenRPA package
"""
__version__ = 'v1.2.12'
__version__ = 'v1.2.13'
__all__ = []
__author__ = 'Ivan Maslov <ivan.maslov@pyopenrpa.ru>'
#from .Core import Robot

@ -41,7 +41,7 @@
<link rel="index" title="Алфавитный указатель" href="genindex.html" />
<link rel="search" title="Поиск" href="search.html" />
<link rel="next" title="2. Права &amp; Контакты" href="03_Copyrights_Contacts.html" />
<link rel="next" title="2. Лицензия &amp; Контакты" href="03_Copyrights_Contacts.html" />
<link rel="prev" title="Портал документации pyOpenRPA" href="index.html" />
</head>
@ -91,24 +91,22 @@
<ul class="current">
<li class="toctree-l1"><a class="reference external" href="https://pyopenrpa.ru/wiki/guide/index">Выбрать версию</a></li>
<li class="toctree-l1 current"><a class="current reference internal" href="#">1. Первый запуск</a><ul>
<li class="toctree-l2"><a class="reference internal" href="#how-to-check-installation">How to check installation</a></li>
<li class="toctree-l2"><a class="reference internal" href="#system-requirements">System requirements</a></li>
<li class="toctree-l2"><a class="reference internal" href="#pyopenrpa">Проверить, что pyOpenRPA развернута корректно?</a></li>
<li class="toctree-l2"><a class="reference internal" href="#id2">Быстрая навигация</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="03_Copyrights_Contacts.html">2. Права &amp; Контакты</a></li>
<li class="toctree-l1"><a class="reference internal" href="03_Copyrights_Contacts.html">2. Лицензия &amp; Контакты</a></li>
</ul>
<p class="caption"><span class="caption-text">МОДУЛЬ РОБОТ</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="Robot/01_Robot.html">1. Описание</a></li>
<li class="toctree-l1"><a class="reference internal" href="Robot/02_Defs.html">2. Функции</a></li>
<li class="toctree-l1"><a class="reference internal" href="Robot/02_uidesktop.html">2. UIDesktop</a></li>
<li class="toctree-l1"><a class="reference internal" href="Robot/03_uiweb.html">3. UIWeb</a></li>
<li class="toctree-l1"><a class="reference internal" href="Robot/04_keyboard.html">4. Keyboard</a></li>
<li class="toctree-l1"><a class="reference internal" href="Robot/05_clipboard.html">5. Clipboard</a></li>
<li class="toctree-l1"><a class="reference internal" href="Robot/06_mouse.html">6. Mouse</a></li>
<li class="toctree-l1"><a class="reference internal" href="Robot/07_image.html">7. Image</a></li>
<li class="toctree-l1"><a class="reference internal" href="Robot/02_uidesktop.html">2. Функции UIDesktop</a></li>
<li class="toctree-l1"><a class="reference internal" href="Robot/03_uiweb.html">3. Функции UIWeb</a></li>
<li class="toctree-l1"><a class="reference internal" href="Robot/04_keyboard.html">4. Функции Keyboard</a></li>
<li class="toctree-l1"><a class="reference internal" href="Robot/05_clipboard.html">5. Функции Clipboard</a></li>
<li class="toctree-l1"><a class="reference internal" href="Robot/06_mouse.html">6. Функции Mouse</a></li>
<li class="toctree-l1"><a class="reference internal" href="Robot/07_image.html">7. Функции Image</a></li>
<li class="toctree-l1"><a class="reference internal" href="Robot/08_HowToUse.html">8. Как использовать?</a></li>
<li class="toctree-l1"><a class="reference internal" href="Robot/09_Dependencies.html">9. Зависимости</a></li>
</ul>
<p class="caption"><span class="caption-text">МОДУЛЬ СТУДИЯ</span></p>
<ul>
@ -117,20 +115,19 @@
</ul>
<p class="caption"><span class="caption-text">МОДУЛЬ ОРКЕСТРАТОР</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="Orchestrator/01_Orchestrator.html">1. Description</a></li>
<li class="toctree-l1"><a class="reference internal" href="Orchestrator/02_Defs.html">2. Defs</a></li>
<li class="toctree-l1"><a class="reference internal" href="Orchestrator/03_gSettingsTemplate.html">3. gSettings Template</a></li>
<li class="toctree-l1"><a class="reference internal" href="Orchestrator/04_HowToUse.html">4. How to use</a></li>
<li class="toctree-l1"><a class="reference internal" href="Orchestrator/05_UAC.html">5. UAC - User Access Control</a></li>
<li class="toctree-l1"><a class="reference internal" href="Orchestrator/06_Defs%20Managers.html">6. Defs Managers</a></li>
<li class="toctree-l1"><a class="reference internal" href="Orchestrator/01_Orchestrator.html">1. Описание</a></li>
<li class="toctree-l1"><a class="reference internal" href="Orchestrator/02_Defs.html">2. Функции</a></li>
<li class="toctree-l1"><a class="reference internal" href="Orchestrator/03_gSettingsTemplate.html">3. Настройки GSettings (шаблон)</a></li>
<li class="toctree-l1"><a class="reference internal" href="Orchestrator/04_HowToUse.html">4. Как использовать?</a></li>
<li class="toctree-l1"><a class="reference internal" href="Orchestrator/05_UAC.html">5. Права доступа пользователей UAC</a></li>
</ul>
<p class="caption"><span class="caption-text">МОДУЛЬ АГЕНТ</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="Agent/02_Defs.html">2. Defs</a></li>
<li class="toctree-l1"><a class="reference internal" href="Agent/02_Defs.html">2. Функции</a></li>
</ul>
<p class="caption"><span class="caption-text">ИНСТРУМЕНТЫ</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="Tools/02_Defs.html">2. Defs StopSafe</a></li>
<li class="toctree-l1"><a class="reference internal" href="Tools/02_Defs.html">2. Функции StopSafe</a></li>
</ul>
@ -200,35 +197,35 @@
<div class="section" id="id1">
<h1>1. Первый запуск<a class="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>
<ul class="simple">
<li><p>Download the pyOpenRPA package from master branch on GitLab [Download ZIP](<a class="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 главной страницы <a class="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>
<div class="section" id="how-to-check-installation">
<h2>How to check installation<a class="headerlink" href="#how-to-check-installation" title="Ссылка на этот заголовок"></a></h2>
<p><strong>ВСЁ - Развертывание pyOpenRPA завершено! :)</strong></p>
<div class="section" id="pyopenrpa">
<h2>Проверить, что pyOpenRPA развернута корректно?<a class="headerlink" href="#pyopenrpa" title="Ссылка на этот заголовок"></a></h2>
<p>В папке pyOpenRPA запустить интерпретатор Python</p>
<ul class="simple">
<li><p>Run portable python (built in the pyOpenRPA)</p>
<ul>
<li><p>x32 python (GIT\Resources\WPy32-3720\python-3.7.2\python.exe)</p></li>
<li><p>x64 python (GIT\Resources\WPy64-3720\python-3.7.2.amd64\python.exe)</p></li>
</ul>
</li>
<li><p>x32 Python (GIT\Resources\WPy32-3720\python-3.7.2\python.exe)</p></li>
<li><p>x64 Python (GIT\Resources\WPy64-3720\python-3.7.2.amd64\python.exe)</p></li>
</ul>
<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>
<img alt="cb5dec8cecafa7d64f6cd14b2672acce.png" src="_images/cb5dec8cecafa7d64f6cd14b2672acce.png" />
</div>
<div class="section" id="system-requirements">
<h2>System requirements<a class="headerlink" href="#system-requirements" title="Ссылка на этот заголовок"></a></h2>
<div class="section" id="id2">
<h2>Быстрая навигация<a class="headerlink" href="#id2" title="Ссылка на этот заголовок"></a></h2>
<ul class="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>
<li><p><a class="reference external" href="https://t.me/pyOpenRPA">Сообщество pyOpenRPA (telegram)</a></p></li>
<li><p><a class="reference external" href="https://tenchat.ru/iMaslov?utm_source=19f2a84f-3268-437f-950c-d987ae42af24">Сообщество pyOpenRPA (tenchat)</a></p></li>
<li><p><a class="reference external" href="https://vk.com/pyopenrpa">Сообщество pyOpenRPA (вконтакте)</a></p></li>
<li><p><a class="reference external" href="https://pyopenrpa.ru/Index/pyOpenRPA_product_service.pdf">Презентация pyOpenRPA</a></p></li>
<li><p><a class="reference external" href="https://pyopenrpa.ru">Портал pyOpenRPA</a></p></li>
<li><p><a class="reference external" href="https://gitlab.com/UnicodeLabs/OpenRPA">Репозиторий pyOpenRPA</a></p></li>
</ul>
<p> .. v1.2.12 replace:: v1.2.12
.. <a href="#id2"><span class="problematic" id="id3">|author|</span></a> replace:: Ivan Maslov &lt;<a class="reference external" href="mailto:ivan&#46;maslov&#37;&#52;&#48;unicodelabs&#46;ru">ivan<span>&#46;</span>maslov<span>&#64;</span>unicodelabs<span>&#46;</span>ru</a>&gt;</p>
<p> .. v1.2.12 replace:: v1.2.12</p>
<p></p>
</div>
</div>
@ -239,7 +236,7 @@
</div>
<footer>
<div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
<a href="03_Copyrights_Contacts.html" class="btn btn-neutral float-right" title="2. Права &amp; Контакты" accesskey="n" rel="next">Следующая <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
<a href="03_Copyrights_Contacts.html" class="btn btn-neutral float-right" title="2. Лицензия &amp; Контакты" accesskey="n" rel="next">Следующая <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
<a href="index.html" class="btn btn-neutral float-left" title="Портал документации pyOpenRPA" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Предыдущая</a>
</div>

@ -7,7 +7,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>2. Права &amp; Контакты &mdash; документация pyOpenRPA v1.2.12 v1.2.12</title>
<title>2. Лицензия &amp; Контакты &mdash; документация pyOpenRPA v1.2.12 v1.2.12</title>
@ -91,25 +91,27 @@
<ul class="current">
<li class="toctree-l1"><a class="reference external" href="https://pyopenrpa.ru/wiki/guide/index">Выбрать версию</a></li>
<li class="toctree-l1"><a class="reference internal" href="01_HowToInstall.html">1. Первый запуск</a></li>
<li class="toctree-l1 current"><a class="current reference internal" href="#">2. Права &amp; Контакты</a><ul>
<li class="toctree-l2"><a class="reference internal" href="#id2">Центр поддержки клиентов</a></li>
<li class="toctree-l2"><a class="reference internal" href="#id3">Иван Маслов (Основатель &amp; генеральный директор)</a></li>
<li class="toctree-l2"><a class="reference internal" href="#id4">Используемые сторонние компоненты (лицензионная чистота)</a></li>
<li class="toctree-l1 current"><a class="current reference internal" href="#">2. Лицензия &amp; Контакты</a><ul>
<li class="toctree-l2"><a class="reference internal" href="#id2">Лицензия</a></li>
<li class="toctree-l2"><a class="reference internal" href="#id3">Автор</a></li>
<li class="toctree-l2"><a class="reference internal" href="#id4">Правообладатель</a></li>
<li class="toctree-l2"><a class="reference internal" href="#id5">Центр поддержки клиентов</a></li>
<li class="toctree-l2"><a class="reference internal" href="#id8">Иван Маслов (генеральный директор ООО «ОПЕН РПА»)</a></li>
<li class="toctree-l2"><a class="reference internal" href="#id11">Используемые сторонние компоненты (лицензионная чистота)</a></li>
<li class="toctree-l2"><a class="reference internal" href="#id12">Быстрая навигация</a></li>
</ul>
</li>
</ul>
<p class="caption"><span class="caption-text">МОДУЛЬ РОБОТ</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="Robot/01_Robot.html">1. Описание</a></li>
<li class="toctree-l1"><a class="reference internal" href="Robot/02_Defs.html">2. Функции</a></li>
<li class="toctree-l1"><a class="reference internal" href="Robot/02_uidesktop.html">2. UIDesktop</a></li>
<li class="toctree-l1"><a class="reference internal" href="Robot/03_uiweb.html">3. UIWeb</a></li>
<li class="toctree-l1"><a class="reference internal" href="Robot/04_keyboard.html">4. Keyboard</a></li>
<li class="toctree-l1"><a class="reference internal" href="Robot/05_clipboard.html">5. Clipboard</a></li>
<li class="toctree-l1"><a class="reference internal" href="Robot/06_mouse.html">6. Mouse</a></li>
<li class="toctree-l1"><a class="reference internal" href="Robot/07_image.html">7. Image</a></li>
<li class="toctree-l1"><a class="reference internal" href="Robot/02_uidesktop.html">2. Функции UIDesktop</a></li>
<li class="toctree-l1"><a class="reference internal" href="Robot/03_uiweb.html">3. Функции UIWeb</a></li>
<li class="toctree-l1"><a class="reference internal" href="Robot/04_keyboard.html">4. Функции Keyboard</a></li>
<li class="toctree-l1"><a class="reference internal" href="Robot/05_clipboard.html">5. Функции Clipboard</a></li>
<li class="toctree-l1"><a class="reference internal" href="Robot/06_mouse.html">6. Функции Mouse</a></li>
<li class="toctree-l1"><a class="reference internal" href="Robot/07_image.html">7. Функции Image</a></li>
<li class="toctree-l1"><a class="reference internal" href="Robot/08_HowToUse.html">8. Как использовать?</a></li>
<li class="toctree-l1"><a class="reference internal" href="Robot/09_Dependencies.html">9. Зависимости</a></li>
</ul>
<p class="caption"><span class="caption-text">МОДУЛЬ СТУДИЯ</span></p>
<ul>
@ -118,20 +120,19 @@
</ul>
<p class="caption"><span class="caption-text">МОДУЛЬ ОРКЕСТРАТОР</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="Orchestrator/01_Orchestrator.html">1. Description</a></li>
<li class="toctree-l1"><a class="reference internal" href="Orchestrator/02_Defs.html">2. Defs</a></li>
<li class="toctree-l1"><a class="reference internal" href="Orchestrator/03_gSettingsTemplate.html">3. gSettings Template</a></li>
<li class="toctree-l1"><a class="reference internal" href="Orchestrator/04_HowToUse.html">4. How to use</a></li>
<li class="toctree-l1"><a class="reference internal" href="Orchestrator/05_UAC.html">5. UAC - User Access Control</a></li>
<li class="toctree-l1"><a class="reference internal" href="Orchestrator/06_Defs%20Managers.html">6. Defs Managers</a></li>
<li class="toctree-l1"><a class="reference internal" href="Orchestrator/01_Orchestrator.html">1. Описание</a></li>
<li class="toctree-l1"><a class="reference internal" href="Orchestrator/02_Defs.html">2. Функции</a></li>
<li class="toctree-l1"><a class="reference internal" href="Orchestrator/03_gSettingsTemplate.html">3. Настройки GSettings (шаблон)</a></li>
<li class="toctree-l1"><a class="reference internal" href="Orchestrator/04_HowToUse.html">4. Как использовать?</a></li>
<li class="toctree-l1"><a class="reference internal" href="Orchestrator/05_UAC.html">5. Права доступа пользователей UAC</a></li>
</ul>
<p class="caption"><span class="caption-text">МОДУЛЬ АГЕНТ</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="Agent/02_Defs.html">2. Defs</a></li>
<li class="toctree-l1"><a class="reference internal" href="Agent/02_Defs.html">2. Функции</a></li>
</ul>
<p class="caption"><span class="caption-text">ИНСТРУМЕНТЫ</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="Tools/02_Defs.html">2. Defs StopSafe</a></li>
<li class="toctree-l1"><a class="reference internal" href="Tools/02_Defs.html">2. Функции StopSafe</a></li>
</ul>
@ -180,7 +181,7 @@
<li><a href="index.html" class="icon icon-home"></a> &raquo;</li>
<li>2. Права &amp; Контакты</li>
<li>2. Лицензия &amp; Контакты</li>
<li class="wy-breadcrumbs-aside">
@ -200,58 +201,85 @@
<div itemprop="articleBody">
<div class="section" id="copyrights-contacts">
<span id="id1"></span><h1>2. Права &amp; Контакты<a class="headerlink" href="#copyrights-contacts" title="Ссылка на этот заголовок"></a></h1>
<p>pyOpenRPA is created by Ivan Maslov (Russia).
Hosted by PYOPENRPA LLC (Russia)</p>
<p>My purpose is to create #IT4Business models in the companies.
I can help you to create the new #IT4Business in your company.
#IT4Business homepage - <a class="reference external" href="https://www.facebook.com/RU.IT4Business">https://www.facebook.com/RU.IT4Business</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>
<span id="id1"></span><h1>2. Лицензия &amp; Контакты<a class="headerlink" href="#copyrights-contacts" title="Ссылка на этот заголовок"></a></h1>
<div class="section" id="id2">
<h2>Центр поддержки клиентов<a class="headerlink" href="#id2" title="Ссылка на этот заголовок"></a></h2>
<h2>Лицензия<a class="headerlink" href="#id2" title="Ссылка на этот заголовок"></a></h2>
<p>Лицензия pyOpenRPA разрешает бесплатное использование только для некоммерческих организаций и физических лиц (не ИП и не самозанятый). В остальных случаях требуется получение цифрового сертификата от правообладателя (ООО «ОПЕН РПА»).</p>
<p>Получить, проверить сертификат, а также ознакомиться с текстом лицензионного соглашения Вы можете по адресу:
<a class="reference external" href="https://pyopenrpa.ru/verification">https://pyopenrpa.ru/verification</a></p>
<p>pyOpenRPA не использует какие-либо инструменты физической блокировки функциональности своего ПО.
По всем вопросам Вы можете обратиться к правообладателю, контакты см. по адресу:
<a class="reference external" href="https://pyopenrpa.ru/Index/pyOpenRPA_product_service.pdf">https://pyopenrpa.ru/Index/pyOpenRPA_product_service.pdf</a>
Используя ПО pyOpenRPA Вы осознаете свою ответственность в случаях нарушения лицензионного законодательства и совершения неправомерных действий.</p>
<p>ВНИМАНИЕ! НЕЗНАНИЕ ЗАКОНА НЕ ОСВОБОЖДАЕТ ОТ ОТВЕТСТВЕННОСТИ.</p>
<p>pyOpenRPA - роботы Вам помогут!</p>
</div>
<div class="section" id="id3">
<h2>Автор<a class="headerlink" href="#id3" title="Ссылка на этот заголовок"></a></h2>
<p>Маслов Иван Дмитриевич (с 2019г.)</p>
</div>
<div class="section" id="id4">
<h2>Правообладатель<a class="headerlink" href="#id4" title="Ссылка на этот заголовок"></a></h2>
<p><strong>с 2022г.</strong>
ООО «ОПЕН РПА», ОГРН 1227700251350, ИНН/КПП 9718191421/771801001
г. Москва: 125310, улица Муравская
г. Санкт-Петербург: 197022, улица Льва Толстого</p>
<p><strong>с 2019г. по 2021г.</strong>
Маслов Иван Дмитриевич (с 2019г.)</p>
</div>
<div class="section" id="id5">
<h2>Центр поддержки клиентов<a class="headerlink" href="#id5" title="Ссылка на этот заголовок"></a></h2>
<p>У вас остались вопросы? Мы вам поможем!</p>
<ul class="simple">
<li><p>Телефон/WhatsApp: +7 (995) 233-45-31</p></li>
<li><p>Почта: <a class="reference external" href="mailto:Support&#37;&#52;&#48;pyOpenRPA&#46;ru">Support<span>&#64;</span>pyOpenRPA<span>&#46;</span>ru</a></p></li>
<li><p>Телеграм: &#64;pyOpenRPA_support</p></li>
<li><p>Телеграм: &#64;pyOpenRPA_support :: <a class="reference external" href="https://t.me/pyOpenRPA_support">Написать</a></p></li>
<li><p>Портал: <a class="reference external" href="https://pyopenrpa.ru/">https://pyopenrpa.ru/</a></p></li>
<li><p>Телеграм канал: &#64;pyOpenRPA_support</p></li>
<li><p>Телеграм канал: &#64;pyOpenRPA :: <a class="reference external" href="https://t.me/pyOpenRPA">Присоединиться</a></p></li>
</ul>
</div>
<div class="section" id="id3">
<h2>Иван Маслов (Основатель &amp; генеральный директор)<a class="headerlink" href="#id3" title="Ссылка на этот заголовок"></a></h2>
<div class="section" id="id8">
<h2>Иван Маслов (генеральный директор ООО «ОПЕН РПА»)<a class="headerlink" href="#id8" title="Ссылка на этот заголовок"></a></h2>
<ul class="simple">
<li><p>Телефон/WhatsApp: +7 (906) 722-39-25</p></li>
<li><p>Почта: <a class="reference external" href="mailto:Ivan&#46;Maslov&#37;&#52;&#48;pyOpenRPA&#46;ru">Ivan<span>&#46;</span>Maslov<span>&#64;</span>pyOpenRPA<span>&#46;</span>ru</a></p></li>
<li><p>Телеграм: &#64;IvanMaslov</p></li>
<li><p>Телеграм: &#64;IvanMaslov :: <a class="reference external" href="https://t.me/IvanMaslov">Написать</a></p></li>
<li><p>Портал: <a class="reference external" href="https://pyopenrpa.ru/">https://pyopenrpa.ru/</a></p></li>
<li><p>Телеграм канал: &#64;pyOpenRPA_support</p></li>
<li><p>Телеграм канал: &#64;pyOpenRPA :: <a class="reference external" href="https://t.me/pyOpenRPA">Присоединиться</a></p></li>
</ul>
</div>
<div class="section" id="id4">
<h2>Используемые сторонние компоненты (лицензионная чистота)<a class="headerlink" href="#id4" title="Ссылка на этот заголовок"></a></h2>
<div class="section" id="id11">
<h2>Используемые сторонние компоненты (лицензионная чистота)<a class="headerlink" href="#id11" title="Ссылка на этот заголовок"></a></h2>
<ul class="simple">
<li><p>WinPython, v3.7.1 32-bit &amp; 64-bit, лицензия MIT <a class="reference external" href="https://github.com/winpython/winpython">https://github.com/winpython/winpython</a></p></li>
<li><p>Selenium, v3.141.0, лицензия Apache 2.0 <a class="reference external" href="https://github.com/SeleniumHQ/selenium/blob/trunk/LICENSE">https://github.com/SeleniumHQ/selenium/blob/trunk/LICENSE</a></p></li>
<li><p>pywinauto, v0.6.5, лицензия BSD 3-Clause <a class="reference external" href="https://github.com/pywinauto/pywinauto">https://github.com/pywinauto/pywinauto</a></p></li>
<li><p>Semantic UI, v2.4.1, лицензия MIT <a class="reference external" href="https://github.com/Semantic-Org/Semantic-UI">https://github.com/Semantic-Org/Semantic-UI</a></p></li>
<li><p>PyAutoGUI, v0.9.44, лицензия BSD 3-Clause <a class="reference external" href="https://github.com/asweigart/pyautogui">https://github.com/asweigart/pyautogui</a></p></li>
<li><p>keyboard, v0.13.3, лицензия MIT <a class="reference external" href="https://github.com/boppreh/keyboard">https://github.com/boppreh/keyboard</a>)</p></li>
<li><p>pywin32 (win32api), v228, Python Software Foundation лицензия (PSF) <a class="reference external" href="https://github.com/mhammond/pywin32">https://github.com/mhammond/pywin32</a></p></li>
<li><p>WMI, v1.4.9, лицензия MIT, <a class="reference external" href="http://www.opensource.org/licenses/mit-license.php">http://www.opensource.org/licenses/mit-license.php</a></p></li>
<li><p>psutil, v5.6.2, лицензия BSD 3-Clause <a class="reference external" href="https://github.com/giampaolo/psutil/blob/master/LICENSE">https://github.com/giampaolo/psutil/blob/master/LICENSE</a></p></li>
<li><p>Pillow PIL, v6.0.0, лицензия HPND <a class="reference external" href="https://github.com/python-pillow/Pillow/blob/main/LICENSE">https://github.com/python-pillow/Pillow/blob/main/LICENSE</a></p></li>
<li><p>requests, v2.22.0, лицензия Apache 2.0 <a class="reference external" href="https://github.com/psf/requests/blob/main/LICENSE">https://github.com/psf/requests/blob/main/LICENSE</a></p></li>
<li><p>JsRender, v1.0.2, лицензия MIT <a class="reference external" href="https://github.com/BorisMoore/jsrender/blob/master/MIT-LICENSE.txt">https://github.com/BorisMoore/jsrender/blob/master/MIT-LICENSE.txt</a></p></li>
<li><p>Handlebars, v4.1.2, лицензия MIT, <a class="reference external" href="https://github.com/handlebars-lang/handlebars.js/blob/master/LICENSE">https://github.com/handlebars-lang/handlebars.js/blob/master/LICENSE</a></p></li>
<li><p>jinja2, v2.11.2, лицензия BSD 3-Clause, <a class="reference external" href="https://github.com/pallets/jinja/blob/main/LICENSE.rst">https://github.com/pallets/jinja/blob/main/LICENSE.rst</a></p></li>
<li><p>JupiterNotebook v6.1.4, лицензия BSD 3-Clause, <a class="reference external" href="https://github.com/jupyter/notebook/blob/main/LICENSE">https://github.com/jupyter/notebook/blob/main/LICENSE</a></p></li>
<li><p>schedule, v1.1.0, лицензия MIT, <a class="reference external" href="https://github.com/dbader/schedule/blob/master/LICENSE.txt">https://github.com/dbader/schedule/blob/master/LICENSE.txt</a></p></li>
</ul>
</div>
<div class="section" id="id12">
<h2>Быстрая навигация<a class="headerlink" href="#id12" title="Ссылка на этот заголовок"></a></h2>
<ul class="simple">
<li><p>WinPython, v3.7.1 32-bit &amp; 64-bit, лицензия MIT (<a class="reference external" href="https://github.com/winpython/winpython">https://github.com/winpython/winpython</a>)</p></li>
<li><p>Selenium, v…, лицензия Apache 2.0 (<a class="reference external" href="https://github.com/SeleniumHQ/selenium/blob/trunk/LICENSE">https://github.com/SeleniumHQ/selenium/blob/trunk/LICENSE</a>)</p></li>
<li><p>pywinauto, v0.6.5, лицензия BSD 3-Clause (<a class="reference external" href="https://github.com/pywinauto/pywinauto">https://github.com/pywinauto/pywinauto</a>)</p></li>
<li><p>Semantic UI, v…, лицензия MIT (<a class="reference external" href="https://github.com/Semantic-Org/Semantic-UI">https://github.com/Semantic-Org/Semantic-UI</a>)</p></li>
<li><p>PyAutoGUI, v…, лицензия BSD 3-Clause (<a class="reference external" href="https://github.com/asweigart/pyautogui">https://github.com/asweigart/pyautogui</a>)</p></li>
<li><p>keyboard, v…, лицензия MIT (<a class="reference external" href="https://github.com/boppreh/keyboard">https://github.com/boppreh/keyboard</a>)</p></li>
<li><p>pywin32 (win32api), v…, Python Software Foundation лицензия (PSF) (<a class="reference external" href="https://github.com/mhammond/pywin32">https://github.com/mhammond/pywin32</a>)</p></li>
<li><p>WMI, v…, лицензия MIT, (<a class="reference external" href="http://www.opensource.org/licenses/mit-license.php">http://www.opensource.org/licenses/mit-license.php</a>)</p></li>
<li><p>psutil, v…, лицензия BSD 3-Clause (<a class="reference external" href="https://github.com/giampaolo/psutil/blob/master/LICENSE">https://github.com/giampaolo/psutil/blob/master/LICENSE</a>)</p></li>
<li><p>Pillow PIL, v…, лицензия HPND (<a class="reference external" href="https://github.com/python-pillow/Pillow/blob/main/LICENSE">https://github.com/python-pillow/Pillow/blob/main/LICENSE</a>)</p></li>
<li><p>requests, v…, лицензия Apache 2.0 (<a class="reference external" href="https://github.com/psf/requests/blob/main/LICENSE">https://github.com/psf/requests/blob/main/LICENSE</a>)</p></li>
<li><p>JsRender, v…, лицензия MIT (<a class="reference external" href="https://github.com/BorisMoore/jsrender/blob/master/MIT-LICENSE.txt">https://github.com/BorisMoore/jsrender/blob/master/MIT-LICENSE.txt</a>)</p></li>
<li><p>Handlebars, v…, лицензия MIT, (<a class="reference external" href="https://github.com/handlebars-lang/handlebars.js/blob/master/LICENSE">https://github.com/handlebars-lang/handlebars.js/blob/master/LICENSE</a>)</p></li>
<li><p>jinja2, v…, лицензия BSD 3-Clause, (<a class="reference external" href="https://github.com/pallets/jinja/blob/main/LICENSE.rst">https://github.com/pallets/jinja/blob/main/LICENSE.rst</a>)</p></li>
<li><p><a class="reference external" href="https://t.me/pyOpenRPA">Сообщество pyOpenRPA (telegram)</a></p></li>
<li><p><a class="reference external" href="https://tenchat.ru/iMaslov?utm_source=19f2a84f-3268-437f-950c-d987ae42af24">Сообщество pyOpenRPA (tenchat)</a></p></li>
<li><p><a class="reference external" href="https://vk.com/pyopenrpa">Сообщество pyOpenRPA (вконтакте)</a></p></li>
<li><p><a class="reference external" href="https://pyopenrpa.ru/Index/pyOpenRPA_product_service.pdf">Презентация pyOpenRPA</a></p></li>
<li><p><a class="reference external" href="https://pyopenrpa.ru">Портал pyOpenRPA</a></p></li>
<li><p><a class="reference external" href="https://gitlab.com/UnicodeLabs/OpenRPA">Репозиторий pyOpenRPA</a></p></li>
</ul>
<p> .. v1.2.12 replace:: v1.2.12
.. <a href="#id5"><span class="problematic" id="id6">|author|</span></a> replace:: Ivan Maslov &lt;<a class="reference external" href="mailto:ivan&#46;maslov&#37;&#52;&#48;unicodelabs&#46;ru">ivan<span>&#46;</span>maslov<span>&#64;</span>unicodelabs<span>&#46;</span>ru</a>&gt;</p>
<p> .. v1.2.12 replace:: v1.2.12</p>
<p></p>
</div>
</div>

@ -7,7 +7,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>2. Defs &mdash; документация pyOpenRPA v1.2.12 v1.2.12</title>
<title>2. Функции &mdash; документация pyOpenRPA v1.2.12 v1.2.12</title>
@ -41,8 +41,8 @@
<link rel="index" title="Алфавитный указатель" href="../genindex.html" />
<link rel="search" title="Поиск" href="../search.html" />
<link rel="next" title="2. Defs StopSafe" href="../Tools/02_Defs.html" />
<link rel="prev" title="6. Defs Managers" href="../Orchestrator/06_Defs%20Managers.html" />
<link rel="next" title="2. Функции StopSafe" href="../Tools/02_Defs.html" />
<link rel="prev" title="5. Права доступа пользователей UAC" href="../Orchestrator/05_UAC.html" />
</head>
<body class="wy-body-for-nav">
@ -91,20 +91,18 @@
<ul>
<li class="toctree-l1"><a class="reference external" href="https://pyopenrpa.ru/wiki/guide/index">Выбрать версию</a></li>
<li class="toctree-l1"><a class="reference internal" href="../01_HowToInstall.html">1. Первый запуск</a></li>
<li class="toctree-l1"><a class="reference internal" href="../03_Copyrights_Contacts.html">2. Права &amp; Контакты</a></li>
<li class="toctree-l1"><a class="reference internal" href="../03_Copyrights_Contacts.html">2. Лицензия &amp; Контакты</a></li>
</ul>
<p class="caption"><span class="caption-text">МОДУЛЬ РОБОТ</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../Robot/01_Robot.html">1. Описание</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Robot/02_Defs.html">2. Функции</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Robot/02_uidesktop.html">2. UIDesktop</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Robot/03_uiweb.html">3. UIWeb</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Robot/04_keyboard.html">4. Keyboard</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Robot/05_clipboard.html">5. Clipboard</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Robot/06_mouse.html">6. Mouse</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Robot/07_image.html">7. Image</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Robot/02_uidesktop.html">2. Функции UIDesktop</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Robot/03_uiweb.html">3. Функции UIWeb</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Robot/04_keyboard.html">4. Функции Keyboard</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Robot/05_clipboard.html">5. Функции Clipboard</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Robot/06_mouse.html">6. Функции Mouse</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Robot/07_image.html">7. Функции Image</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Robot/08_HowToUse.html">8. Как использовать?</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Robot/09_Dependencies.html">9. Зависимости</a></li>
</ul>
<p class="caption"><span class="caption-text">МОДУЛЬ СТУДИЯ</span></p>
<ul>
@ -113,24 +111,22 @@
</ul>
<p class="caption"><span class="caption-text">МОДУЛЬ ОРКЕСТРАТОР</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../Orchestrator/01_Orchestrator.html">1. Description</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Orchestrator/02_Defs.html">2. Defs</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Orchestrator/03_gSettingsTemplate.html">3. gSettings Template</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Orchestrator/04_HowToUse.html">4. How to use</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Orchestrator/05_UAC.html">5. UAC - User Access Control</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Orchestrator/06_Defs%20Managers.html">6. Defs Managers</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Orchestrator/01_Orchestrator.html">1. Описание</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Orchestrator/02_Defs.html">2. Функции</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Orchestrator/03_gSettingsTemplate.html">3. Настройки GSettings (шаблон)</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Orchestrator/04_HowToUse.html">4. Как использовать?</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Orchestrator/05_UAC.html">5. Права доступа пользователей UAC</a></li>
</ul>
<p class="caption"><span class="caption-text">МОДУЛЬ АГЕНТ</span></p>
<ul class="current">
<li class="toctree-l1 current"><a class="current reference internal" href="#">2. Defs</a><ul>
<li class="toctree-l1 current"><a class="current reference internal" href="#">2. Функции</a><ul>
<li class="toctree-l2"><a class="reference internal" href="#module-pyOpenRPA.Agent.__Agent__">pyOpenRPA.Agent.__Agent__</a></li>
<li class="toctree-l2"><a class="reference internal" href="#references">References</a></li>
</ul>
</li>
</ul>
<p class="caption"><span class="caption-text">ИНСТРУМЕНТЫ</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../Tools/02_Defs.html">2. Defs StopSafe</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Tools/02_Defs.html">2. Функции StopSafe</a></li>
</ul>
@ -179,7 +175,7 @@
<li><a href="../index.html" class="icon icon-home"></a> &raquo;</li>
<li>2. Defs</li>
<li>2. Функции</li>
<li class="wy-breadcrumbs-aside">
@ -198,8 +194,8 @@
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody">
<div class="section" id="defs">
<h1>2. Defs<a class="headerlink" href="#defs" title="Ссылка на этот заголовок"></a></h1>
<div class="section" id="id1">
<h1>2. Функции<a class="headerlink" href="#id1" title="Ссылка на этот заголовок"></a></h1>
<div class="section" id="module-pyOpenRPA.Agent.__Agent__">
<span id="pyopenrpa-agent-agent"></span><h2>pyOpenRPA.Agent.__Agent__<a class="headerlink" href="#module-pyOpenRPA.Agent.__Agent__" title="Ссылка на этот заголовок"></a></h2>
<p><strong>Functions:</strong></p>
@ -350,17 +346,7 @@
</dl>
</dd></dl>
</div>
<div class="section" id="references">
<h2>References<a class="headerlink" href="#references" title="Ссылка на этот заголовок"></a></h2>
<p><a class="reference external" href="http://docutils.sourceforge.net/rst.html">reStructuredText</a> <a class="footnote-reference brackets" href="#id3" id="id4">1</a></p>
<dl class="footnote brackets">
<dt class="label" id="id3"><span class="brackets"><a class="fn-backref" href="#id4">1</a></span></dt>
<dd><p><a class="reference external" href="http://docutils.sourceforge.net/rst.html">http://docutils.sourceforge.net/rst.html</a></p>
</dd>
</dl>
<p> .. v1.2.12 replace:: v1.2.12
.. <a href="#id1"><span class="problematic" id="id2">|author|</span></a> replace:: Ivan Maslov &lt;<a class="reference external" href="mailto:ivan&#46;maslov&#37;&#52;&#48;unicodelabs&#46;ru">ivan<span>&#46;</span>maslov<span>&#64;</span>unicodelabs<span>&#46;</span>ru</a>&gt;</p>
<p> .. v1.2.12 replace:: v1.2.12</p>
<p></p>
</div>
</div>
@ -371,8 +357,8 @@
</div>
<footer>
<div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
<a href="../Tools/02_Defs.html" class="btn btn-neutral float-right" title="2. Defs StopSafe" accesskey="n" rel="next">Следующая <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
<a href="../Orchestrator/06_Defs%20Managers.html" class="btn btn-neutral float-left" title="6. Defs Managers" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Предыдущая</a>
<a href="../Tools/02_Defs.html" class="btn btn-neutral float-right" title="2. Функции StopSafe" accesskey="n" rel="next">Следующая <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
<a href="../Orchestrator/05_UAC.html" class="btn btn-neutral float-left" title="5. Права доступа пользователей UAC" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Предыдущая</a>
</div>
<hr/>

@ -7,7 +7,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>1. Description &mdash; документация pyOpenRPA v1.2.12 v1.2.12</title>
<title>1. Описание &mdash; документация pyOpenRPA v1.2.12 v1.2.12</title>
@ -41,7 +41,7 @@
<link rel="index" title="Алфавитный указатель" href="../genindex.html" />
<link rel="search" title="Поиск" href="../search.html" />
<link rel="next" title="2. Defs" href="02_Defs.html" />
<link rel="next" title="2. Функции" href="02_Defs.html" />
<link rel="prev" title="2. Как использовать?" href="../Studio/02_HowToUse.html" />
</head>
@ -91,20 +91,18 @@
<ul>
<li class="toctree-l1"><a class="reference external" href="https://pyopenrpa.ru/wiki/guide/index">Выбрать версию</a></li>
<li class="toctree-l1"><a class="reference internal" href="../01_HowToInstall.html">1. Первый запуск</a></li>
<li class="toctree-l1"><a class="reference internal" href="../03_Copyrights_Contacts.html">2. Права &amp; Контакты</a></li>
<li class="toctree-l1"><a class="reference internal" href="../03_Copyrights_Contacts.html">2. Лицензия &amp; Контакты</a></li>
</ul>
<p class="caption"><span class="caption-text">МОДУЛЬ РОБОТ</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../Robot/01_Robot.html">1. Описание</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Robot/02_Defs.html">2. Функции</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Robot/02_uidesktop.html">2. UIDesktop</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Robot/03_uiweb.html">3. UIWeb</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Robot/04_keyboard.html">4. Keyboard</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Robot/05_clipboard.html">5. Clipboard</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Robot/06_mouse.html">6. Mouse</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Robot/07_image.html">7. Image</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Robot/02_uidesktop.html">2. Функции UIDesktop</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Robot/03_uiweb.html">3. Функции UIWeb</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Robot/04_keyboard.html">4. Функции Keyboard</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Robot/05_clipboard.html">5. Функции Clipboard</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Robot/06_mouse.html">6. Функции Mouse</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Robot/07_image.html">7. Функции Image</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Robot/08_HowToUse.html">8. Как использовать?</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Robot/09_Dependencies.html">9. Зависимости</a></li>
</ul>
<p class="caption"><span class="caption-text">МОДУЛЬ СТУДИЯ</span></p>
<ul>
@ -113,27 +111,25 @@
</ul>
<p class="caption"><span class="caption-text">МОДУЛЬ ОРКЕСТРАТОР</span></p>
<ul class="current">
<li class="toctree-l1 current"><a class="current reference internal" href="#">1. Description</a><ul>
<li class="toctree-l2"><a class="reference internal" href="#global-settings-dict-concept">Global settings dict concept</a></li>
<li class="toctree-l2"><a class="reference internal" href="#orchestrator-how-to-configure">Orchestrator how to configure</a></li>
<li class="toctree-l2"><a class="reference internal" href="#orchestrator-architecture">Orchestrator architecture</a></li>
<li class="toctree-l2"><a class="reference internal" href="#component-processor">Component Processor</a></li>
<li class="toctree-l2"><a class="reference internal" href="#references">References</a></li>
<li class="toctree-l1 current"><a class="current reference internal" href="#">1. Описание</a><ul>
<li class="toctree-l2"><a class="reference internal" href="#id2">Общее</a></li>
<li class="toctree-l2"><a class="reference internal" href="#gsettings">Концепция единого глобального словаря настроек (GSettings)</a></li>
<li class="toctree-l2"><a class="reference internal" href="#id3">Архитектура</a></li>
<li class="toctree-l2"><a class="reference internal" href="#id4">Быстрая навигация</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="02_Defs.html">2. Defs</a></li>
<li class="toctree-l1"><a class="reference internal" href="03_gSettingsTemplate.html">3. gSettings Template</a></li>
<li class="toctree-l1"><a class="reference internal" href="04_HowToUse.html">4. How to use</a></li>
<li class="toctree-l1"><a class="reference internal" href="05_UAC.html">5. UAC - User Access Control</a></li>
<li class="toctree-l1"><a class="reference internal" href="06_Defs%20Managers.html">6. Defs Managers</a></li>
<li class="toctree-l1"><a class="reference internal" href="02_Defs.html">2. Функции</a></li>
<li class="toctree-l1"><a class="reference internal" href="03_gSettingsTemplate.html">3. Настройки GSettings (шаблон)</a></li>
<li class="toctree-l1"><a class="reference internal" href="04_HowToUse.html">4. Как использовать?</a></li>
<li class="toctree-l1"><a class="reference internal" href="05_UAC.html">5. Права доступа пользователей UAC</a></li>
</ul>
<p class="caption"><span class="caption-text">МОДУЛЬ АГЕНТ</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../Agent/02_Defs.html">2. Defs</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Agent/02_Defs.html">2. Функции</a></li>
</ul>
<p class="caption"><span class="caption-text">ИНСТРУМЕНТЫ</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../Tools/02_Defs.html">2. Defs StopSafe</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Tools/02_Defs.html">2. Функции StopSafe</a></li>
</ul>
@ -182,7 +178,7 @@
<li><a href="../index.html" class="icon icon-home"></a> &raquo;</li>
<li>1. Description</li>
<li>1. Описание</li>
<li class="wy-breadcrumbs-aside">
@ -201,77 +197,61 @@
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody">
<div class="section" id="description">
<h1>1. Description<a class="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>
<div class="section" id="global-settings-dict-concept">
<h2>Global settings dict concept<a class="headerlink" href="#global-settings-dict-concept" title="Ссылка на этот заголовок"></a></h2>
<p>pyOpenRPA project is complex tool which consist of several executable modules such as Robot, Orchestrator, Studio,</p>
<p>Because of module compexity, we use 1 init arg - inGSettings
inGSettings is a complex dictionary which has all reqired parameters for the module execution.</p>
<p>The description of the GSettings you can find in executable module details.</p>
</div>
<div class="section" id="orchestrator-how-to-configure">
<h2>Orchestrator how to configure<a class="headerlink" href="#orchestrator-how-to-configure" title="Ссылка на этот заголовок"></a></h2>
<p>To init pyOpenRPA Orchestrator instance use script:</p>
<p>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</p>
<p>gSettings structure</p>
<div class="section" id="module-orchestrator-dscription">
<span id="id1"></span><h1>1. Описание<a class="headerlink" href="#module-orchestrator-dscription" title="Ссылка на этот заголовок"></a></h1>
<div class="section" id="id2">
<h2>Общее<a class="headerlink" href="#id2" title="Ссылка на этот заголовок"></a></h2>
<p>Модуль оркестратор - это координирующее звено, которое обеспечивает бесперебойную работа массива роботов. Этот массив может состоять как из одного так и из тысячи роботов RPA.</p>
<p><strong>Основные возможности</strong></p>
<ul class="simple">
<li><p>Запуск / пауза / безопасная остановка / принудительная остановка робота</p></li>
<li><p>Интеллектуальное расписание</p></li>
<li><p>Просмотр состояния графических сессий роботов через панель управления</p></li>
<li><p>Удаленное администрирование сессий оркестратора и робота</p></li>
<li><p>Среда отладки функциональности через панель управления оркестратора</p></li>
<li><p>Консолидированное хранилище логов, доступное для просмотра через панель управления</p></li>
<li><p>Ролевая модель разграничения доступа</p></li>
<li><p>Функциональность очередей для координации роботов</p></li>
</ul>
</div>
<div class="section" id="orchestrator-architecture">
<h2>Orchestrator architecture<a class="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>
<div class="section" id="gsettings">
<h2>Концепция единого глобального словаря настроек (GSettings)<a class="headerlink" href="#gsettings" title="Ссылка на этот заголовок"></a></h2>
<p>pyOpenRPA - это сложное решение, которое направлено на упрощение жизни пользователей и разработчиков роботов.</p>
<p>Для того, чтобы предлагать рынку гибкое, адаптивное и надежное решение, одним из архитектурных решений был выбран подхъод хранения !ВСЕЙ! конфигурационной информации в едином словаре, который мы называем GSettings.</p>
<p>GSettings - это многоуровневая и иерархичная структура, которая позволяет произвести широкую кастомизацию под свои нужды, и в то же время быть открытой к внедрению новых возможностей.</p>
<p>Ознакомиться со структурой GSettings можно по ссылке: <a class="reference internal" href="03_gSettingsTemplate.html#module-orchestrator-gsettings"><span class="std std-ref">3. Настройки GSettings (шаблон)</span></a></p>
<p>Мы не рекомендуем вносить изменения напрямую в GSettings, хоть мы и оставляем такую возможность. Для корректировки функциональности Вы можете воспользоваться соответствующей функцией в модуле Оркестратора (см. здесь: <a class="reference internal" href="02_Defs.html#module-orchestrator-defs"><span class="std std-ref">2. Функции</span></a>)</p>
<p>Используя специальные функции модуля Оркестратора вы существенно увеличиваете шансы бесшовного перехода на новые версии pyOpenRPA, если вам это потребуется.</p>
</div>
<div class="section" id="component-processor">
<h2>Component Processor<a class="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>
<div class="section" id="id3">
<h2>Архитектура<a class="headerlink" href="#id3" title="Ссылка на этот заголовок"></a></h2>
<p>Оркестратор состоит из следующих основных потоков:</p>
<ul class="simple">
<li><p>Activity list</p></li>
<li><p>Процессорная очередь активностей (ActivityItem) (Processor)</p></li>
<li><p>Функциональность асинхронного исполнения активностей (ActivityItem) (Processor)</p></li>
<li><p>Поток интеллектуального расписания (main)</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>Ознакомиться с возможностями и функциями оркестратора можно по ссылке: <a class="reference internal" href="02_Defs.html#module-orchestrator-defs"><span class="std std-ref">2. Функции</span></a></p>
<p>Дорогие коллеги!</p>
<p>Мы знаем, что с pyOpenRPA вы сможете существенно улучшить качество вашего бизнеса. Платформа роботизации pyOpenRPA - это разработка, которая дает возможность делать виртуальных сотрудников (программных роботов RPA) выгодными, начиная от эффекта всего в <strong>10 тыс. руб.</strong> И управлять ими будете только Вы!</p>
<p>Если у вас останутся вопросы, то вы всегда можете обратиться в центр поддержки клиентов pyOpenRPA. Контакты: <a class="reference internal" href="../03_Copyrights_Contacts.html#copyrights-contacts"><span class="std std-ref">2. Лицензия &amp; Контакты</span></a></p>
<p>pyOpenRPA - роботы помогут!</p>
</div>
<div class="section" id="id4">
<h2>Быстрая навигация<a class="headerlink" href="#id4" title="Ссылка на этот заголовок"></a></h2>
<ul class="simple">
<li><p>Activity item</p></li>
<li><p><a class="reference external" href="https://t.me/pyOpenRPA">Сообщество pyOpenRPA (telegram)</a></p></li>
<li><p><a class="reference external" href="https://tenchat.ru/iMaslov?utm_source=19f2a84f-3268-437f-950c-d987ae42af24">Сообщество pyOpenRPA (tenchat)</a></p></li>
<li><p><a class="reference external" href="https://vk.com/pyopenrpa">Сообщество pyOpenRPA (вконтакте)</a></p></li>
<li><p><a class="reference external" href="https://pyopenrpa.ru/Index/pyOpenRPA_product_service.pdf">Презентация pyOpenRPA</a></p></li>
<li><p><a class="reference external" href="https://pyopenrpa.ru">Портал pyOpenRPA</a></p></li>
<li><p><a class="reference external" href="https://gitlab.com/UnicodeLabs/OpenRPA">Репозиторий pyOpenRPA</a></p></li>
</ul>
<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 cant 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>
<div class="admonition note">
<p class="admonition-title">Примечание</p>
<p>Example
{</p>
<blockquote>
<div><p>«Def»:»DefAliasTest», # def link or def alias (look gSettings[«Processor»][«AliasDefDict»])
«ArgList»:[1,2,3], # Args list
«ArgDict»:{«ttt»:1,»222»:2,»dsd»:3}, # Args dictionary
«ArgGSettings»: None # Name of GSettings attribute: str (ArgDict) or index (for ArgList)
«ArgLogger»: None # Name of GSettings attribute: str (ArgDict) or index (for ArgList)</p>
</div></blockquote>
<p>}# Pay attention! Do not left comma symbol after the end of the dict - it can be interpretated like a turple..</p>
</div>
</div>
<div class="section" id="references">
<h2>References<a class="headerlink" href="#references" title="Ссылка на этот заголовок"></a></h2>
<p><a href="#id3"><span class="problematic" id="id4">`Python-sphinx`_</span></a></p>
<p> .. v1.2.12 replace:: v1.2.12
.. <a href="#id1"><span class="problematic" id="id2">|author|</span></a> replace:: Ivan Maslov &lt;<a class="reference external" href="mailto:ivan&#46;maslov&#37;&#52;&#48;unicodelabs&#46;ru">ivan<span>&#46;</span>maslov<span>&#64;</span>unicodelabs<span>&#46;</span>ru</a>&gt;</p>
<p> .. v1.2.12 replace:: v1.2.12</p>
<p></p>
</div>
</div>
@ -282,7 +262,7 @@ Because the WEB space is not the Python executable space. Interaction between it
</div>
<footer>
<div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
<a href="02_Defs.html" class="btn btn-neutral float-right" title="2. Defs" accesskey="n" rel="next">Следующая <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
<a href="02_Defs.html" class="btn btn-neutral float-right" title="2. Функции" accesskey="n" rel="next">Следующая <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
<a href="../Studio/02_HowToUse.html" class="btn btn-neutral float-left" title="2. Как использовать?" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Предыдущая</a>
</div>

File diff suppressed because it is too large Load Diff

@ -7,7 +7,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>3. gSettings Template &mdash; документация pyOpenRPA v1.2.12 v1.2.12</title>
<title>3. Настройки GSettings (шаблон) &mdash; документация pyOpenRPA v1.2.12 v1.2.12</title>
@ -41,8 +41,8 @@
<link rel="index" title="Алфавитный указатель" href="../genindex.html" />
<link rel="search" title="Поиск" href="../search.html" />
<link rel="next" title="4. How to use" href="04_HowToUse.html" />
<link rel="prev" title="2. Defs" href="02_Defs.html" />
<link rel="next" title="4. Как использовать?" href="04_HowToUse.html" />
<link rel="prev" title="2. Функции" href="02_Defs.html" />
</head>
<body class="wy-body-for-nav">
@ -91,20 +91,18 @@
<ul>
<li class="toctree-l1"><a class="reference external" href="https://pyopenrpa.ru/wiki/guide/index">Выбрать версию</a></li>
<li class="toctree-l1"><a class="reference internal" href="../01_HowToInstall.html">1. Первый запуск</a></li>
<li class="toctree-l1"><a class="reference internal" href="../03_Copyrights_Contacts.html">2. Права &amp; Контакты</a></li>
<li class="toctree-l1"><a class="reference internal" href="../03_Copyrights_Contacts.html">2. Лицензия &amp; Контакты</a></li>
</ul>
<p class="caption"><span class="caption-text">МОДУЛЬ РОБОТ</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../Robot/01_Robot.html">1. Описание</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Robot/02_Defs.html">2. Функции</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Robot/02_uidesktop.html">2. UIDesktop</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Robot/03_uiweb.html">3. UIWeb</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Robot/04_keyboard.html">4. Keyboard</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Robot/05_clipboard.html">5. Clipboard</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Robot/06_mouse.html">6. Mouse</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Robot/07_image.html">7. Image</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Robot/02_uidesktop.html">2. Функции UIDesktop</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Robot/03_uiweb.html">3. Функции UIWeb</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Robot/04_keyboard.html">4. Функции Keyboard</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Robot/05_clipboard.html">5. Функции Clipboard</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Robot/06_mouse.html">6. Функции Mouse</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Robot/07_image.html">7. Функции Image</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Robot/08_HowToUse.html">8. Как использовать?</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Robot/09_Dependencies.html">9. Зависимости</a></li>
</ul>
<p class="caption"><span class="caption-text">МОДУЛЬ СТУДИЯ</span></p>
<ul>
@ -113,20 +111,24 @@
</ul>
<p class="caption"><span class="caption-text">МОДУЛЬ ОРКЕСТРАТОР</span></p>
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="01_Orchestrator.html">1. Description</a></li>
<li class="toctree-l1"><a class="reference internal" href="02_Defs.html">2. Defs</a></li>
<li class="toctree-l1 current"><a class="current reference internal" href="#">3. gSettings Template</a></li>
<li class="toctree-l1"><a class="reference internal" href="04_HowToUse.html">4. How to use</a></li>
<li class="toctree-l1"><a class="reference internal" href="05_UAC.html">5. UAC - User Access Control</a></li>
<li class="toctree-l1"><a class="reference internal" href="06_Defs%20Managers.html">6. Defs Managers</a></li>
<li class="toctree-l1"><a class="reference internal" href="01_Orchestrator.html">1. Описание</a></li>
<li class="toctree-l1"><a class="reference internal" href="02_Defs.html">2. Функции</a></li>
<li class="toctree-l1 current"><a class="current reference internal" href="#">3. Настройки GSettings (шаблон)</a><ul>
<li class="toctree-l2"><a class="reference internal" href="#id1">Общее</a></li>
<li class="toctree-l2"><a class="reference internal" href="#id2">Структура</a></li>
<li class="toctree-l2"><a class="reference internal" href="#id3">Быстрая навигация</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="04_HowToUse.html">4. Как использовать?</a></li>
<li class="toctree-l1"><a class="reference internal" href="05_UAC.html">5. Права доступа пользователей UAC</a></li>
</ul>
<p class="caption"><span class="caption-text">МОДУЛЬ АГЕНТ</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../Agent/02_Defs.html">2. Defs</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Agent/02_Defs.html">2. Функции</a></li>
</ul>
<p class="caption"><span class="caption-text">ИНСТРУМЕНТЫ</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../Tools/02_Defs.html">2. Defs StopSafe</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Tools/02_Defs.html">2. Функции StopSafe</a></li>
</ul>
@ -175,7 +177,7 @@
<li><a href="../index.html" class="icon icon-home"></a> &raquo;</li>
<li>3. gSettings Template</li>
<li>3. Настройки GSettings (шаблон)</li>
<li class="wy-breadcrumbs-aside">
@ -194,9 +196,14 @@
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody">
<div class="section" id="gsettings-template">
<h1>3. gSettings Template<a class="headerlink" href="#gsettings-template" title="Ссылка на этот заголовок"></a></h1>
<p>gSettings structure</p>
<div class="section" id="gsettings">
<span id="module-orchestrator-gsettings"></span><h1>3. Настройки GSettings (шаблон)<a class="headerlink" href="#gsettings" title="Ссылка на этот заголовок"></a></h1>
<div class="section" id="id1">
<h2>Общее<a class="headerlink" href="#id1" title="Ссылка на этот заголовок"></a></h2>
<p>Ниже представлена структура единого глобального словаря настроек GSettings</p>
</div>
<div class="section" id="id2">
<h2>Структура<a class="headerlink" href="#id2" title="Ссылка на этот заголовок"></a></h2>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="kn">import</span> <span class="nn">os</span><span class="o">,</span> <span class="nn">logging</span><span class="o">,</span> <span class="nn">datetime</span><span class="o">,</span> <span class="nn">sys</span>
<span class="kn">import</span> <span class="nn">schedule</span> <span class="c1"># https://schedule.readthedocs.io/en/stable/examples.html</span>
@ -562,9 +569,20 @@
<span class="k">return</span> <span class="n">lResult</span> <span class="c1"># return the result dict</span>
</pre></div>
</div>
<p> .. v1.2.12 replace:: v1.2.12
.. <a href="#id1"><span class="problematic" id="id2">|author|</span></a> replace:: Ivan Maslov &lt;<a class="reference external" href="mailto:ivan&#46;maslov&#37;&#52;&#48;unicodelabs&#46;ru">ivan<span>&#46;</span>maslov<span>&#64;</span>unicodelabs<span>&#46;</span>ru</a>&gt;</p>
</div>
<div class="section" id="id3">
<h2>Быстрая навигация<a class="headerlink" href="#id3" title="Ссылка на этот заголовок"></a></h2>
<ul class="simple">
<li><p><a class="reference external" href="https://t.me/pyOpenRPA">Сообщество pyOpenRPA (telegram)</a></p></li>
<li><p><a class="reference external" href="https://tenchat.ru/iMaslov?utm_source=19f2a84f-3268-437f-950c-d987ae42af24">Сообщество pyOpenRPA (tenchat)</a></p></li>
<li><p><a class="reference external" href="https://vk.com/pyopenrpa">Сообщество pyOpenRPA (вконтакте)</a></p></li>
<li><p><a class="reference external" href="https://pyopenrpa.ru/Index/pyOpenRPA_product_service.pdf">Презентация pyOpenRPA</a></p></li>
<li><p><a class="reference external" href="https://pyopenrpa.ru">Портал pyOpenRPA</a></p></li>
<li><p><a class="reference external" href="https://gitlab.com/UnicodeLabs/OpenRPA">Репозиторий pyOpenRPA</a></p></li>
</ul>
<p> .. v1.2.12 replace:: v1.2.12</p>
<p></p>
</div>
</div>
@ -573,8 +591,8 @@
</div>
<footer>
<div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
<a href="04_HowToUse.html" class="btn btn-neutral float-right" title="4. How to use" accesskey="n" rel="next">Следующая <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
<a href="02_Defs.html" class="btn btn-neutral float-left" title="2. Defs" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Предыдущая</a>
<a href="04_HowToUse.html" class="btn btn-neutral float-right" title="4. Как использовать?" accesskey="n" rel="next">Следующая <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
<a href="02_Defs.html" class="btn btn-neutral float-left" title="2. Функции" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Предыдущая</a>
</div>
<hr/>

@ -7,7 +7,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>4. How to use &mdash; документация pyOpenRPA v1.2.12 v1.2.12</title>
<title>4. Как использовать? &mdash; документация pyOpenRPA v1.2.12 v1.2.12</title>
@ -41,8 +41,8 @@
<link rel="index" title="Алфавитный указатель" href="../genindex.html" />
<link rel="search" title="Поиск" href="../search.html" />
<link rel="next" title="5. UAC - User Access Control" href="05_UAC.html" />
<link rel="prev" title="3. gSettings Template" href="03_gSettingsTemplate.html" />
<link rel="next" title="5. Права доступа пользователей UAC" href="05_UAC.html" />
<link rel="prev" title="3. Настройки GSettings (шаблон)" href="03_gSettingsTemplate.html" />
</head>
<body class="wy-body-for-nav">
@ -91,20 +91,18 @@
<ul>
<li class="toctree-l1"><a class="reference external" href="https://pyopenrpa.ru/wiki/guide/index">Выбрать версию</a></li>
<li class="toctree-l1"><a class="reference internal" href="../01_HowToInstall.html">1. Первый запуск</a></li>
<li class="toctree-l1"><a class="reference internal" href="../03_Copyrights_Contacts.html">2. Права &amp; Контакты</a></li>
<li class="toctree-l1"><a class="reference internal" href="../03_Copyrights_Contacts.html">2. Лицензия &amp; Контакты</a></li>
</ul>
<p class="caption"><span class="caption-text">МОДУЛЬ РОБОТ</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../Robot/01_Robot.html">1. Описание</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Robot/02_Defs.html">2. Функции</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Robot/02_uidesktop.html">2. UIDesktop</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Robot/03_uiweb.html">3. UIWeb</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Robot/04_keyboard.html">4. Keyboard</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Robot/05_clipboard.html">5. Clipboard</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Robot/06_mouse.html">6. Mouse</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Robot/07_image.html">7. Image</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Robot/02_uidesktop.html">2. Функции UIDesktop</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Robot/03_uiweb.html">3. Функции UIWeb</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Robot/04_keyboard.html">4. Функции Keyboard</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Robot/05_clipboard.html">5. Функции Clipboard</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Robot/06_mouse.html">6. Функции Mouse</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Robot/07_image.html">7. Функции Image</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Robot/08_HowToUse.html">8. Как использовать?</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Robot/09_Dependencies.html">9. Зависимости</a></li>
</ul>
<p class="caption"><span class="caption-text">МОДУЛЬ СТУДИЯ</span></p>
<ul>
@ -113,20 +111,24 @@
</ul>
<p class="caption"><span class="caption-text">МОДУЛЬ ОРКЕСТРАТОР</span></p>
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="01_Orchestrator.html">1. Description</a></li>
<li class="toctree-l1"><a class="reference internal" href="02_Defs.html">2. Defs</a></li>
<li class="toctree-l1"><a class="reference internal" href="03_gSettingsTemplate.html">3. gSettings Template</a></li>
<li class="toctree-l1 current"><a class="current reference internal" href="#">4. How to use</a></li>
<li class="toctree-l1"><a class="reference internal" href="05_UAC.html">5. UAC - User Access Control</a></li>
<li class="toctree-l1"><a class="reference internal" href="06_Defs%20Managers.html">6. Defs Managers</a></li>
<li class="toctree-l1"><a class="reference internal" href="01_Orchestrator.html">1. Описание</a></li>
<li class="toctree-l1"><a class="reference internal" href="02_Defs.html">2. Функции</a></li>
<li class="toctree-l1"><a class="reference internal" href="03_gSettingsTemplate.html">3. Настройки GSettings (шаблон)</a></li>
<li class="toctree-l1 current"><a class="current reference internal" href="#">4. Как использовать?</a><ul>
<li class="toctree-l2"><a class="reference internal" href="#id2">Как запустить?</a></li>
<li class="toctree-l2"><a class="reference internal" href="#id3">Параметры настройки</a></li>
<li class="toctree-l2"><a class="reference internal" href="#id4">Быстрая навигация</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="05_UAC.html">5. Права доступа пользователей UAC</a></li>
</ul>
<p class="caption"><span class="caption-text">МОДУЛЬ АГЕНТ</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../Agent/02_Defs.html">2. Defs</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Agent/02_Defs.html">2. Функции</a></li>
</ul>
<p class="caption"><span class="caption-text">ИНСТРУМЕНТЫ</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../Tools/02_Defs.html">2. Defs StopSafe</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Tools/02_Defs.html">2. Функции StopSafe</a></li>
</ul>
@ -175,7 +177,7 @@
<li><a href="../index.html" class="icon icon-home"></a> &raquo;</li>
<li>4. How to use</li>
<li>4. Как использовать?</li>
<li class="wy-breadcrumbs-aside">
@ -194,9 +196,16 @@
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody">
<div class="section" id="how-to-use">
<h1>4. How to use<a class="headerlink" href="#how-to-use" title="Ссылка на этот заголовок"></a></h1>
<p>You need to run orchestrator process?</p>
<div class="section" id="id1">
<h1>4. Как использовать?<a class="headerlink" href="#id1" title="Ссылка на этот заголовок"></a></h1>
<div class="section" id="id2">
<h2>Как запустить?<a class="headerlink" href="#id2" title="Ссылка на этот заголовок"></a></h2>
<p>Хотите выполнить запуск Оркестратора?</p>
<p><strong>Для этого достаточно (выбрать одно):</strong></p>
<ul class="simple">
<li><p>запустить .cmd файл, расположенный в папке pyOpenRPA по адресу: OrchestratorpyOpenRPA.Orchestrator_x64.cmd</p></li>
<li><p>в свой .py скрипт добавить следующий код (см. ниже)</p></li>
</ul>
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="k">if</span> <span class="vm">__name__</span> <span class="o">==</span> <span class="s2">&quot;__main__&quot;</span><span class="p">:</span> <span class="c1"># New init way - allow run as module -m PyOpenRPA.Orchestrator</span>
<span class="kn">from</span> <span class="nn">pyOpenRPA</span> <span class="kn">import</span> <span class="n">Orchestrator</span> <span class="c1"># Import orchestrator main</span>
<span class="n">gSettings</span> <span class="o">=</span> <span class="n">SettingsTemplate</span><span class="o">.</span><span class="n">Create</span><span class="p">(</span><span class="n">inModeStr</span><span class="o">=</span><span class="s2">&quot;BASIC&quot;</span><span class="p">)</span> <span class="c1"># Create GSettings with basic configuration - no more config is available from the box - you can create own</span>
@ -204,7 +213,10 @@
<span class="n">Orchestrator</span><span class="o">.</span><span class="n">Orchestrator</span><span class="p">(</span><span class="n">inGSettings</span><span class="o">=</span><span class="n">gSettings</span><span class="p">)</span>
</pre></div>
</div>
<p>If you need more configurations - so you can see here:</p>
</div>
<div class="section" id="id3">
<h2>Параметры настройки<a class="headerlink" href="#id3" title="Ссылка на этот заголовок"></a></h2>
<p>Также вы можете выполнить более тонкую настройку параметров Оркестратора. Ниже пример такой настройки:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="kn">import</span> <span class="nn">psutil</span><span class="o">,</span> <span class="nn">datetime</span><span class="o">,</span> <span class="nn">logging</span><span class="o">,</span> <span class="nn">os</span><span class="o">,</span> <span class="nn">sys</span>
@ -245,9 +257,20 @@
</pre></div>
</div>
<p> .. v1.2.12 replace:: v1.2.12
.. <a href="#id1"><span class="problematic" id="id2">|author|</span></a> replace:: Ivan Maslov &lt;<a class="reference external" href="mailto:ivan&#46;maslov&#37;&#52;&#48;unicodelabs&#46;ru">ivan<span>&#46;</span>maslov<span>&#64;</span>unicodelabs<span>&#46;</span>ru</a>&gt;</p>
</div>
<div class="section" id="id4">
<h2>Быстрая навигация<a class="headerlink" href="#id4" title="Ссылка на этот заголовок"></a></h2>
<ul class="simple">
<li><p><a class="reference external" href="https://t.me/pyOpenRPA">Сообщество pyOpenRPA (telegram)</a></p></li>
<li><p><a class="reference external" href="https://tenchat.ru/iMaslov?utm_source=19f2a84f-3268-437f-950c-d987ae42af24">Сообщество pyOpenRPA (tenchat)</a></p></li>
<li><p><a class="reference external" href="https://vk.com/pyopenrpa">Сообщество pyOpenRPA (вконтакте)</a></p></li>
<li><p><a class="reference external" href="https://pyopenrpa.ru/Index/pyOpenRPA_product_service.pdf">Презентация pyOpenRPA</a></p></li>
<li><p><a class="reference external" href="https://pyopenrpa.ru">Портал pyOpenRPA</a></p></li>
<li><p><a class="reference external" href="https://gitlab.com/UnicodeLabs/OpenRPA">Репозиторий pyOpenRPA</a></p></li>
</ul>
<p> .. v1.2.12 replace:: v1.2.12</p>
<p></p>
</div>
</div>
@ -256,8 +279,8 @@
</div>
<footer>
<div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
<a href="05_UAC.html" class="btn btn-neutral float-right" title="5. UAC - User Access Control" accesskey="n" rel="next">Следующая <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
<a href="03_gSettingsTemplate.html" class="btn btn-neutral float-left" title="3. gSettings Template" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Предыдущая</a>
<a href="05_UAC.html" class="btn btn-neutral float-right" title="5. Права доступа пользователей UAC" accesskey="n" rel="next">Следующая <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
<a href="03_gSettingsTemplate.html" class="btn btn-neutral float-left" title="3. Настройки GSettings (шаблон)" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Предыдущая</a>
</div>
<hr/>

@ -7,7 +7,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>5. UAC - User Access Control &mdash; документация pyOpenRPA v1.2.12 v1.2.12</title>
<title>5. Права доступа пользователей UAC &mdash; документация pyOpenRPA v1.2.12 v1.2.12</title>
@ -41,8 +41,8 @@
<link rel="index" title="Алфавитный указатель" href="../genindex.html" />
<link rel="search" title="Поиск" href="../search.html" />
<link rel="next" title="6. Defs Managers" href="06_Defs%20Managers.html" />
<link rel="prev" title="4. How to use" href="04_HowToUse.html" />
<link rel="next" title="2. Функции" href="../Agent/02_Defs.html" />
<link rel="prev" title="4. Как использовать?" href="04_HowToUse.html" />
</head>
<body class="wy-body-for-nav">
@ -91,20 +91,18 @@
<ul>
<li class="toctree-l1"><a class="reference external" href="https://pyopenrpa.ru/wiki/guide/index">Выбрать версию</a></li>
<li class="toctree-l1"><a class="reference internal" href="../01_HowToInstall.html">1. Первый запуск</a></li>
<li class="toctree-l1"><a class="reference internal" href="../03_Copyrights_Contacts.html">2. Права &amp; Контакты</a></li>
<li class="toctree-l1"><a class="reference internal" href="../03_Copyrights_Contacts.html">2. Лицензия &amp; Контакты</a></li>
</ul>
<p class="caption"><span class="caption-text">МОДУЛЬ РОБОТ</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../Robot/01_Robot.html">1. Описание</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Robot/02_Defs.html">2. Функции</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Robot/02_uidesktop.html">2. UIDesktop</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Robot/03_uiweb.html">3. UIWeb</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Robot/04_keyboard.html">4. Keyboard</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Robot/05_clipboard.html">5. Clipboard</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Robot/06_mouse.html">6. Mouse</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Robot/07_image.html">7. Image</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Robot/02_uidesktop.html">2. Функции UIDesktop</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Robot/03_uiweb.html">3. Функции UIWeb</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Robot/04_keyboard.html">4. Функции Keyboard</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Robot/05_clipboard.html">5. Функции Clipboard</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Robot/06_mouse.html">6. Функции Mouse</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Robot/07_image.html">7. Функции Image</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Robot/08_HowToUse.html">8. Как использовать?</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Robot/09_Dependencies.html">9. Зависимости</a></li>
</ul>
<p class="caption"><span class="caption-text">МОДУЛЬ СТУДИЯ</span></p>
<ul>
@ -113,24 +111,24 @@
</ul>
<p class="caption"><span class="caption-text">МОДУЛЬ ОРКЕСТРАТОР</span></p>
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="01_Orchestrator.html">1. Description</a></li>
<li class="toctree-l1"><a class="reference internal" href="02_Defs.html">2. Defs</a></li>
<li class="toctree-l1"><a class="reference internal" href="03_gSettingsTemplate.html">3. gSettings Template</a></li>
<li class="toctree-l1"><a class="reference internal" href="04_HowToUse.html">4. How to use</a></li>
<li class="toctree-l1 current"><a class="current reference internal" href="#">5. UAC - User Access Control</a><ul>
<li class="toctree-l2"><a class="reference internal" href="#about">About</a></li>
<li class="toctree-l1"><a class="reference internal" href="01_Orchestrator.html">1. Описание</a></li>
<li class="toctree-l1"><a class="reference internal" href="02_Defs.html">2. Функции</a></li>
<li class="toctree-l1"><a class="reference internal" href="03_gSettingsTemplate.html">3. Настройки GSettings (шаблон)</a></li>
<li class="toctree-l1"><a class="reference internal" href="04_HowToUse.html">4. Как использовать?</a></li>
<li class="toctree-l1 current"><a class="current reference internal" href="#">5. Права доступа пользователей UAC</a><ul>
<li class="toctree-l2"><a class="reference internal" href="#id1">Описание</a></li>
<li class="toctree-l2"><a class="reference internal" href="#uac-dict-for-orchestrator-web-ui-rights">UAC Dict for Orchestrator WEB UI rights</a></li>
<li class="toctree-l2"><a class="reference internal" href="#id2">Быстрая навигация</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="06_Defs%20Managers.html">6. Defs Managers</a></li>
</ul>
<p class="caption"><span class="caption-text">МОДУЛЬ АГЕНТ</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../Agent/02_Defs.html">2. Defs</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Agent/02_Defs.html">2. Функции</a></li>
</ul>
<p class="caption"><span class="caption-text">ИНСТРУМЕНТЫ</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../Tools/02_Defs.html">2. Defs StopSafe</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Tools/02_Defs.html">2. Функции StopSafe</a></li>
</ul>
@ -179,7 +177,7 @@
<li><a href="../index.html" class="icon icon-home"></a> &raquo;</li>
<li>5. UAC - User Access Control</li>
<li>5. Права доступа пользователей UAC</li>
<li class="wy-breadcrumbs-aside">
@ -198,16 +196,17 @@
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody">
<div class="section" id="uac-user-access-control">
<h1>5. UAC - User Access Control<a class="headerlink" href="#uac-user-access-control" title="Ссылка на этот заголовок"></a></h1>
<div class="section" id="about">
<h2>About<a class="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 dont 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 <code class="docutils literal notranslate"><span class="pre">Orchestrator.UAC</span></code> group.</p>
<p>!!!ATTENTION!!!</p>
<p>Need practice example to work with UAC! - too hard to understand</p>
<div class="section" id="uac">
<h1>5. Права доступа пользователей UAC<a class="headerlink" href="#uac" title="Ссылка на этот заголовок"></a></h1>
<div class="section" id="id1">
<h2>Описание<a class="headerlink" href="#id1" title="Ссылка на этот заголовок"></a></h2>
<p>Оркестратор обладает уникальным и гибким механизмом контроля и распределения прав доступа пользователей (UAC - User Access Control). Концепция pyOpenRPA заключается в том, что настройка доступа должна быть максимально функциональной, но при этом удобной в использовании.</p>
<p>Если требуется дать все права доступа - не нужно ничего редактировать - они будут по умолчанию.</p>
<p>Если нужно внести корректировки - вы можете указать лишь те ключи доступа, которые потребуются пользователю.</p>
<p>Также UAC механизм распределения прав доступа отлично интегрируется со сторонними системами безопасности, которые уже используются в компаниях, например Active Directory и другие.</p>
<p>Функции по работе с UAC представлены в группе <code class="docutils literal notranslate"><span class="pre">Orchestrator.UAC</span></code> в разделе описания функций: <a class="reference internal" href="02_Defs.html#module-orchestrator-defs"><span class="std std-ref">2. Функции</span></a>.</p>
<p>Если у вас останутся вопросы, то вы всегда можете обратиться в центр поддержки клиентов pyOpenRPA. Контакты: <a class="reference internal" href="../03_Copyrights_Contacts.html#copyrights-contacts"><span class="std std-ref">2. Лицензия &amp; Контакты</span></a></p>
<p>pyOpenRPA - роботы помогут!</p>
</div>
<div class="section" id="uac-dict-for-orchestrator-web-ui-rights">
<h2>UAC Dict for Orchestrator WEB UI rights<a class="headerlink" href="#uac-dict-for-orchestrator-web-ui-rights" title="Ссылка на этот заголовок"></a></h2>
@ -245,8 +244,18 @@
<span class="p">}</span>
</pre></div>
</div>
<p> .. v1.2.12 replace:: v1.2.12
.. <a href="#id1"><span class="problematic" id="id2">|author|</span></a> replace:: Ivan Maslov &lt;<a class="reference external" href="mailto:ivan&#46;maslov&#37;&#52;&#48;unicodelabs&#46;ru">ivan<span>&#46;</span>maslov<span>&#64;</span>unicodelabs<span>&#46;</span>ru</a>&gt;</p>
</div>
<div class="section" id="id2">
<h2>Быстрая навигация<a class="headerlink" href="#id2" title="Ссылка на этот заголовок"></a></h2>
<ul class="simple">
<li><p><a class="reference external" href="https://t.me/pyOpenRPA">Сообщество pyOpenRPA (telegram)</a></p></li>
<li><p><a class="reference external" href="https://tenchat.ru/iMaslov?utm_source=19f2a84f-3268-437f-950c-d987ae42af24">Сообщество pyOpenRPA (tenchat)</a></p></li>
<li><p><a class="reference external" href="https://vk.com/pyopenrpa">Сообщество pyOpenRPA (вконтакте)</a></p></li>
<li><p><a class="reference external" href="https://pyopenrpa.ru/Index/pyOpenRPA_product_service.pdf">Презентация pyOpenRPA</a></p></li>
<li><p><a class="reference external" href="https://pyopenrpa.ru">Портал pyOpenRPA</a></p></li>
<li><p><a class="reference external" href="https://gitlab.com/UnicodeLabs/OpenRPA">Репозиторий pyOpenRPA</a></p></li>
</ul>
<p> .. v1.2.12 replace:: v1.2.12</p>
<p></p>
</div>
</div>
@ -257,8 +266,8 @@
</div>
<footer>
<div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
<a href="06_Defs%20Managers.html" class="btn btn-neutral float-right" title="6. Defs Managers" accesskey="n" rel="next">Следующая <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
<a href="04_HowToUse.html" class="btn btn-neutral float-left" title="4. How to use" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Предыдущая</a>
<a href="../Agent/02_Defs.html" class="btn btn-neutral float-right" title="2. Функции" accesskey="n" rel="next">Следующая <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
<a href="04_HowToUse.html" class="btn btn-neutral float-left" title="4. Как использовать?" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Предыдущая</a>
</div>
<hr/>

File diff suppressed because it is too large Load Diff

@ -41,8 +41,8 @@
<link rel="index" title="Алфавитный указатель" href="../genindex.html" />
<link rel="search" title="Поиск" href="../search.html" />
<link rel="next" title="2. Функции" href="02_Defs.html" />
<link rel="prev" title="2. Права &amp; Контакты" href="../03_Copyrights_Contacts.html" />
<link rel="next" title="2. Функции UIDesktop" href="02_uidesktop.html" />
<link rel="prev" title="2. Лицензия &amp; Контакты" href="../03_Copyrights_Contacts.html" />
</head>
<body class="wy-body-for-nav">
@ -91,20 +91,23 @@
<ul>
<li class="toctree-l1"><a class="reference external" href="https://pyopenrpa.ru/wiki/guide/index">Выбрать версию</a></li>
<li class="toctree-l1"><a class="reference internal" href="../01_HowToInstall.html">1. Первый запуск</a></li>
<li class="toctree-l1"><a class="reference internal" href="../03_Copyrights_Contacts.html">2. Права &amp; Контакты</a></li>
<li class="toctree-l1"><a class="reference internal" href="../03_Copyrights_Contacts.html">2. Лицензия &amp; Контакты</a></li>
</ul>
<p class="caption"><span class="caption-text">МОДУЛЬ РОБОТ</span></p>
<ul class="current">
<li class="toctree-l1 current"><a class="current reference internal" href="#">1. Описание</a></li>
<li class="toctree-l1"><a class="reference internal" href="02_Defs.html">2. Функции</a></li>
<li class="toctree-l1"><a class="reference internal" href="02_uidesktop.html">2. UIDesktop</a></li>
<li class="toctree-l1"><a class="reference internal" href="03_uiweb.html">3. UIWeb</a></li>
<li class="toctree-l1"><a class="reference internal" href="04_keyboard.html">4. Keyboard</a></li>
<li class="toctree-l1"><a class="reference internal" href="05_clipboard.html">5. Clipboard</a></li>
<li class="toctree-l1"><a class="reference internal" href="06_mouse.html">6. Mouse</a></li>
<li class="toctree-l1"><a class="reference internal" href="07_image.html">7. Image</a></li>
<li class="toctree-l1 current"><a class="current reference internal" href="#">1. Описание</a><ul>
<li class="toctree-l2"><a class="reference internal" href="#id2">Общее</a></li>
<li class="toctree-l2"><a class="reference internal" href="#id3">Примеры</a></li>
<li class="toctree-l2"><a class="reference internal" href="#id4">Быстрая навигация</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="02_uidesktop.html">2. Функции UIDesktop</a></li>
<li class="toctree-l1"><a class="reference internal" href="03_uiweb.html">3. Функции UIWeb</a></li>
<li class="toctree-l1"><a class="reference internal" href="04_keyboard.html">4. Функции Keyboard</a></li>
<li class="toctree-l1"><a class="reference internal" href="05_clipboard.html">5. Функции Clipboard</a></li>
<li class="toctree-l1"><a class="reference internal" href="06_mouse.html">6. Функции Mouse</a></li>
<li class="toctree-l1"><a class="reference internal" href="07_image.html">7. Функции Image</a></li>
<li class="toctree-l1"><a class="reference internal" href="08_HowToUse.html">8. Как использовать?</a></li>
<li class="toctree-l1"><a class="reference internal" href="09_Dependencies.html">9. Зависимости</a></li>
</ul>
<p class="caption"><span class="caption-text">МОДУЛЬ СТУДИЯ</span></p>
<ul>
@ -113,20 +116,19 @@
</ul>
<p class="caption"><span class="caption-text">МОДУЛЬ ОРКЕСТРАТОР</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../Orchestrator/01_Orchestrator.html">1. Description</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Orchestrator/02_Defs.html">2. Defs</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Orchestrator/03_gSettingsTemplate.html">3. gSettings Template</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Orchestrator/04_HowToUse.html">4. How to use</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Orchestrator/05_UAC.html">5. UAC - User Access Control</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Orchestrator/06_Defs%20Managers.html">6. Defs Managers</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Orchestrator/01_Orchestrator.html">1. Описание</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Orchestrator/02_Defs.html">2. Функции</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Orchestrator/03_gSettingsTemplate.html">3. Настройки GSettings (шаблон)</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Orchestrator/04_HowToUse.html">4. Как использовать?</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Orchestrator/05_UAC.html">5. Права доступа пользователей UAC</a></li>
</ul>
<p class="caption"><span class="caption-text">МОДУЛЬ АГЕНТ</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../Agent/02_Defs.html">2. Defs</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Agent/02_Defs.html">2. Функции</a></li>
</ul>
<p class="caption"><span class="caption-text">ИНСТРУМЕНТЫ</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../Tools/02_Defs.html">2. Defs StopSafe</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Tools/02_Defs.html">2. Функции StopSafe</a></li>
</ul>
@ -196,29 +198,38 @@
<div class="section" id="module-robot-description">
<span id="id1"></span><h1>1. Описание<a class="headerlink" href="#module-robot-description" title="Ссылка на этот заголовок"></a></h1>
<div class="section" id="id2">
<h2>Общее<a class="headerlink" href="#id2" title="Ссылка на этот заголовок"></a></h2>
<p>Модуль обеспечивает всю необходимую функциональность для создания любого программного робота RPA. Модуль робота поставляется в качестве библиотеки Python, что позволяет с легкостью интегрировать его в другие проекты перспективных технологий.</p>
<p><strong>Содержит</strong></p>
<ul class="simple">
<li><p>Уровень доступа к элементам локального приложения (win32, UI automation), и веб приложения</p>
<li><p><strong>Уровень доступа к элементам локального приложения (win32, UI automation), и веб приложения</strong></p>
<ul>
<li><p>UIDesktop: инструменты взаимодействия с элементами локального приложения (взаимодействие с ОС через протоколы win32, UI automation). Перейти к описанию функций: <a class="reference internal" href="02_uidesktop.html#module-robot-uidesktop"><span class="std std-ref">2. UIDesktop</span></a></p></li>
<li><p>UIWeb: инструменты взаимодействия с элементами веб приложения. Перейти к описанию функций: <a class="reference internal" href="03_uiweb.html#module-robot-uiweb"><span class="std std-ref">3. UIWeb</span></a></p></li>
<li><p>UIDesktop: инструменты взаимодействия с элементами локального приложения (взаимодействие с ОС через протоколы win32, UI automation). Перейти к описанию функций: <a class="reference internal" href="02_uidesktop.html#module-robot-uidesktop"><span class="std std-ref">2. Функции UIDesktop</span></a></p></li>
<li><p>UIWeb: инструменты взаимодействия с элементами веб приложения. Перейти к описанию функций: <a class="reference internal" href="03_uiweb.html#module-robot-uiweb"><span class="std std-ref">3. Функции UIWeb</span></a></p></li>
</ul>
</li>
<li><p>Уровень доступа к текстовым каналам передачи данных (клавиатура, буфер обмена)</p>
<li><p><strong>Уровень доступа к текстовым каналам передачи данных (клавиатура, буфер обмена)</strong></p>
<ul>
<li><p>Keyboard: инструменты взаимодействия с клавиатурой. Перейти к описанию функций: <a class="reference internal" href="04_keyboard.html#module-robot-keyboard"><span class="std std-ref">4. Keyboard</span></a></p></li>
<li><p>Clipboard: инструменты взаимодействия с буфером обмена. Перейти к описанию функций: <a class="reference internal" href="05_clipboard.html#module-robot-clipboard"><span class="std std-ref">5. Clipboard</span></a></p></li>
<li><p>Keyboard: инструменты взаимодействия с клавиатурой. Перейти к описанию функций: <a class="reference internal" href="04_keyboard.html#module-robot-keyboard"><span class="std std-ref">4. Функции Keyboard</span></a></p></li>
<li><p>Clipboard: инструменты взаимодействия с буфером обмена. Перейти к описанию функций: <a class="reference internal" href="05_clipboard.html#module-robot-clipboard"><span class="std std-ref">5. Функции Clipboard</span></a></p></li>
</ul>
</li>
<li><p>Уровень доступа к графическим каналам передачи данных (мышь, экран)</p>
<li><p><strong>Уровень доступа к графическим каналам передачи данных (мышь, экран)</strong></p>
<ul>
<li><p>Mouse: инструменты взаимодействия с мышью. Перейти к описанию функций: <a class="reference internal" href="06_mouse.html#module-robot-mouse"><span class="std std-ref">6. Mouse</span></a></p></li>
<li><p>Image: инструменты взаимодействия с эраном рабочего стола. Перейти к описанию функций: <a class="reference internal" href="07_image.html#module-robot-image"><span class="std std-ref">7. Image</span></a></p></li>
<li><p>Mouse: инструменты взаимодействия с мышью. Перейти к описанию функций: <a class="reference internal" href="06_mouse.html#module-robot-mouse"><span class="std std-ref">6. Функции Mouse</span></a></p></li>
<li><p>Image: инструменты взаимодействия с эраном рабочего стола. Перейти к описанию функций: <a class="reference internal" href="07_image.html#module-robot-image"><span class="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. Контакты: <a class="reference internal" href="../03_Copyrights_Contacts.html#copyrights-contacts"><span class="std std-ref">2. Лицензия &amp; Контакты</span></a></p>
<p>pyOpenRPA - роботы помогут!</p>
</div>
<div class="section" id="id3">
<h2>Примеры<a class="headerlink" href="#id3" title="Ссылка на этот заголовок"></a></h2>
<p><strong>Ниже преставлен пример использования инструментов робота.</strong></p>
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="kn">import</span> <span class="nn">time</span>
<span class="kn">from</span> <span class="nn">pyOpenRPA.Robot</span> <span class="kn">import</span> <span class="n">UIDesktop</span>
@ -304,9 +315,20 @@
<span class="n">Mouse</span><span class="o">.</span><span class="n">mouseUp</span><span class="p">()</span>
</pre></div>
</div>
<p> .. v1.2.12 replace:: v1.2.12
.. <a href="#id2"><span class="problematic" id="id3">|author|</span></a> replace:: Ivan Maslov &lt;<a class="reference external" href="mailto:ivan&#46;maslov&#37;&#52;&#48;unicodelabs&#46;ru">ivan<span>&#46;</span>maslov<span>&#64;</span>unicodelabs<span>&#46;</span>ru</a>&gt;</p>
</div>
<div class="section" id="id4">
<h2>Быстрая навигация<a class="headerlink" href="#id4" title="Ссылка на этот заголовок"></a></h2>
<ul class="simple">
<li><p><a class="reference external" href="https://t.me/pyOpenRPA">Сообщество pyOpenRPA (telegram)</a></p></li>
<li><p><a class="reference external" href="https://tenchat.ru/iMaslov?utm_source=19f2a84f-3268-437f-950c-d987ae42af24">Сообщество pyOpenRPA (tenchat)</a></p></li>
<li><p><a class="reference external" href="https://vk.com/pyopenrpa">Сообщество pyOpenRPA (вконтакте)</a></p></li>
<li><p><a class="reference external" href="https://pyopenrpa.ru/Index/pyOpenRPA_product_service.pdf">Презентация pyOpenRPA</a></p></li>
<li><p><a class="reference external" href="https://pyopenrpa.ru">Портал pyOpenRPA</a></p></li>
<li><p><a class="reference external" href="https://gitlab.com/UnicodeLabs/OpenRPA">Репозиторий pyOpenRPA</a></p></li>
</ul>
<p> .. v1.2.12 replace:: v1.2.12</p>
<p></p>
</div>
</div>
@ -315,8 +337,8 @@
</div>
<footer>
<div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
<a href="02_Defs.html" class="btn btn-neutral float-right" title="2. Функции" accesskey="n" rel="next">Следующая <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
<a href="../03_Copyrights_Contacts.html" class="btn btn-neutral float-left" title="2. Права &amp; Контакты" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Предыдущая</a>
<a href="02_uidesktop.html" class="btn btn-neutral float-right" title="2. Функции UIDesktop" accesskey="n" rel="next">Следующая <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
<a href="../03_Copyrights_Contacts.html" class="btn btn-neutral float-left" title="2. Лицензия &amp; Контакты" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Предыдущая</a>
</div>
<hr/>

@ -1,710 +0,0 @@
<!DOCTYPE html>
<html class="writer-html5" lang="ru" >
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>2. Функции &mdash; документация pyOpenRPA v1.2.12 v1.2.12</title>
<link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
<link rel="shortcut icon" href="../_static/favicon.ico"/>
<!--[if lt IE 9]>
<script src="../_static/js/html5shiv.min.js"></script>
<![endif]-->
<script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
<script src="../_static/jquery.js"></script>
<script src="../_static/underscore.js"></script>
<script src="../_static/doctools.js"></script>
<script src="../_static/translations.js"></script>
<script type="text/javascript" src="../_static/js/theme.js"></script>
<link rel="index" title="Алфавитный указатель" href="../genindex.html" />
<link rel="search" title="Поиск" href="../search.html" />
<link rel="next" title="2. UIDesktop" href="02_uidesktop.html" />
<link rel="prev" title="1. Описание" href="01_Robot.html" />
</head>
<body class="wy-body-for-nav">
<div class="wy-grid-for-nav">
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
<div class="wy-side-scroll">
<div class="wy-side-nav-search" >
<a href="../index.html" class="icon icon-home"> pyOpenRPA v1.2.12
</a>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
<input type="text" name="q" placeholder="Поиск в документации" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
</div>
</div>
<div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
<p class="caption"><span class="caption-text">ОБЩЕЕ</span></p>
<ul>
<li class="toctree-l1"><a class="reference external" href="https://pyopenrpa.ru/wiki/guide/index">Выбрать версию</a></li>
<li class="toctree-l1"><a class="reference internal" href="../01_HowToInstall.html">1. Первый запуск</a></li>
<li class="toctree-l1"><a class="reference internal" href="../03_Copyrights_Contacts.html">2. Права &amp; Контакты</a></li>
</ul>
<p class="caption"><span class="caption-text">МОДУЛЬ РОБОТ</span></p>
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="01_Robot.html">1. Описание</a></li>
<li class="toctree-l1 current"><a class="current reference internal" href="#">2. Функции</a><ul>
<li class="toctree-l2"><a class="reference internal" href="#references">References</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="02_uidesktop.html">2. UIDesktop</a></li>
<li class="toctree-l1"><a class="reference internal" href="03_uiweb.html">3. UIWeb</a></li>
<li class="toctree-l1"><a class="reference internal" href="04_keyboard.html">4. Keyboard</a></li>
<li class="toctree-l1"><a class="reference internal" href="05_clipboard.html">5. Clipboard</a></li>
<li class="toctree-l1"><a class="reference internal" href="06_mouse.html">6. Mouse</a></li>
<li class="toctree-l1"><a class="reference internal" href="07_image.html">7. Image</a></li>
<li class="toctree-l1"><a class="reference internal" href="08_HowToUse.html">8. Как использовать?</a></li>
<li class="toctree-l1"><a class="reference internal" href="09_Dependencies.html">9. Зависимости</a></li>
</ul>
<p class="caption"><span class="caption-text">МОДУЛЬ СТУДИЯ</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../Studio/01_Studio.html">1. Описание</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Studio/02_HowToUse.html">2. Как использовать?</a></li>
</ul>
<p class="caption"><span class="caption-text">МОДУЛЬ ОРКЕСТРАТОР</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../Orchestrator/01_Orchestrator.html">1. Description</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Orchestrator/02_Defs.html">2. Defs</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Orchestrator/03_gSettingsTemplate.html">3. gSettings Template</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Orchestrator/04_HowToUse.html">4. How to use</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Orchestrator/05_UAC.html">5. UAC - User Access Control</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Orchestrator/06_Defs%20Managers.html">6. Defs Managers</a></li>
</ul>
<p class="caption"><span class="caption-text">МОДУЛЬ АГЕНТ</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../Agent/02_Defs.html">2. Defs</a></li>
</ul>
<p class="caption"><span class="caption-text">ИНСТРУМЕНТЫ</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../Tools/02_Defs.html">2. Defs StopSafe</a></li>
</ul>
</div>
</div>
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
<nav class="wy-nav-top" aria-label="top navigation">
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="../index.html">pyOpenRPA v1.2.12</a>
</nav>
<div class="wy-nav-content">
<div class="rst-content">
<div role="navigation" aria-label="breadcrumbs navigation">
<ul class="wy-breadcrumbs">
<li><a href="../index.html" class="icon icon-home"></a> &raquo;</li>
<li>2. Функции</li>
<li class="wy-breadcrumbs-aside">
<a href="../_sources/Robot/02_Defs.rst.txt" rel="nofollow"> Просмотреть исходный код страницы</a>
</li>
</ul>
<hr/>
</div>
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody">
<div class="section" id="id1">
<h1>2. Функции<a class="headerlink" href="#id1" title="Ссылка на этот заголовок"></a></h1>
<p>Here you can find the functions description for interaction with desktop GUI applications</p>
<p>How to use both x32 and x64 python processes (it can be helpfully, if another app GUI is on another bitness than your app)</p>
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="kn">from</span> <span class="nn">pyOpenRPA.Robot</span> <span class="kn">import</span> <span class="n">UIDesktop</span>
<span class="c1">#Section for robot init</span>
<span class="n">lPyOpenRPA_SettingsDict</span> <span class="o">=</span> <span class="p">{</span>
<span class="s2">&quot;Python32FullPath&quot;</span><span class="p">:</span> <span class="s2">&quot;..</span><span class="se">\\</span><span class="s2">Resources</span><span class="se">\\</span><span class="s2">WPy32-3720</span><span class="se">\\</span><span class="s2">python-3.7.2</span><span class="se">\\</span><span class="s2">python.exe&quot;</span><span class="p">,</span> <span class="c1">#Set from user: &quot;..\\Resources\\WPy32-3720\\python-3.7.2\\OpenRPARobotGUIx32.exe&quot;</span>
<span class="s2">&quot;Python64FullPath&quot;</span><span class="p">:</span> <span class="s2">&quot;..</span><span class="se">\\</span><span class="s2">Resources</span><span class="se">\\</span><span class="s2">WPy64-3720</span><span class="se">\\</span><span class="s2">python-3.7.2.amd64</span><span class="se">\\</span><span class="s2">python.exe&quot;</span><span class="p">,</span> <span class="c1">#Set from user</span>
<span class="s2">&quot;Python32ProcessName&quot;</span><span class="p">:</span> <span class="s2">&quot;pyOpenRPA_UIDesktopX32.exe&quot;</span><span class="p">,</span> <span class="c1">#Config set once</span>
<span class="s2">&quot;Python64ProcessName&quot;</span><span class="p">:</span> <span class="s2">&quot;pyOpenRPA_UIDesktopX64.exe&quot;</span> <span class="c1">#Config set once</span>
<span class="p">}</span>
<span class="c1"># Init the pyOpenRPA configuration</span>
<span class="n">UIDesktop</span><span class="o">.</span><span class="n">Utils</span><span class="o">.</span><span class="n">ProcessBitness</span><span class="o">.</span><span class="n">SettingsInit</span><span class="p">(</span><span class="n">lPyOpenRPA_SettingsDict</span><span class="p">)</span>
<span class="c1"># Now you can use pyOpenRPA with both bitness.</span>
</pre></div>
</div>
<span class="target" id="module-pyOpenRPA.Robot.UIDesktop"></span><p><strong>Functions:</strong></p>
<table class="longtable docutils align-default">
<colgroup>
<col style="width: 10%" />
<col style="width: 90%" />
</colgroup>
<tbody>
<tr class="row-odd"><td><p><a class="reference internal" href="07_image.html#pyOpenRPA.Robot.UIDesktop.Get_OSBitnessInt" title="pyOpenRPA.Robot.UIDesktop.Get_OSBitnessInt"><code class="xref py py-obj docutils literal notranslate"><span class="pre">Get_OSBitnessInt</span></code></a>()</p></td>
<td><p>Detect OS bitness.</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="07_image.html#pyOpenRPA.Robot.UIDesktop.PWASpecification_Get_PWAApplication" title="pyOpenRPA.Robot.UIDesktop.PWASpecification_Get_PWAApplication"><code class="xref py py-obj docutils literal notranslate"><span class="pre">PWASpecification_Get_PWAApplication</span></code></a>(…)</p></td>
<td><p>#Backend selection - attribute «backend» («win32» || «uia») in 1-st list element</p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="07_image.html#pyOpenRPA.Robot.UIDesktop.PWASpecification_Get_UIO" title="pyOpenRPA.Robot.UIDesktop.PWASpecification_Get_UIO"><code class="xref py py-obj docutils literal notranslate"><span class="pre">PWASpecification_Get_UIO</span></code></a>(…)</p></td>
<td><p>#Backend def selection - attribute «backend» («win32» || «uia») in 1-st list element #old name - GetControl</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="07_image.html#pyOpenRPA.Robot.UIDesktop.UIOSelectorSecs_WaitAppear_Bool" title="pyOpenRPA.Robot.UIDesktop.UIOSelectorSecs_WaitAppear_Bool"><code class="xref py py-obj docutils literal notranslate"><span class="pre">UIOSelectorSecs_WaitAppear_Bool</span></code></a>(…)</p></td>
<td><p>Wait for UI object will appear in GUI for inWaitSecs seconds.</p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="07_image.html#pyOpenRPA.Robot.UIDesktop.UIOSelectorSecs_WaitDisappear_Bool" title="pyOpenRPA.Robot.UIDesktop.UIOSelectorSecs_WaitDisappear_Bool"><code class="xref py py-obj docutils literal notranslate"><span class="pre">UIOSelectorSecs_WaitDisappear_Bool</span></code></a>(…)</p></td>
<td><p>Wait for UI object will disappear in GUI for inWaitSecs seconds.</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="07_image.html#pyOpenRPA.Robot.UIDesktop.UIOSelectorUIOActivity_Run_Dict" title="pyOpenRPA.Robot.UIDesktop.UIOSelectorUIOActivity_Run_Dict"><code class="xref py py-obj docutils literal notranslate"><span class="pre">UIOSelectorUIOActivity_Run_Dict</span></code></a>(…[, …])</p></td>
<td><p>Run the activity in UIO (UI Object)</p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="07_image.html#pyOpenRPA.Robot.UIDesktop.UIOSelector_Exist_Bool" title="pyOpenRPA.Robot.UIDesktop.UIOSelector_Exist_Bool"><code class="xref py py-obj docutils literal notranslate"><span class="pre">UIOSelector_Exist_Bool</span></code></a>(inUIOSelector)</p></td>
<td><p>Check if object is exist by the UIO selector.</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="07_image.html#pyOpenRPA.Robot.UIDesktop.UIOSelector_FocusHighlight" title="pyOpenRPA.Robot.UIDesktop.UIOSelector_FocusHighlight"><code class="xref py py-obj docutils literal notranslate"><span class="pre">UIOSelector_FocusHighlight</span></code></a>(inUIOSelector)</p></td>
<td><p>Set focus and highlight (draw outline) the element (in app) by the UIO selector.</p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="07_image.html#pyOpenRPA.Robot.UIDesktop.UIOSelector_GetChildList_UIOList" title="pyOpenRPA.Robot.UIDesktop.UIOSelector_GetChildList_UIOList"><code class="xref py py-obj docutils literal notranslate"><span class="pre">UIOSelector_GetChildList_UIOList</span></code></a>([…])</p></td>
<td><p>Get list of child UIOs by the parent UIOSelector</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="07_image.html#pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_BitnessInt" title="pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_BitnessInt"><code class="xref py py-obj docutils literal notranslate"><span class="pre">UIOSelector_Get_BitnessInt</span></code></a>(inSpecificationList)</p></td>
<td><p>Detect process bitness by the UI Object UIO Selector.</p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="07_image.html#pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_BitnessStr" title="pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_BitnessStr"><code class="xref py py-obj docutils literal notranslate"><span class="pre">UIOSelector_Get_BitnessStr</span></code></a>(inSpecificationList)</p></td>
<td><p>Detect process bitness by the UI Object UIO Selector.</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="07_image.html#pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_UIO" title="pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_UIO"><code class="xref py py-obj docutils literal notranslate"><span class="pre">UIOSelector_Get_UIO</span></code></a>(inSpecificationList[, …])</p></td>
<td><p>Get the pywinauto object by the UIO selector.</p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="07_image.html#pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_UIOActivityList" title="pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_UIOActivityList"><code class="xref py py-obj docutils literal notranslate"><span class="pre">UIOSelector_Get_UIOActivityList</span></code></a>(inUIOSelector)</p></td>
<td><p>Get the list of the UI object activities</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="07_image.html#pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_UIOInfo" title="pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_UIOInfo"><code class="xref py py-obj docutils literal notranslate"><span class="pre">UIOSelector_Get_UIOInfo</span></code></a>(inUIOSelector)</p></td>
<td><p>Get the UIO dict of the attributes</p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="07_image.html#pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_UIOList" title="pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_UIOList"><code class="xref py py-obj docutils literal notranslate"><span class="pre">UIOSelector_Get_UIOList</span></code></a>(inSpecificationList)</p></td>
<td><p>Get the UIO list by the selector</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="07_image.html#pyOpenRPA.Robot.UIDesktop.UIOSelector_Highlight" title="pyOpenRPA.Robot.UIDesktop.UIOSelector_Highlight"><code class="xref py py-obj docutils literal notranslate"><span class="pre">UIOSelector_Highlight</span></code></a>(inUIOSelector)</p></td>
<td><p>Highlight (draw outline) the element (in app) by the UIO selector.</p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="07_image.html#pyOpenRPA.Robot.UIDesktop.UIOSelector_SafeOtherGet_Process" title="pyOpenRPA.Robot.UIDesktop.UIOSelector_SafeOtherGet_Process"><code class="xref py py-obj docutils literal notranslate"><span class="pre">UIOSelector_SafeOtherGet_Process</span></code></a>(inUIOSelector)</p></td>
<td><p>Safe get other process or None if destination app is the other/same bitness</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="07_image.html#pyOpenRPA.Robot.UIDesktop.UIOSelector_SearchChildByMouse_UIO" title="pyOpenRPA.Robot.UIDesktop.UIOSelector_SearchChildByMouse_UIO"><code class="xref py py-obj docutils literal notranslate"><span class="pre">UIOSelector_SearchChildByMouse_UIO</span></code></a>(…)</p></td>
<td><p>UIOSelector (see description on the top of the document) #old name - AutomationSearchMouseElement</p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="07_image.html#pyOpenRPA.Robot.UIDesktop.UIOSelector_SearchChildByMouse_UIOTree" title="pyOpenRPA.Robot.UIDesktop.UIOSelector_SearchChildByMouse_UIOTree"><code class="xref py py-obj docutils literal notranslate"><span class="pre">UIOSelector_SearchChildByMouse_UIOTree</span></code></a>(…)</p></td>
<td><p>!!!!Safe call is included (you can set activity and UIDesktop will choose the bitness and return the result)!!!!!</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="07_image.html#pyOpenRPA.Robot.UIDesktop.UIOSelector_TryRestore_Dict" title="pyOpenRPA.Robot.UIDesktop.UIOSelector_TryRestore_Dict"><code class="xref py py-obj docutils literal notranslate"><span class="pre">UIOSelector_TryRestore_Dict</span></code></a>(inSpecificationList)</p></td>
<td><p>Try to restore (maximize) window, if its minimized.</p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="07_image.html#pyOpenRPA.Robot.UIDesktop.UIOSelectorsSecs_WaitAppear_List" title="pyOpenRPA.Robot.UIDesktop.UIOSelectorsSecs_WaitAppear_List"><code class="xref py py-obj docutils literal notranslate"><span class="pre">UIOSelectorsSecs_WaitAppear_List</span></code></a>(…[, …])</p></td>
<td><p>Wait for many UI object will appear in GUI for inWaitSecs seconds.</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="07_image.html#pyOpenRPA.Robot.UIDesktop.UIOSelectorsSecs_WaitDisappear_List" title="pyOpenRPA.Robot.UIDesktop.UIOSelectorsSecs_WaitDisappear_List"><code class="xref py py-obj docutils literal notranslate"><span class="pre">UIOSelectorsSecs_WaitDisappear_List</span></code></a>(…[, …])</p></td>
<td><p>Wait for many UI object will disappear in GUI for inWaitSecs seconds.</p></td>
</tr>
</tbody>
</table>
<dl class="py function">
<dt id="pyOpenRPA.Robot.UIDesktop.Get_OSBitnessInt">
<code class="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><code class="sig-name descname">Get_OSBitnessInt</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Robot/UIDesktop.html#Get_OSBitnessInt"><span class="viewcode-link">[исходный код]</span></a><a class="headerlink" href="#pyOpenRPA.Robot.UIDesktop.Get_OSBitnessInt" title="Ссылка на это определение"></a></dt>
<dd><p>Detect OS bitness.</p>
<dl class="field-list simple">
<dt class="field-odd">Результат</dt>
<dd class="field-odd"><p>int 32 or int 64</p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt id="pyOpenRPA.Robot.UIDesktop.PWASpecification_Get_PWAApplication">
<code class="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><code class="sig-name descname">PWASpecification_Get_PWAApplication</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inControlSpecificationArray</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Robot/UIDesktop.html#PWASpecification_Get_PWAApplication"><span class="viewcode-link">[исходный код]</span></a><a class="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>
<dl class="field-list simple">
<dt class="field-odd">Параметры</dt>
<dd class="field-odd"><p><strong>inControlSpecificationArray</strong> List of dict, dict in pywinauto.find_windows notation</p>
</dd>
<dt class="field-even">Результат</dt>
<dd class="field-even"><p>process application object</p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt id="pyOpenRPA.Robot.UIDesktop.PWASpecification_Get_UIO">
<code class="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><code class="sig-name descname">PWASpecification_Get_UIO</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inControlSpecificationArray</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Robot/UIDesktop.html#PWASpecification_Get_UIO"><span class="viewcode-link">[исходный код]</span></a><a class="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>
<dl class="field-list simple">
<dt class="field-odd">Параметры</dt>
<dd class="field-odd"><p><strong>inControlSpecificationArray</strong> List of dict, dict in pywinauto.find_windows notation</p>
</dd>
<dt class="field-even">Результат</dt>
<dd class="field-even"><p>list of UIO object</p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt id="pyOpenRPA.Robot.UIDesktop.UIOSelectorSecs_WaitAppear_Bool">
<code class="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><code class="sig-name descname">UIOSelectorSecs_WaitAppear_Bool</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inSpecificationList</span></em>, <em class="sig-param"><span class="n">inWaitSecs</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelectorSecs_WaitAppear_Bool"><span class="viewcode-link">[исходный код]</span></a><a class="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>
<dl class="field-list simple">
<dt class="field-odd">Параметры</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>inSpecificationList</strong> UIOSelector. Example: [{«title»:»notepad»},{«title»:»OK»}]</p></li>
<li><p><strong>inWaitSecs</strong> Float value (seconds) for wait UI element appear in GUI</p></li>
</ul>
</dd>
<dt class="field-even">Результат</dt>
<dd class="field-even"><p>True - UI object will appear. False - else case</p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt id="pyOpenRPA.Robot.UIDesktop.UIOSelectorSecs_WaitDisappear_Bool">
<code class="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><code class="sig-name descname">UIOSelectorSecs_WaitDisappear_Bool</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inSpecificationList</span></em>, <em class="sig-param"><span class="n">inWaitSecs</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelectorSecs_WaitDisappear_Bool"><span class="viewcode-link">[исходный код]</span></a><a class="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>
<dl class="field-list simple">
<dt class="field-odd">Параметры</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>inSpecificationList</strong> UIOSelector.
Example: [{«title»:»notepad»},{«title»:»OK»}]</p></li>
<li><p><strong>inWaitSecs</strong> Float value (seconds) for wait UI element disappear in GUI</p></li>
</ul>
</dd>
<dt class="field-even">Результат</dt>
<dd class="field-even"><p>True - UI object will disappear. False - else case</p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt id="pyOpenRPA.Robot.UIDesktop.UIOSelectorUIOActivity_Run_Dict">
<code class="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><code class="sig-name descname">UIOSelectorUIOActivity_Run_Dict</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inUIOSelector</span></em>, <em class="sig-param"><span class="n">inActionName</span></em>, <em class="sig-param"><span class="n">inArgumentList</span><span class="o">=</span><span class="default_value">None</span></em>, <em class="sig-param"><span class="n">inkwArgumentObject</span><span class="o">=</span><span class="default_value">None</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelectorUIOActivity_Run_Dict"><span class="viewcode-link">[исходный код]</span></a><a class="headerlink" href="#pyOpenRPA.Robot.UIDesktop.UIOSelectorUIOActivity_Run_Dict" title="Ссылка на это определение"></a></dt>
<dd><p>Run the activity in UIO (UI Object)</p>
<dl class="field-list simple">
<dt class="field-odd">Параметры</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>inUIOSelector</strong> UIOSelector - List of items, which contains condition attributes</p></li>
<li><p><strong>inActionName</strong> UIOActivity (name) activity name string from Pywinauto</p></li>
<li><p><strong>inArgumentList</strong> </p></li>
<li><p><strong>inkwArgumentObject</strong> </p></li>
</ul>
</dd>
<dt class="field-even">Результат</dt>
<dd class="field-even"><p></p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt id="pyOpenRPA.Robot.UIDesktop.UIOSelector_Exist_Bool">
<code class="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><code class="sig-name descname">UIOSelector_Exist_Bool</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inUIOSelector</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_Exist_Bool"><span class="viewcode-link">[исходный код]</span></a><a class="headerlink" href="#pyOpenRPA.Robot.UIDesktop.UIOSelector_Exist_Bool" title="Ссылка на это определение"></a></dt>
<dd><p>Check if object is exist by the UIO selector.</p>
<dl class="field-list simple">
<dt class="field-odd">Параметры</dt>
<dd class="field-odd"><p><strong>inUIOSelector</strong> </p>
</dd>
<dt class="field-even">Результат</dt>
<dd class="field-even"><p>True - Object is exist. False - else case</p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt id="pyOpenRPA.Robot.UIDesktop.UIOSelector_FocusHighlight">
<code class="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><code class="sig-name descname">UIOSelector_FocusHighlight</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inUIOSelector</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_FocusHighlight"><span class="viewcode-link">[исходный код]</span></a><a class="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>
<dl class="field-list simple">
<dt class="field-odd">Параметры</dt>
<dd class="field-odd"><p><strong>inUIOSelector</strong> UIOSelector - List of items, which contains condition attributes</p>
</dd>
<dt class="field-even">Результат</dt>
<dd class="field-even"><p></p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt id="pyOpenRPA.Robot.UIDesktop.UIOSelector_GetChildList_UIOList">
<code class="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><code class="sig-name descname">UIOSelector_GetChildList_UIOList</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inUIOSelector</span><span class="o">=</span><span class="default_value">None</span></em>, <em class="sig-param"><span class="n">inBackend</span><span class="o">=</span><span class="default_value">'win32'</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_GetChildList_UIOList"><span class="viewcode-link">[исходный код]</span></a><a class="headerlink" href="#pyOpenRPA.Robot.UIDesktop.UIOSelector_GetChildList_UIOList" title="Ссылка на это определение"></a></dt>
<dd><p>Get list of child UIOs by the parent UIOSelector</p>
<dl class="field-list simple">
<dt class="field-odd">Параметры</dt>
<dd class="field-odd"><ul class="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>
<dt class="field-even">Результат</dt>
<dd class="field-even"><p></p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt id="pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_BitnessInt">
<code class="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><code class="sig-name descname">UIOSelector_Get_BitnessInt</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inSpecificationList</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_Get_BitnessInt"><span class="viewcode-link">[исходный код]</span></a><a class="headerlink" href="#pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_BitnessInt" title="Ссылка на это определение"></a></dt>
<dd><p>Detect process bitness by the UI Object UIO Selector.</p>
<dl class="field-list simple">
<dt class="field-odd">Параметры</dt>
<dd class="field-odd"><p><strong>inSpecificationList</strong> UIOSelector. Example: [{«title»:»notepad»},{«title»:»OK»}]</p>
</dd>
<dt class="field-even">Результат</dt>
<dd class="field-even"><p>int 32 or int 64</p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt id="pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_BitnessStr">
<code class="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><code class="sig-name descname">UIOSelector_Get_BitnessStr</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inSpecificationList</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_Get_BitnessStr"><span class="viewcode-link">[исходный код]</span></a><a class="headerlink" href="#pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_BitnessStr" title="Ссылка на это определение"></a></dt>
<dd><p>Detect process bitness by the UI Object UIO Selector.</p>
<dl class="field-list simple">
<dt class="field-odd">Параметры</dt>
<dd class="field-odd"><p><strong>inSpecificationList</strong> UIOSelector. Example: [{«title»:»notepad»},{«title»:»OK»}]</p>
</dd>
<dt class="field-even">Результат</dt>
<dd class="field-even"><p>str «32» or str «64»</p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt id="pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_UIO">
<code class="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><code class="sig-name descname">UIOSelector_Get_UIO</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inSpecificationList</span></em>, <em class="sig-param"><span class="n">inElement</span><span class="o">=</span><span class="default_value">None</span></em>, <em class="sig-param"><span class="n">inFlagRaiseException</span><span class="o">=</span><span class="default_value">True</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_Get_UIO"><span class="viewcode-link">[исходный код]</span></a><a class="headerlink" href="#pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_UIO" title="Ссылка на это определение"></a></dt>
<dd><p>Get the pywinauto object by the UIO selector.</p>
<dl class="field-list simple">
<dt class="field-odd">Параметры</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>inSpecificationList</strong> </p></li>
<li><p><strong>inElement</strong> </p></li>
<li><p><strong>inFlagRaiseException</strong> </p></li>
</ul>
</dd>
<dt class="field-even">Результат</dt>
<dd class="field-even"><p></p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt id="pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_UIOActivityList">
<code class="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><code class="sig-name descname">UIOSelector_Get_UIOActivityList</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inUIOSelector</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_Get_UIOActivityList"><span class="viewcode-link">[исходный код]</span></a><a class="headerlink" href="#pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_UIOActivityList" title="Ссылка на это определение"></a></dt>
<dd><p>Get the list of the UI object activities</p>
<dl class="field-list simple">
<dt class="field-odd">Параметры</dt>
<dd class="field-odd"><p><strong>inUIOSelector</strong> UIOSelector - List of items, which contains condition attributes</p>
</dd>
<dt class="field-even">Результат</dt>
<dd class="field-even"><p></p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt id="pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_UIOInfo">
<code class="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><code class="sig-name descname">UIOSelector_Get_UIOInfo</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inUIOSelector</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_Get_UIOInfo"><span class="viewcode-link">[исходный код]</span></a><a class="headerlink" href="#pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_UIOInfo" title="Ссылка на это определение"></a></dt>
<dd><p>Get the UIO dict of the attributes</p>
<dl class="field-list simple">
<dt class="field-odd">Параметры</dt>
<dd class="field-odd"><p><strong>inUIOSelector</strong> UIOSelector - List of items, which contains condition attributes</p>
</dd>
<dt class="field-even">Результат</dt>
<dd class="field-even"><p></p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt id="pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_UIOList">
<code class="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><code class="sig-name descname">UIOSelector_Get_UIOList</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inSpecificationList</span></em>, <em class="sig-param"><span class="n">inElement</span><span class="o">=</span><span class="default_value">None</span></em>, <em class="sig-param"><span class="n">inFlagRaiseException</span><span class="o">=</span><span class="default_value">True</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_Get_UIOList"><span class="viewcode-link">[исходный код]</span></a><a class="headerlink" href="#pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_UIOList" title="Ссылка на это определение"></a></dt>
<dd><p>Get the UIO list by the selector</p>
<dl class="field-list simple">
<dt class="field-odd">Параметры</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>inSpecificationList</strong> UIO Selector</p></li>
<li><p><strong>inElement</strong> Входной элемент - показатель, что не требуется выполнять коннект к процессу</p></li>
<li><p><strong>inFlagRaiseException</strong> Флаг True - выкинуть ошибку в случае обнаружении пустого списка</p></li>
</ul>
</dd>
<dt class="field-even">Результат</dt>
<dd class="field-even"><p></p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt id="pyOpenRPA.Robot.UIDesktop.UIOSelector_Highlight">
<code class="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><code class="sig-name descname">UIOSelector_Highlight</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inUIOSelector</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_Highlight"><span class="viewcode-link">[исходный код]</span></a><a class="headerlink" href="#pyOpenRPA.Robot.UIDesktop.UIOSelector_Highlight" title="Ссылка на это определение"></a></dt>
<dd><p>Highlight (draw outline) the element (in app) by the UIO selector.</p>
<dl class="field-list simple">
<dt class="field-odd">Параметры</dt>
<dd class="field-odd"><p><strong>inUIOSelector</strong> UIOSelector - List of items, which contains condition attributes</p>
</dd>
<dt class="field-even">Результат</dt>
<dd class="field-even"><p></p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt id="pyOpenRPA.Robot.UIDesktop.UIOSelector_SafeOtherGet_Process">
<code class="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><code class="sig-name descname">UIOSelector_SafeOtherGet_Process</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inUIOSelector</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_SafeOtherGet_Process"><span class="viewcode-link">[исходный код]</span></a><a class="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>
<dl class="field-list simple">
<dt class="field-odd">Параметры</dt>
<dd class="field-odd"><p><strong>inUIOSelector</strong> UIO Selector of the UI object</p>
</dd>
<dt class="field-even">Результат</dt>
<dd class="field-even"><p>None or process (of the other bitness)</p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt id="pyOpenRPA.Robot.UIDesktop.UIOSelector_SearchChildByMouse_UIO">
<code class="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><code class="sig-name descname">UIOSelector_SearchChildByMouse_UIO</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inElementSpecification</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_SearchChildByMouse_UIO"><span class="viewcode-link">[исходный код]</span></a><a class="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>
<dl class="field-list simple">
<dt class="field-odd">Параметры</dt>
<dd class="field-odd"><p><strong>inElementSpecification</strong> UIOSelector of the UI Object</p>
</dd>
<dt class="field-even">Результат</dt>
<dd class="field-even"><p>pywinauto element wrapper instance or None</p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt id="pyOpenRPA.Robot.UIDesktop.UIOSelector_SearchChildByMouse_UIOTree">
<code class="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><code class="sig-name descname">UIOSelector_SearchChildByMouse_UIOTree</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inUIOSelector</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_SearchChildByMouse_UIOTree"><span class="viewcode-link">[исходный код]</span></a><a class="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>
<dl class="field-list simple">
<dt class="field-odd">Параметры</dt>
<dd class="field-odd"><p><strong>inUIOSelector</strong> UIOSelector of the UI Object</p>
</dd>
<dt class="field-even">Результат</dt>
<dd class="field-even"><p><p>?</p>
</p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt id="pyOpenRPA.Robot.UIDesktop.UIOSelector_TryRestore_Dict">
<code class="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><code class="sig-name descname">UIOSelector_TryRestore_Dict</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inSpecificationList</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_TryRestore_Dict"><span class="viewcode-link">[исходный код]</span></a><a class="headerlink" href="#pyOpenRPA.Robot.UIDesktop.UIOSelector_TryRestore_Dict" title="Ссылка на это определение"></a></dt>
<dd><p>Try to restore (maximize) window, if its minimized. (!IMPORTANT! When use UIA framework minimized windows doesnt appear by the UIOSelector. You need to try restore windows and after that try to get UIO)</p>
<dl class="field-list simple">
<dt class="field-odd">Параметры</dt>
<dd class="field-odd"><p><strong>inSpecificationList</strong> UIOSelector - List of items, which contains condition attributes</p>
</dd>
<dt class="field-even">Результат</dt>
<dd class="field-even"><p></p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt id="pyOpenRPA.Robot.UIDesktop.UIOSelectorsSecs_WaitAppear_List">
<code class="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><code class="sig-name descname">UIOSelectorsSecs_WaitAppear_List</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inSpecificationListList</span></em>, <em class="sig-param"><span class="n">inWaitSecs</span></em>, <em class="sig-param"><span class="n">inFlagWaitAllInMoment</span><span class="o">=</span><span class="default_value">False</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelectorsSecs_WaitAppear_List"><span class="viewcode-link">[исходный код]</span></a><a class="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>
<dl class="field-list simple">
<dt class="field-odd">Параметры</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>inSpecificationListList</strong> <p>UIOSelector list.
Example: [</p>
<blockquote>
<div><p>[{«title»:»notepad»},{«title»:»OK»}],
[{«title»:»notepad»},{«title»:»Cancel»}]</p>
</div></blockquote>
<p>]</p>
</p></li>
<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>
<dt class="field-even">Результат</dt>
<dd class="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>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt id="pyOpenRPA.Robot.UIDesktop.UIOSelectorsSecs_WaitDisappear_List">
<code class="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><code class="sig-name descname">UIOSelectorsSecs_WaitDisappear_List</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inSpecificationListList</span></em>, <em class="sig-param"><span class="n">inWaitSecs</span></em>, <em class="sig-param"><span class="n">inFlagWaitAllInMoment</span><span class="o">=</span><span class="default_value">False</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelectorsSecs_WaitDisappear_List"><span class="viewcode-link">[исходный код]</span></a><a class="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>
<dl class="field-list simple">
<dt class="field-odd">Параметры</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>inSpecificationListList</strong> <p>UIOSelector list.
Example: [</p>
<blockquote>
<div><p>[{«title»:»notepad»},{«title»:»OK»}],
[{«title»:»notepad»},{«title»:»Cancel»}]</p>
</div></blockquote>
<p>]</p>
</p></li>
<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>
<dt class="field-even">Результат</dt>
<dd class="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>
<dt class="field-odd">Результат</dt>
<dd class="field-odd"><p></p>
</dd>
</dl>
</dd></dl>
<div class="section" id="references">
<h2>References<a class="headerlink" href="#references" title="Ссылка на этот заголовок"></a></h2>
<p><a class="reference external" href="http://docutils.sourceforge.net/rst.html">reStructuredText</a> <a class="footnote-reference brackets" href="#id4" id="id5">1</a></p>
<dl class="footnote brackets">
<dt class="label" id="id4"><span class="brackets"><a class="fn-backref" href="#id5">1</a></span></dt>
<dd><p><a class="reference external" href="http://docutils.sourceforge.net/rst.html">http://docutils.sourceforge.net/rst.html</a></p>
</dd>
</dl>
<p> .. v1.2.12 replace:: v1.2.12
.. <a href="#id2"><span class="problematic" id="id3">|author|</span></a> replace:: Ivan Maslov &lt;<a class="reference external" href="mailto:ivan&#46;maslov&#37;&#52;&#48;unicodelabs&#46;ru">ivan<span>&#46;</span>maslov<span>&#64;</span>unicodelabs<span>&#46;</span>ru</a>&gt;</p>
<p></p>
</div>
</div>
</div>
</div>
<footer>
<div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
<a href="02_uidesktop.html" class="btn btn-neutral float-right" title="2. UIDesktop" accesskey="n" rel="next">Следующая <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
<a href="01_Robot.html" class="btn btn-neutral float-left" title="1. Описание" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Предыдущая</a>
</div>
<hr/>
<div role="contentinfo">
<p>
&#169; Copyright 2022, ООО &#34;ОПЕН РПА&#34;.
</p>
</div>
Собрано при помощи <a href="https://www.sphinx-doc.org/">Sphinx</a> с использованием
<a href="https://github.com/readthedocs/sphinx_rtd_theme">темы,</a>
предоставленной <a href="https://readthedocs.org">Read the Docs</a>.
</footer>
</div>
</div>
</section>
</div>
<script type="text/javascript">
jQuery(function () {
SphinxRtdTheme.Navigation.enable(true);
});
</script>
</body>
</html>

File diff suppressed because it is too large Load Diff

@ -7,7 +7,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>3. UIWeb &mdash; документация pyOpenRPA v1.2.12 v1.2.12</title>
<title>3. Функции UIWeb &mdash; документация pyOpenRPA v1.2.12 v1.2.12</title>
@ -41,8 +41,8 @@
<link rel="index" title="Алфавитный указатель" href="../genindex.html" />
<link rel="search" title="Поиск" href="../search.html" />
<link rel="next" title="4. Keyboard" href="04_keyboard.html" />
<link rel="prev" title="2. UIDesktop" href="02_uidesktop.html" />
<link rel="next" title="4. Функции Keyboard" href="04_keyboard.html" />
<link rel="prev" title="2. Функции UIDesktop" href="02_uidesktop.html" />
</head>
<body class="wy-body-for-nav">
@ -91,23 +91,22 @@
<ul>
<li class="toctree-l1"><a class="reference external" href="https://pyopenrpa.ru/wiki/guide/index">Выбрать версию</a></li>
<li class="toctree-l1"><a class="reference internal" href="../01_HowToInstall.html">1. Первый запуск</a></li>
<li class="toctree-l1"><a class="reference internal" href="../03_Copyrights_Contacts.html">2. Права &amp; Контакты</a></li>
<li class="toctree-l1"><a class="reference internal" href="../03_Copyrights_Contacts.html">2. Лицензия &amp; Контакты</a></li>
</ul>
<p class="caption"><span class="caption-text">МОДУЛЬ РОБОТ</span></p>
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="01_Robot.html">1. Описание</a></li>
<li class="toctree-l1"><a class="reference internal" href="02_Defs.html">2. Функции</a></li>
<li class="toctree-l1"><a class="reference internal" href="02_uidesktop.html">2. UIDesktop</a></li>
<li class="toctree-l1 current"><a class="current reference internal" href="#">3. UIWeb</a><ul>
<li class="toctree-l2"><a class="reference internal" href="#references">References</a></li>
<li class="toctree-l1"><a class="reference internal" href="02_uidesktop.html">2. Функции UIDesktop</a></li>
<li class="toctree-l1 current"><a class="current reference internal" href="#">3. Функции UIWeb</a><ul>
<li class="toctree-l2"><a class="reference internal" href="#id1">Общее</a></li>
<li class="toctree-l2"><a class="reference internal" href="#id2">Быстрая навигация</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="04_keyboard.html">4. Keyboard</a></li>
<li class="toctree-l1"><a class="reference internal" href="05_clipboard.html">5. Clipboard</a></li>
<li class="toctree-l1"><a class="reference internal" href="06_mouse.html">6. Mouse</a></li>
<li class="toctree-l1"><a class="reference internal" href="07_image.html">7. Image</a></li>
<li class="toctree-l1"><a class="reference internal" href="04_keyboard.html">4. Функции Keyboard</a></li>
<li class="toctree-l1"><a class="reference internal" href="05_clipboard.html">5. Функции Clipboard</a></li>
<li class="toctree-l1"><a class="reference internal" href="06_mouse.html">6. Функции Mouse</a></li>
<li class="toctree-l1"><a class="reference internal" href="07_image.html">7. Функции Image</a></li>
<li class="toctree-l1"><a class="reference internal" href="08_HowToUse.html">8. Как использовать?</a></li>
<li class="toctree-l1"><a class="reference internal" href="09_Dependencies.html">9. Зависимости</a></li>
</ul>
<p class="caption"><span class="caption-text">МОДУЛЬ СТУДИЯ</span></p>
<ul>
@ -116,20 +115,19 @@
</ul>
<p class="caption"><span class="caption-text">МОДУЛЬ ОРКЕСТРАТОР</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../Orchestrator/01_Orchestrator.html">1. Description</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Orchestrator/02_Defs.html">2. Defs</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Orchestrator/03_gSettingsTemplate.html">3. gSettings Template</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Orchestrator/04_HowToUse.html">4. How to use</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Orchestrator/05_UAC.html">5. UAC - User Access Control</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Orchestrator/06_Defs%20Managers.html">6. Defs Managers</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Orchestrator/01_Orchestrator.html">1. Описание</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Orchestrator/02_Defs.html">2. Функции</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Orchestrator/03_gSettingsTemplate.html">3. Настройки GSettings (шаблон)</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Orchestrator/04_HowToUse.html">4. Как использовать?</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Orchestrator/05_UAC.html">5. Права доступа пользователей UAC</a></li>
</ul>
<p class="caption"><span class="caption-text">МОДУЛЬ АГЕНТ</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../Agent/02_Defs.html">2. Defs</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Agent/02_Defs.html">2. Функции</a></li>
</ul>
<p class="caption"><span class="caption-text">ИНСТРУМЕНТЫ</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../Tools/02_Defs.html">2. Defs StopSafe</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Tools/02_Defs.html">2. Функции StopSafe</a></li>
</ul>
@ -178,7 +176,7 @@
<li><a href="../index.html" class="icon icon-home"></a> &raquo;</li>
<li>3. UIWeb</li>
<li>3. Функции UIWeb</li>
<li class="wy-breadcrumbs-aside">
@ -198,463 +196,26 @@
<div itemprop="articleBody">
<div class="section" id="uiweb">
<span id="module-robot-uiweb"></span><h1>3. UIWeb<a class="headerlink" href="#uiweb" title="Ссылка на этот заголовок"></a></h1>
<p>Here you can find the functions description for interaction with desktop GUI applications</p>
<p>How to use both x32 and x64 python processes (it can be helpfully, if another app GUI is on another bitness than your app)</p>
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="kn">from</span> <span class="nn">pyOpenRPA.Robot</span> <span class="kn">import</span> <span class="n">UIDesktop</span>
<span class="c1">#Section for robot init</span>
<span class="n">lPyOpenRPA_SettingsDict</span> <span class="o">=</span> <span class="p">{</span>
<span class="s2">&quot;Python32FullPath&quot;</span><span class="p">:</span> <span class="s2">&quot;..</span><span class="se">\\</span><span class="s2">Resources</span><span class="se">\\</span><span class="s2">WPy32-3720</span><span class="se">\\</span><span class="s2">python-3.7.2</span><span class="se">\\</span><span class="s2">python.exe&quot;</span><span class="p">,</span> <span class="c1">#Set from user: &quot;..\\Resources\\WPy32-3720\\python-3.7.2\\OpenRPARobotGUIx32.exe&quot;</span>
<span class="s2">&quot;Python64FullPath&quot;</span><span class="p">:</span> <span class="s2">&quot;..</span><span class="se">\\</span><span class="s2">Resources</span><span class="se">\\</span><span class="s2">WPy64-3720</span><span class="se">\\</span><span class="s2">python-3.7.2.amd64</span><span class="se">\\</span><span class="s2">python.exe&quot;</span><span class="p">,</span> <span class="c1">#Set from user</span>
<span class="s2">&quot;Python32ProcessName&quot;</span><span class="p">:</span> <span class="s2">&quot;pyOpenRPA_UIDesktopX32.exe&quot;</span><span class="p">,</span> <span class="c1">#Config set once</span>
<span class="s2">&quot;Python64ProcessName&quot;</span><span class="p">:</span> <span class="s2">&quot;pyOpenRPA_UIDesktopX64.exe&quot;</span> <span class="c1">#Config set once</span>
<span class="p">}</span>
<span class="c1"># Init the pyOpenRPA configuration</span>
<span class="n">UIDesktop</span><span class="o">.</span><span class="n">Utils</span><span class="o">.</span><span class="n">ProcessBitness</span><span class="o">.</span><span class="n">SettingsInit</span><span class="p">(</span><span class="n">lPyOpenRPA_SettingsDict</span><span class="p">)</span>
<span class="c1"># Now you can use pyOpenRPA with both bitness.</span>
</pre></div>
<span id="module-robot-uiweb"></span><h1>3. Функции UIWeb<a class="headerlink" href="#uiweb" title="Ссылка на этот заголовок"></a></h1>
<div class="section" id="id1">
<h2>Общее<a class="headerlink" href="#id1" title="Ссылка на этот заголовок"></a></h2>
<p>Документация к модулю будет опубликована в Июле 2022. По всем вопросам роботизации WEB приложений обращайтесь в центр поддержки клиентов pyOpenRPA.</p>
<p>Дорогие коллеги!</p>
<p>Мы знаем, что с pyOpenRPA вы сможете существенно улучшить качество вашего бизнеса. Платформа роботизации pyOpenRPA - это разработка, которая дает возможность делать виртуальных сотрудников (программных роботов RPA) выгодными, начиная от эффекта всего в <strong>10 тыс. руб.</strong> И управлять ими будете только Вы!</p>
<p>Если у вас останутся вопросы, то вы всегда можете обратиться в центр поддержки клиентов pyOpenRPA. Контакты: <a class="reference internal" href="../03_Copyrights_Contacts.html#copyrights-contacts"><span class="std std-ref">2. Лицензия &amp; Контакты</span></a></p>
<p>pyOpenRPA - роботы помогут!</p>
</div>
<span class="target" id="module-pyOpenRPA.Robot.UIDesktop"></span><p><strong>Functions:</strong></p>
<table class="longtable docutils align-default">
<colgroup>
<col style="width: 10%" />
<col style="width: 90%" />
</colgroup>
<tbody>
<tr class="row-odd"><td><p><a class="reference internal" href="07_image.html#pyOpenRPA.Robot.UIDesktop.Get_OSBitnessInt" title="pyOpenRPA.Robot.UIDesktop.Get_OSBitnessInt"><code class="xref py py-obj docutils literal notranslate"><span class="pre">Get_OSBitnessInt</span></code></a>()</p></td>
<td><p>Detect OS bitness.</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="07_image.html#pyOpenRPA.Robot.UIDesktop.PWASpecification_Get_PWAApplication" title="pyOpenRPA.Robot.UIDesktop.PWASpecification_Get_PWAApplication"><code class="xref py py-obj docutils literal notranslate"><span class="pre">PWASpecification_Get_PWAApplication</span></code></a>(…)</p></td>
<td><p>#Backend selection - attribute «backend» («win32» || «uia») in 1-st list element</p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="07_image.html#pyOpenRPA.Robot.UIDesktop.PWASpecification_Get_UIO" title="pyOpenRPA.Robot.UIDesktop.PWASpecification_Get_UIO"><code class="xref py py-obj docutils literal notranslate"><span class="pre">PWASpecification_Get_UIO</span></code></a>(…)</p></td>
<td><p>#Backend def selection - attribute «backend» («win32» || «uia») in 1-st list element #old name - GetControl</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="07_image.html#pyOpenRPA.Robot.UIDesktop.UIOSelectorSecs_WaitAppear_Bool" title="pyOpenRPA.Robot.UIDesktop.UIOSelectorSecs_WaitAppear_Bool"><code class="xref py py-obj docutils literal notranslate"><span class="pre">UIOSelectorSecs_WaitAppear_Bool</span></code></a>(…)</p></td>
<td><p>Wait for UI object will appear in GUI for inWaitSecs seconds.</p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="07_image.html#pyOpenRPA.Robot.UIDesktop.UIOSelectorSecs_WaitDisappear_Bool" title="pyOpenRPA.Robot.UIDesktop.UIOSelectorSecs_WaitDisappear_Bool"><code class="xref py py-obj docutils literal notranslate"><span class="pre">UIOSelectorSecs_WaitDisappear_Bool</span></code></a>(…)</p></td>
<td><p>Wait for UI object will disappear in GUI for inWaitSecs seconds.</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="07_image.html#pyOpenRPA.Robot.UIDesktop.UIOSelectorUIOActivity_Run_Dict" title="pyOpenRPA.Robot.UIDesktop.UIOSelectorUIOActivity_Run_Dict"><code class="xref py py-obj docutils literal notranslate"><span class="pre">UIOSelectorUIOActivity_Run_Dict</span></code></a>(…[, …])</p></td>
<td><p>Run the activity in UIO (UI Object)</p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="07_image.html#pyOpenRPA.Robot.UIDesktop.UIOSelector_Exist_Bool" title="pyOpenRPA.Robot.UIDesktop.UIOSelector_Exist_Bool"><code class="xref py py-obj docutils literal notranslate"><span class="pre">UIOSelector_Exist_Bool</span></code></a>(inUIOSelector)</p></td>
<td><p>Check if object is exist by the UIO selector.</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="07_image.html#pyOpenRPA.Robot.UIDesktop.UIOSelector_FocusHighlight" title="pyOpenRPA.Robot.UIDesktop.UIOSelector_FocusHighlight"><code class="xref py py-obj docutils literal notranslate"><span class="pre">UIOSelector_FocusHighlight</span></code></a>(inUIOSelector)</p></td>
<td><p>Set focus and highlight (draw outline) the element (in app) by the UIO selector.</p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="07_image.html#pyOpenRPA.Robot.UIDesktop.UIOSelector_GetChildList_UIOList" title="pyOpenRPA.Robot.UIDesktop.UIOSelector_GetChildList_UIOList"><code class="xref py py-obj docutils literal notranslate"><span class="pre">UIOSelector_GetChildList_UIOList</span></code></a>([…])</p></td>
<td><p>Get list of child UIOs by the parent UIOSelector</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="07_image.html#pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_BitnessInt" title="pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_BitnessInt"><code class="xref py py-obj docutils literal notranslate"><span class="pre">UIOSelector_Get_BitnessInt</span></code></a>(inSpecificationList)</p></td>
<td><p>Detect process bitness by the UI Object UIO Selector.</p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="07_image.html#pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_BitnessStr" title="pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_BitnessStr"><code class="xref py py-obj docutils literal notranslate"><span class="pre">UIOSelector_Get_BitnessStr</span></code></a>(inSpecificationList)</p></td>
<td><p>Detect process bitness by the UI Object UIO Selector.</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="07_image.html#pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_UIO" title="pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_UIO"><code class="xref py py-obj docutils literal notranslate"><span class="pre">UIOSelector_Get_UIO</span></code></a>(inSpecificationList[, …])</p></td>
<td><p>Get the pywinauto object by the UIO selector.</p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="07_image.html#pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_UIOActivityList" title="pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_UIOActivityList"><code class="xref py py-obj docutils literal notranslate"><span class="pre">UIOSelector_Get_UIOActivityList</span></code></a>(inUIOSelector)</p></td>
<td><p>Get the list of the UI object activities</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="07_image.html#pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_UIOInfo" title="pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_UIOInfo"><code class="xref py py-obj docutils literal notranslate"><span class="pre">UIOSelector_Get_UIOInfo</span></code></a>(inUIOSelector)</p></td>
<td><p>Get the UIO dict of the attributes</p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="07_image.html#pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_UIOList" title="pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_UIOList"><code class="xref py py-obj docutils literal notranslate"><span class="pre">UIOSelector_Get_UIOList</span></code></a>(inSpecificationList)</p></td>
<td><p>Get the UIO list by the selector</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="07_image.html#pyOpenRPA.Robot.UIDesktop.UIOSelector_Highlight" title="pyOpenRPA.Robot.UIDesktop.UIOSelector_Highlight"><code class="xref py py-obj docutils literal notranslate"><span class="pre">UIOSelector_Highlight</span></code></a>(inUIOSelector)</p></td>
<td><p>Highlight (draw outline) the element (in app) by the UIO selector.</p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="07_image.html#pyOpenRPA.Robot.UIDesktop.UIOSelector_SafeOtherGet_Process" title="pyOpenRPA.Robot.UIDesktop.UIOSelector_SafeOtherGet_Process"><code class="xref py py-obj docutils literal notranslate"><span class="pre">UIOSelector_SafeOtherGet_Process</span></code></a>(inUIOSelector)</p></td>
<td><p>Safe get other process or None if destination app is the other/same bitness</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="07_image.html#pyOpenRPA.Robot.UIDesktop.UIOSelector_SearchChildByMouse_UIO" title="pyOpenRPA.Robot.UIDesktop.UIOSelector_SearchChildByMouse_UIO"><code class="xref py py-obj docutils literal notranslate"><span class="pre">UIOSelector_SearchChildByMouse_UIO</span></code></a>(…)</p></td>
<td><p>UIOSelector (see description on the top of the document) #old name - AutomationSearchMouseElement</p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="07_image.html#pyOpenRPA.Robot.UIDesktop.UIOSelector_SearchChildByMouse_UIOTree" title="pyOpenRPA.Robot.UIDesktop.UIOSelector_SearchChildByMouse_UIOTree"><code class="xref py py-obj docutils literal notranslate"><span class="pre">UIOSelector_SearchChildByMouse_UIOTree</span></code></a>(…)</p></td>
<td><p>!!!!Safe call is included (you can set activity and UIDesktop will choose the bitness and return the result)!!!!!</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="07_image.html#pyOpenRPA.Robot.UIDesktop.UIOSelector_TryRestore_Dict" title="pyOpenRPA.Robot.UIDesktop.UIOSelector_TryRestore_Dict"><code class="xref py py-obj docutils literal notranslate"><span class="pre">UIOSelector_TryRestore_Dict</span></code></a>(inSpecificationList)</p></td>
<td><p>Try to restore (maximize) window, if its minimized.</p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="07_image.html#pyOpenRPA.Robot.UIDesktop.UIOSelectorsSecs_WaitAppear_List" title="pyOpenRPA.Robot.UIDesktop.UIOSelectorsSecs_WaitAppear_List"><code class="xref py py-obj docutils literal notranslate"><span class="pre">UIOSelectorsSecs_WaitAppear_List</span></code></a>(…[, …])</p></td>
<td><p>Wait for many UI object will appear in GUI for inWaitSecs seconds.</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="07_image.html#pyOpenRPA.Robot.UIDesktop.UIOSelectorsSecs_WaitDisappear_List" title="pyOpenRPA.Robot.UIDesktop.UIOSelectorsSecs_WaitDisappear_List"><code class="xref py py-obj docutils literal notranslate"><span class="pre">UIOSelectorsSecs_WaitDisappear_List</span></code></a>(…[, …])</p></td>
<td><p>Wait for many UI object will disappear in GUI for inWaitSecs seconds.</p></td>
</tr>
</tbody>
</table>
<dl class="py function">
<dt id="pyOpenRPA.Robot.UIDesktop.Get_OSBitnessInt">
<code class="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><code class="sig-name descname">Get_OSBitnessInt</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Robot/UIDesktop.html#Get_OSBitnessInt"><span class="viewcode-link">[исходный код]</span></a><a class="headerlink" href="#pyOpenRPA.Robot.UIDesktop.Get_OSBitnessInt" title="Ссылка на это определение"></a></dt>
<dd><p>Detect OS bitness.</p>
<dl class="field-list simple">
<dt class="field-odd">Результат</dt>
<dd class="field-odd"><p>int 32 or int 64</p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt id="pyOpenRPA.Robot.UIDesktop.PWASpecification_Get_PWAApplication">
<code class="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><code class="sig-name descname">PWASpecification_Get_PWAApplication</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inControlSpecificationArray</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Robot/UIDesktop.html#PWASpecification_Get_PWAApplication"><span class="viewcode-link">[исходный код]</span></a><a class="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>
<dl class="field-list simple">
<dt class="field-odd">Параметры</dt>
<dd class="field-odd"><p><strong>inControlSpecificationArray</strong> List of dict, dict in pywinauto.find_windows notation</p>
</dd>
<dt class="field-even">Результат</dt>
<dd class="field-even"><p>process application object</p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt id="pyOpenRPA.Robot.UIDesktop.PWASpecification_Get_UIO">
<code class="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><code class="sig-name descname">PWASpecification_Get_UIO</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inControlSpecificationArray</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Robot/UIDesktop.html#PWASpecification_Get_UIO"><span class="viewcode-link">[исходный код]</span></a><a class="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>
<dl class="field-list simple">
<dt class="field-odd">Параметры</dt>
<dd class="field-odd"><p><strong>inControlSpecificationArray</strong> List of dict, dict in pywinauto.find_windows notation</p>
</dd>
<dt class="field-even">Результат</dt>
<dd class="field-even"><p>list of UIO object</p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt id="pyOpenRPA.Robot.UIDesktop.UIOSelectorSecs_WaitAppear_Bool">
<code class="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><code class="sig-name descname">UIOSelectorSecs_WaitAppear_Bool</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inSpecificationList</span></em>, <em class="sig-param"><span class="n">inWaitSecs</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelectorSecs_WaitAppear_Bool"><span class="viewcode-link">[исходный код]</span></a><a class="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>
<dl class="field-list simple">
<dt class="field-odd">Параметры</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>inSpecificationList</strong> UIOSelector. Example: [{«title»:»notepad»},{«title»:»OK»}]</p></li>
<li><p><strong>inWaitSecs</strong> Float value (seconds) for wait UI element appear in GUI</p></li>
<div class="section" id="id2">
<h2>Быстрая навигация<a class="headerlink" href="#id2" title="Ссылка на этот заголовок"></a></h2>
<ul class="simple">
<li><p><a class="reference external" href="https://t.me/pyOpenRPA">Сообщество pyOpenRPA (telegram)</a></p></li>
<li><p><a class="reference external" href="https://tenchat.ru/iMaslov?utm_source=19f2a84f-3268-437f-950c-d987ae42af24">Сообщество pyOpenRPA (tenchat)</a></p></li>
<li><p><a class="reference external" href="https://vk.com/pyopenrpa">Сообщество pyOpenRPA (вконтакте)</a></p></li>
<li><p><a class="reference external" href="https://pyopenrpa.ru/Index/pyOpenRPA_product_service.pdf">Презентация pyOpenRPA</a></p></li>
<li><p><a class="reference external" href="https://pyopenrpa.ru">Портал pyOpenRPA</a></p></li>
<li><p><a class="reference external" href="https://gitlab.com/UnicodeLabs/OpenRPA">Репозиторий pyOpenRPA</a></p></li>
</ul>
</dd>
<dt class="field-even">Результат</dt>
<dd class="field-even"><p>True - UI object will appear. False - else case</p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt id="pyOpenRPA.Robot.UIDesktop.UIOSelectorSecs_WaitDisappear_Bool">
<code class="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><code class="sig-name descname">UIOSelectorSecs_WaitDisappear_Bool</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inSpecificationList</span></em>, <em class="sig-param"><span class="n">inWaitSecs</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelectorSecs_WaitDisappear_Bool"><span class="viewcode-link">[исходный код]</span></a><a class="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>
<dl class="field-list simple">
<dt class="field-odd">Параметры</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>inSpecificationList</strong> UIOSelector.
Example: [{«title»:»notepad»},{«title»:»OK»}]</p></li>
<li><p><strong>inWaitSecs</strong> Float value (seconds) for wait UI element disappear in GUI</p></li>
</ul>
</dd>
<dt class="field-even">Результат</dt>
<dd class="field-even"><p>True - UI object will disappear. False - else case</p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt id="pyOpenRPA.Robot.UIDesktop.UIOSelectorUIOActivity_Run_Dict">
<code class="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><code class="sig-name descname">UIOSelectorUIOActivity_Run_Dict</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inUIOSelector</span></em>, <em class="sig-param"><span class="n">inActionName</span></em>, <em class="sig-param"><span class="n">inArgumentList</span><span class="o">=</span><span class="default_value">None</span></em>, <em class="sig-param"><span class="n">inkwArgumentObject</span><span class="o">=</span><span class="default_value">None</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelectorUIOActivity_Run_Dict"><span class="viewcode-link">[исходный код]</span></a><a class="headerlink" href="#pyOpenRPA.Robot.UIDesktop.UIOSelectorUIOActivity_Run_Dict" title="Ссылка на это определение"></a></dt>
<dd><p>Run the activity in UIO (UI Object)</p>
<dl class="field-list simple">
<dt class="field-odd">Параметры</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>inUIOSelector</strong> UIOSelector - List of items, which contains condition attributes</p></li>
<li><p><strong>inActionName</strong> UIOActivity (name) activity name string from Pywinauto</p></li>
<li><p><strong>inArgumentList</strong> </p></li>
<li><p><strong>inkwArgumentObject</strong> </p></li>
</ul>
</dd>
<dt class="field-even">Результат</dt>
<dd class="field-even"><p></p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt id="pyOpenRPA.Robot.UIDesktop.UIOSelector_Exist_Bool">
<code class="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><code class="sig-name descname">UIOSelector_Exist_Bool</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inUIOSelector</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_Exist_Bool"><span class="viewcode-link">[исходный код]</span></a><a class="headerlink" href="#pyOpenRPA.Robot.UIDesktop.UIOSelector_Exist_Bool" title="Ссылка на это определение"></a></dt>
<dd><p>Check if object is exist by the UIO selector.</p>
<dl class="field-list simple">
<dt class="field-odd">Параметры</dt>
<dd class="field-odd"><p><strong>inUIOSelector</strong> </p>
</dd>
<dt class="field-even">Результат</dt>
<dd class="field-even"><p>True - Object is exist. False - else case</p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt id="pyOpenRPA.Robot.UIDesktop.UIOSelector_FocusHighlight">
<code class="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><code class="sig-name descname">UIOSelector_FocusHighlight</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inUIOSelector</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_FocusHighlight"><span class="viewcode-link">[исходный код]</span></a><a class="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>
<dl class="field-list simple">
<dt class="field-odd">Параметры</dt>
<dd class="field-odd"><p><strong>inUIOSelector</strong> UIOSelector - List of items, which contains condition attributes</p>
</dd>
<dt class="field-even">Результат</dt>
<dd class="field-even"><p></p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt id="pyOpenRPA.Robot.UIDesktop.UIOSelector_GetChildList_UIOList">
<code class="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><code class="sig-name descname">UIOSelector_GetChildList_UIOList</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inUIOSelector</span><span class="o">=</span><span class="default_value">None</span></em>, <em class="sig-param"><span class="n">inBackend</span><span class="o">=</span><span class="default_value">'win32'</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_GetChildList_UIOList"><span class="viewcode-link">[исходный код]</span></a><a class="headerlink" href="#pyOpenRPA.Robot.UIDesktop.UIOSelector_GetChildList_UIOList" title="Ссылка на это определение"></a></dt>
<dd><p>Get list of child UIOs by the parent UIOSelector</p>
<dl class="field-list simple">
<dt class="field-odd">Параметры</dt>
<dd class="field-odd"><ul class="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>
<dt class="field-even">Результат</dt>
<dd class="field-even"><p></p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt id="pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_BitnessInt">
<code class="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><code class="sig-name descname">UIOSelector_Get_BitnessInt</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inSpecificationList</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_Get_BitnessInt"><span class="viewcode-link">[исходный код]</span></a><a class="headerlink" href="#pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_BitnessInt" title="Ссылка на это определение"></a></dt>
<dd><p>Detect process bitness by the UI Object UIO Selector.</p>
<dl class="field-list simple">
<dt class="field-odd">Параметры</dt>
<dd class="field-odd"><p><strong>inSpecificationList</strong> UIOSelector. Example: [{«title»:»notepad»},{«title»:»OK»}]</p>
</dd>
<dt class="field-even">Результат</dt>
<dd class="field-even"><p>int 32 or int 64</p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt id="pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_BitnessStr">
<code class="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><code class="sig-name descname">UIOSelector_Get_BitnessStr</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inSpecificationList</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_Get_BitnessStr"><span class="viewcode-link">[исходный код]</span></a><a class="headerlink" href="#pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_BitnessStr" title="Ссылка на это определение"></a></dt>
<dd><p>Detect process bitness by the UI Object UIO Selector.</p>
<dl class="field-list simple">
<dt class="field-odd">Параметры</dt>
<dd class="field-odd"><p><strong>inSpecificationList</strong> UIOSelector. Example: [{«title»:»notepad»},{«title»:»OK»}]</p>
</dd>
<dt class="field-even">Результат</dt>
<dd class="field-even"><p>str «32» or str «64»</p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt id="pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_UIO">
<code class="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><code class="sig-name descname">UIOSelector_Get_UIO</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inSpecificationList</span></em>, <em class="sig-param"><span class="n">inElement</span><span class="o">=</span><span class="default_value">None</span></em>, <em class="sig-param"><span class="n">inFlagRaiseException</span><span class="o">=</span><span class="default_value">True</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_Get_UIO"><span class="viewcode-link">[исходный код]</span></a><a class="headerlink" href="#pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_UIO" title="Ссылка на это определение"></a></dt>
<dd><p>Get the pywinauto object by the UIO selector.</p>
<dl class="field-list simple">
<dt class="field-odd">Параметры</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>inSpecificationList</strong> </p></li>
<li><p><strong>inElement</strong> </p></li>
<li><p><strong>inFlagRaiseException</strong> </p></li>
</ul>
</dd>
<dt class="field-even">Результат</dt>
<dd class="field-even"><p></p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt id="pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_UIOActivityList">
<code class="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><code class="sig-name descname">UIOSelector_Get_UIOActivityList</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inUIOSelector</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_Get_UIOActivityList"><span class="viewcode-link">[исходный код]</span></a><a class="headerlink" href="#pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_UIOActivityList" title="Ссылка на это определение"></a></dt>
<dd><p>Get the list of the UI object activities</p>
<dl class="field-list simple">
<dt class="field-odd">Параметры</dt>
<dd class="field-odd"><p><strong>inUIOSelector</strong> UIOSelector - List of items, which contains condition attributes</p>
</dd>
<dt class="field-even">Результат</dt>
<dd class="field-even"><p></p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt id="pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_UIOInfo">
<code class="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><code class="sig-name descname">UIOSelector_Get_UIOInfo</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inUIOSelector</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_Get_UIOInfo"><span class="viewcode-link">[исходный код]</span></a><a class="headerlink" href="#pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_UIOInfo" title="Ссылка на это определение"></a></dt>
<dd><p>Get the UIO dict of the attributes</p>
<dl class="field-list simple">
<dt class="field-odd">Параметры</dt>
<dd class="field-odd"><p><strong>inUIOSelector</strong> UIOSelector - List of items, which contains condition attributes</p>
</dd>
<dt class="field-even">Результат</dt>
<dd class="field-even"><p></p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt id="pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_UIOList">
<code class="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><code class="sig-name descname">UIOSelector_Get_UIOList</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inSpecificationList</span></em>, <em class="sig-param"><span class="n">inElement</span><span class="o">=</span><span class="default_value">None</span></em>, <em class="sig-param"><span class="n">inFlagRaiseException</span><span class="o">=</span><span class="default_value">True</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_Get_UIOList"><span class="viewcode-link">[исходный код]</span></a><a class="headerlink" href="#pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_UIOList" title="Ссылка на это определение"></a></dt>
<dd><p>Get the UIO list by the selector</p>
<dl class="field-list simple">
<dt class="field-odd">Параметры</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>inSpecificationList</strong> UIO Selector</p></li>
<li><p><strong>inElement</strong> Входной элемент - показатель, что не требуется выполнять коннект к процессу</p></li>
<li><p><strong>inFlagRaiseException</strong> Флаг True - выкинуть ошибку в случае обнаружении пустого списка</p></li>
</ul>
</dd>
<dt class="field-even">Результат</dt>
<dd class="field-even"><p></p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt id="pyOpenRPA.Robot.UIDesktop.UIOSelector_Highlight">
<code class="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><code class="sig-name descname">UIOSelector_Highlight</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inUIOSelector</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_Highlight"><span class="viewcode-link">[исходный код]</span></a><a class="headerlink" href="#pyOpenRPA.Robot.UIDesktop.UIOSelector_Highlight" title="Ссылка на это определение"></a></dt>
<dd><p>Highlight (draw outline) the element (in app) by the UIO selector.</p>
<dl class="field-list simple">
<dt class="field-odd">Параметры</dt>
<dd class="field-odd"><p><strong>inUIOSelector</strong> UIOSelector - List of items, which contains condition attributes</p>
</dd>
<dt class="field-even">Результат</dt>
<dd class="field-even"><p></p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt id="pyOpenRPA.Robot.UIDesktop.UIOSelector_SafeOtherGet_Process">
<code class="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><code class="sig-name descname">UIOSelector_SafeOtherGet_Process</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inUIOSelector</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_SafeOtherGet_Process"><span class="viewcode-link">[исходный код]</span></a><a class="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>
<dl class="field-list simple">
<dt class="field-odd">Параметры</dt>
<dd class="field-odd"><p><strong>inUIOSelector</strong> UIO Selector of the UI object</p>
</dd>
<dt class="field-even">Результат</dt>
<dd class="field-even"><p>None or process (of the other bitness)</p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt id="pyOpenRPA.Robot.UIDesktop.UIOSelector_SearchChildByMouse_UIO">
<code class="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><code class="sig-name descname">UIOSelector_SearchChildByMouse_UIO</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inElementSpecification</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_SearchChildByMouse_UIO"><span class="viewcode-link">[исходный код]</span></a><a class="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>
<dl class="field-list simple">
<dt class="field-odd">Параметры</dt>
<dd class="field-odd"><p><strong>inElementSpecification</strong> UIOSelector of the UI Object</p>
</dd>
<dt class="field-even">Результат</dt>
<dd class="field-even"><p>pywinauto element wrapper instance or None</p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt id="pyOpenRPA.Robot.UIDesktop.UIOSelector_SearchChildByMouse_UIOTree">
<code class="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><code class="sig-name descname">UIOSelector_SearchChildByMouse_UIOTree</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inUIOSelector</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_SearchChildByMouse_UIOTree"><span class="viewcode-link">[исходный код]</span></a><a class="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>
<dl class="field-list simple">
<dt class="field-odd">Параметры</dt>
<dd class="field-odd"><p><strong>inUIOSelector</strong> UIOSelector of the UI Object</p>
</dd>
<dt class="field-even">Результат</dt>
<dd class="field-even"><p><p>?</p>
</p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt id="pyOpenRPA.Robot.UIDesktop.UIOSelector_TryRestore_Dict">
<code class="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><code class="sig-name descname">UIOSelector_TryRestore_Dict</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inSpecificationList</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_TryRestore_Dict"><span class="viewcode-link">[исходный код]</span></a><a class="headerlink" href="#pyOpenRPA.Robot.UIDesktop.UIOSelector_TryRestore_Dict" title="Ссылка на это определение"></a></dt>
<dd><p>Try to restore (maximize) window, if its minimized. (!IMPORTANT! When use UIA framework minimized windows doesnt appear by the UIOSelector. You need to try restore windows and after that try to get UIO)</p>
<dl class="field-list simple">
<dt class="field-odd">Параметры</dt>
<dd class="field-odd"><p><strong>inSpecificationList</strong> UIOSelector - List of items, which contains condition attributes</p>
</dd>
<dt class="field-even">Результат</dt>
<dd class="field-even"><p></p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt id="pyOpenRPA.Robot.UIDesktop.UIOSelectorsSecs_WaitAppear_List">
<code class="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><code class="sig-name descname">UIOSelectorsSecs_WaitAppear_List</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inSpecificationListList</span></em>, <em class="sig-param"><span class="n">inWaitSecs</span></em>, <em class="sig-param"><span class="n">inFlagWaitAllInMoment</span><span class="o">=</span><span class="default_value">False</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelectorsSecs_WaitAppear_List"><span class="viewcode-link">[исходный код]</span></a><a class="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>
<dl class="field-list simple">
<dt class="field-odd">Параметры</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>inSpecificationListList</strong> <p>UIOSelector list.
Example: [</p>
<blockquote>
<div><p>[{«title»:»notepad»},{«title»:»OK»}],
[{«title»:»notepad»},{«title»:»Cancel»}]</p>
</div></blockquote>
<p>]</p>
</p></li>
<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>
<dt class="field-even">Результат</dt>
<dd class="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>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt id="pyOpenRPA.Robot.UIDesktop.UIOSelectorsSecs_WaitDisappear_List">
<code class="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><code class="sig-name descname">UIOSelectorsSecs_WaitDisappear_List</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inSpecificationListList</span></em>, <em class="sig-param"><span class="n">inWaitSecs</span></em>, <em class="sig-param"><span class="n">inFlagWaitAllInMoment</span><span class="o">=</span><span class="default_value">False</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelectorsSecs_WaitDisappear_List"><span class="viewcode-link">[исходный код]</span></a><a class="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>
<dl class="field-list simple">
<dt class="field-odd">Параметры</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>inSpecificationListList</strong> <p>UIOSelector list.
Example: [</p>
<blockquote>
<div><p>[{«title»:»notepad»},{«title»:»OK»}],
[{«title»:»notepad»},{«title»:»Cancel»}]</p>
</div></blockquote>
<p>]</p>
</p></li>
<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>
<dt class="field-even">Результат</dt>
<dd class="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>
<dt class="field-odd">Результат</dt>
<dd class="field-odd"><p></p>
</dd>
</dl>
</dd></dl>
<div class="section" id="references">
<h2>References<a class="headerlink" href="#references" title="Ссылка на этот заголовок"></a></h2>
<p><a class="reference external" href="http://docutils.sourceforge.net/rst.html">reStructuredText</a> <a class="footnote-reference brackets" href="#id3" id="id4">1</a></p>
<dl class="footnote brackets">
<dt class="label" id="id3"><span class="brackets"><a class="fn-backref" href="#id4">1</a></span></dt>
<dd><p><a class="reference external" href="http://docutils.sourceforge.net/rst.html">http://docutils.sourceforge.net/rst.html</a></p>
</dd>
</dl>
<p> .. v1.2.12 replace:: v1.2.12
.. <a href="#id1"><span class="problematic" id="id2">|author|</span></a> replace:: Ivan Maslov &lt;<a class="reference external" href="mailto:ivan&#46;maslov&#37;&#52;&#48;unicodelabs&#46;ru">ivan<span>&#46;</span>maslov<span>&#64;</span>unicodelabs<span>&#46;</span>ru</a>&gt;</p>
<p> .. v1.2.12 replace:: v1.2.12</p>
<p></p>
</div>
</div>
@ -665,8 +226,8 @@ Example: [</p>
</div>
<footer>
<div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
<a href="04_keyboard.html" class="btn btn-neutral float-right" title="4. Keyboard" accesskey="n" rel="next">Следующая <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
<a href="02_uidesktop.html" class="btn btn-neutral float-left" title="2. UIDesktop" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Предыдущая</a>
<a href="04_keyboard.html" class="btn btn-neutral float-right" title="4. Функции Keyboard" accesskey="n" rel="next">Следующая <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
<a href="02_uidesktop.html" class="btn btn-neutral float-left" title="2. Функции UIDesktop" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Предыдущая</a>
</div>
<hr/>

@ -7,7 +7,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>4. Keyboard &mdash; документация pyOpenRPA v1.2.12 v1.2.12</title>
<title>4. Функции Keyboard &mdash; документация pyOpenRPA v1.2.12 v1.2.12</title>
@ -41,8 +41,8 @@
<link rel="index" title="Алфавитный указатель" href="../genindex.html" />
<link rel="search" title="Поиск" href="../search.html" />
<link rel="next" title="5. Clipboard" href="05_clipboard.html" />
<link rel="prev" title="3. UIWeb" href="03_uiweb.html" />
<link rel="next" title="5. Функции Clipboard" href="05_clipboard.html" />
<link rel="prev" title="3. Функции UIWeb" href="03_uiweb.html" />
</head>
<body class="wy-body-for-nav">
@ -91,23 +91,26 @@
<ul>
<li class="toctree-l1"><a class="reference external" href="https://pyopenrpa.ru/wiki/guide/index">Выбрать версию</a></li>
<li class="toctree-l1"><a class="reference internal" href="../01_HowToInstall.html">1. Первый запуск</a></li>
<li class="toctree-l1"><a class="reference internal" href="../03_Copyrights_Contacts.html">2. Права &amp; Контакты</a></li>
<li class="toctree-l1"><a class="reference internal" href="../03_Copyrights_Contacts.html">2. Лицензия &amp; Контакты</a></li>
</ul>
<p class="caption"><span class="caption-text">МОДУЛЬ РОБОТ</span></p>
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="01_Robot.html">1. Описание</a></li>
<li class="toctree-l1"><a class="reference internal" href="02_Defs.html">2. Функции</a></li>
<li class="toctree-l1"><a class="reference internal" href="02_uidesktop.html">2. UIDesktop</a></li>
<li class="toctree-l1"><a class="reference internal" href="03_uiweb.html">3. UIWeb</a></li>
<li class="toctree-l1 current"><a class="current reference internal" href="#">4. Keyboard</a><ul>
<li class="toctree-l2"><a class="reference internal" href="#references">References</a></li>
<li class="toctree-l1"><a class="reference internal" href="02_uidesktop.html">2. Функции UIDesktop</a></li>
<li class="toctree-l1"><a class="reference internal" href="03_uiweb.html">3. Функции UIWeb</a></li>
<li class="toctree-l1 current"><a class="current reference internal" href="#">4. Функции Keyboard</a><ul>
<li class="toctree-l2"><a class="reference internal" href="#id1">Общее</a></li>
<li class="toctree-l2"><a class="reference internal" href="#id2">Примеры использования</a></li>
<li class="toctree-l2"><a class="reference internal" href="#module-pyOpenRPA.Robot.Keyboard">Описание функций</a></li>
<li class="toctree-l2"><a class="reference internal" href="#id4">Коды клавиш</a></li>
<li class="toctree-l2"><a class="reference internal" href="#id5">Дополнительная функциональность</a></li>
<li class="toctree-l2"><a class="reference internal" href="#id7">Быстрая навигация</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="05_clipboard.html">5. Clipboard</a></li>
<li class="toctree-l1"><a class="reference internal" href="06_mouse.html">6. Mouse</a></li>
<li class="toctree-l1"><a class="reference internal" href="07_image.html">7. Image</a></li>
<li class="toctree-l1"><a class="reference internal" href="05_clipboard.html">5. Функции Clipboard</a></li>
<li class="toctree-l1"><a class="reference internal" href="06_mouse.html">6. Функции Mouse</a></li>
<li class="toctree-l1"><a class="reference internal" href="07_image.html">7. Функции Image</a></li>
<li class="toctree-l1"><a class="reference internal" href="08_HowToUse.html">8. Как использовать?</a></li>
<li class="toctree-l1"><a class="reference internal" href="09_Dependencies.html">9. Зависимости</a></li>
</ul>
<p class="caption"><span class="caption-text">МОДУЛЬ СТУДИЯ</span></p>
<ul>
@ -116,20 +119,19 @@
</ul>
<p class="caption"><span class="caption-text">МОДУЛЬ ОРКЕСТРАТОР</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../Orchestrator/01_Orchestrator.html">1. Description</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Orchestrator/02_Defs.html">2. Defs</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Orchestrator/03_gSettingsTemplate.html">3. gSettings Template</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Orchestrator/04_HowToUse.html">4. How to use</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Orchestrator/05_UAC.html">5. UAC - User Access Control</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Orchestrator/06_Defs%20Managers.html">6. Defs Managers</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Orchestrator/01_Orchestrator.html">1. Описание</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Orchestrator/02_Defs.html">2. Функции</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Orchestrator/03_gSettingsTemplate.html">3. Настройки GSettings (шаблон)</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Orchestrator/04_HowToUse.html">4. Как использовать?</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Orchestrator/05_UAC.html">5. Права доступа пользователей UAC</a></li>
</ul>
<p class="caption"><span class="caption-text">МОДУЛЬ АГЕНТ</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../Agent/02_Defs.html">2. Defs</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Agent/02_Defs.html">2. Функции</a></li>
</ul>
<p class="caption"><span class="caption-text">ИНСТРУМЕНТЫ</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../Tools/02_Defs.html">2. Defs StopSafe</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Tools/02_Defs.html">2. Функции StopSafe</a></li>
</ul>
@ -178,7 +180,7 @@
<li><a href="../index.html" class="icon icon-home"></a> &raquo;</li>
<li>4. Keyboard</li>
<li>4. Функции Keyboard</li>
<li class="wy-breadcrumbs-aside">
@ -198,463 +200,438 @@
<div itemprop="articleBody">
<div class="section" id="keyboard">
<span id="module-robot-keyboard"></span><h1>4. Keyboard<a class="headerlink" href="#keyboard" title="Ссылка на этот заголовок"></a></h1>
<p>Here you can find the functions description for interaction with desktop GUI applications</p>
<p>How to use both x32 and x64 python processes (it can be helpfully, if another app GUI is on another bitness than your app)</p>
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="kn">from</span> <span class="nn">pyOpenRPA.Robot</span> <span class="kn">import</span> <span class="n">UIDesktop</span>
<span class="c1">#Section for robot init</span>
<span class="n">lPyOpenRPA_SettingsDict</span> <span class="o">=</span> <span class="p">{</span>
<span class="s2">&quot;Python32FullPath&quot;</span><span class="p">:</span> <span class="s2">&quot;..</span><span class="se">\\</span><span class="s2">Resources</span><span class="se">\\</span><span class="s2">WPy32-3720</span><span class="se">\\</span><span class="s2">python-3.7.2</span><span class="se">\\</span><span class="s2">python.exe&quot;</span><span class="p">,</span> <span class="c1">#Set from user: &quot;..\\Resources\\WPy32-3720\\python-3.7.2\\OpenRPARobotGUIx32.exe&quot;</span>
<span class="s2">&quot;Python64FullPath&quot;</span><span class="p">:</span> <span class="s2">&quot;..</span><span class="se">\\</span><span class="s2">Resources</span><span class="se">\\</span><span class="s2">WPy64-3720</span><span class="se">\\</span><span class="s2">python-3.7.2.amd64</span><span class="se">\\</span><span class="s2">python.exe&quot;</span><span class="p">,</span> <span class="c1">#Set from user</span>
<span class="s2">&quot;Python32ProcessName&quot;</span><span class="p">:</span> <span class="s2">&quot;pyOpenRPA_UIDesktopX32.exe&quot;</span><span class="p">,</span> <span class="c1">#Config set once</span>
<span class="s2">&quot;Python64ProcessName&quot;</span><span class="p">:</span> <span class="s2">&quot;pyOpenRPA_UIDesktopX64.exe&quot;</span> <span class="c1">#Config set once</span>
<span class="p">}</span>
<span class="c1"># Init the pyOpenRPA configuration</span>
<span class="n">UIDesktop</span><span class="o">.</span><span class="n">Utils</span><span class="o">.</span><span class="n">ProcessBitness</span><span class="o">.</span><span class="n">SettingsInit</span><span class="p">(</span><span class="n">lPyOpenRPA_SettingsDict</span><span class="p">)</span>
<span class="c1"># Now you can use pyOpenRPA with both bitness.</span>
<span id="module-robot-keyboard"></span><h1>4. Функции Keyboard<a class="headerlink" href="#keyboard" title="Ссылка на этот заголовок"></a></h1>
<div class="section" id="id1">
<h2>Общее<a class="headerlink" href="#id1" title="Ссылка на этот заголовок"></a></h2>
<p>Клавиатура - это главный текстовый инструмент, который обладает 100% точностью передачи данных. С его помощью можно отправлять сообщения, ожидать нажатия и выполнять различные комбинации клавиш. На этой странице представлена вся необходимая информация по управлению клавиатурой со стороны программного робота RPA.</p>
<p>В отличие от многих RPA платформ, pyOpenRPA обладает функциями, которые не зависят от текущей раскладки клавиатуры. За счет этого надежность и стабильность программного робота существенно возрастает.</p>
<p>ВНИМАНИЕ! ПРИ ВЫЗОВЕ ФУНКЦИЙ ОБРАЩАЙТЕ ВНИМАНИЕ НА РЕГИСТР.</p>
</div>
<div class="section" id="id2">
<h2>Примеры использования<a class="headerlink" href="#id2" title="Ссылка на этот заголовок"></a></h2>
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="c1"># Keyboard: Взаимодействие с клавиатурой</span>
<span class="kn">from</span> <span class="nn">pyOpenRPA.Robot</span> <span class="kn">import</span> <span class="n">Keyboard</span>
<span class="n">Keyboard</span><span class="o">.</span><span class="n">HotkeyCombination</span><span class="p">(</span><span class="n">Keyboard</span><span class="o">.</span><span class="n">KEY_HOT_WIN_LEFT</span><span class="p">,</span><span class="n">Keyboard</span><span class="o">.</span><span class="n">KEY_ENG_R</span><span class="p">)</span>
<span class="n">Keyboard</span><span class="o">.</span><span class="n">Write</span><span class="p">(</span><span class="s2">&quot;cmd&quot;</span><span class="p">)</span>
<span class="n">Keyboard</span><span class="o">.</span><span class="n">Send</span><span class="p">(</span><span class="n">Keyboard</span><span class="o">.</span><span class="n">KEY_HOT_ENTER</span><span class="p">,</span> <span class="n">inWaitAfterSecFloat</span><span class="o">=</span><span class="mf">0.6</span><span class="p">)</span>
<span class="n">Keyboard</span><span class="o">.</span><span class="n">Write</span><span class="p">(</span><span class="s2">&quot;echo %time%&quot;</span><span class="p">)</span>
<span class="n">Keyboard</span><span class="o">.</span><span class="n">Send</span><span class="p">(</span><span class="n">Keyboard</span><span class="o">.</span><span class="n">KEY_HOT_ENTER</span><span class="p">)</span>
<span class="n">Keyboard</span><span class="o">.</span><span class="n">HotkeyCombination</span><span class="p">(</span><span class="n">Keyboard</span><span class="o">.</span><span class="n">KEY_HOT_CTRL_LEFT</span><span class="p">,</span> <span class="n">Keyboard</span><span class="o">.</span><span class="n">KEY_ENG_A</span><span class="p">,</span> <span class="n">inWaitAfterSecFloat</span><span class="o">=</span><span class="mf">0.6</span><span class="p">)</span>
<span class="n">Keyboard</span><span class="o">.</span><span class="n">HotkeyCombination</span><span class="p">(</span><span class="n">Keyboard</span><span class="o">.</span><span class="n">KEY_HOT_CTRL_LEFT</span><span class="p">,</span> <span class="n">Keyboard</span><span class="o">.</span><span class="n">KEY_ENG_C</span><span class="p">,</span> <span class="n">inWaitAfterSecFloat</span><span class="o">=</span><span class="mf">0.6</span><span class="p">)</span>
</pre></div>
</div>
<span class="target" id="module-pyOpenRPA.Robot.UIDesktop"></span><p><strong>Functions:</strong></p>
<p>Коды клавиш см. ниже</p>
</div>
<div class="section" id="module-pyOpenRPA.Robot.Keyboard">
<span id="id3"></span><h2>Описание функций<a class="headerlink" href="#module-pyOpenRPA.Robot.Keyboard" title="Ссылка на этот заголовок"></a></h2>
<p><strong>Functions:</strong></p>
<table class="longtable docutils align-default">
<colgroup>
<col style="width: 10%" />
<col style="width: 90%" />
</colgroup>
<tbody>
<tr class="row-odd"><td><p><a class="reference internal" href="07_image.html#pyOpenRPA.Robot.UIDesktop.Get_OSBitnessInt" title="pyOpenRPA.Robot.UIDesktop.Get_OSBitnessInt"><code class="xref py py-obj docutils literal notranslate"><span class="pre">Get_OSBitnessInt</span></code></a>()</p></td>
<td><p>Detect OS bitness.</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="07_image.html#pyOpenRPA.Robot.UIDesktop.PWASpecification_Get_PWAApplication" title="pyOpenRPA.Robot.UIDesktop.PWASpecification_Get_PWAApplication"><code class="xref py py-obj docutils literal notranslate"><span class="pre">PWASpecification_Get_PWAApplication</span></code></a>(…)</p></td>
<td><p>#Backend selection - attribute «backend» («win32» || «uia») in 1-st list element</p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="07_image.html#pyOpenRPA.Robot.UIDesktop.PWASpecification_Get_UIO" title="pyOpenRPA.Robot.UIDesktop.PWASpecification_Get_UIO"><code class="xref py py-obj docutils literal notranslate"><span class="pre">PWASpecification_Get_UIO</span></code></a>(…)</p></td>
<td><p>#Backend def selection - attribute «backend» («win32» || «uia») in 1-st list element #old name - GetControl</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="07_image.html#pyOpenRPA.Robot.UIDesktop.UIOSelectorSecs_WaitAppear_Bool" title="pyOpenRPA.Robot.UIDesktop.UIOSelectorSecs_WaitAppear_Bool"><code class="xref py py-obj docutils literal notranslate"><span class="pre">UIOSelectorSecs_WaitAppear_Bool</span></code></a>(…)</p></td>
<td><p>Wait for UI object will appear in GUI for inWaitSecs seconds.</p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="07_image.html#pyOpenRPA.Robot.UIDesktop.UIOSelectorSecs_WaitDisappear_Bool" title="pyOpenRPA.Robot.UIDesktop.UIOSelectorSecs_WaitDisappear_Bool"><code class="xref py py-obj docutils literal notranslate"><span class="pre">UIOSelectorSecs_WaitDisappear_Bool</span></code></a>(…)</p></td>
<td><p>Wait for UI object will disappear in GUI for inWaitSecs seconds.</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="07_image.html#pyOpenRPA.Robot.UIDesktop.UIOSelectorUIOActivity_Run_Dict" title="pyOpenRPA.Robot.UIDesktop.UIOSelectorUIOActivity_Run_Dict"><code class="xref py py-obj docutils literal notranslate"><span class="pre">UIOSelectorUIOActivity_Run_Dict</span></code></a>(…[, …])</p></td>
<td><p>Run the activity in UIO (UI Object)</p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="07_image.html#pyOpenRPA.Robot.UIDesktop.UIOSelector_Exist_Bool" title="pyOpenRPA.Robot.UIDesktop.UIOSelector_Exist_Bool"><code class="xref py py-obj docutils literal notranslate"><span class="pre">UIOSelector_Exist_Bool</span></code></a>(inUIOSelector)</p></td>
<td><p>Check if object is exist by the UIO selector.</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="07_image.html#pyOpenRPA.Robot.UIDesktop.UIOSelector_FocusHighlight" title="pyOpenRPA.Robot.UIDesktop.UIOSelector_FocusHighlight"><code class="xref py py-obj docutils literal notranslate"><span class="pre">UIOSelector_FocusHighlight</span></code></a>(inUIOSelector)</p></td>
<td><p>Set focus and highlight (draw outline) the element (in app) by the UIO selector.</p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="07_image.html#pyOpenRPA.Robot.UIDesktop.UIOSelector_GetChildList_UIOList" title="pyOpenRPA.Robot.UIDesktop.UIOSelector_GetChildList_UIOList"><code class="xref py py-obj docutils literal notranslate"><span class="pre">UIOSelector_GetChildList_UIOList</span></code></a>([…])</p></td>
<td><p>Get list of child UIOs by the parent UIOSelector</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="07_image.html#pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_BitnessInt" title="pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_BitnessInt"><code class="xref py py-obj docutils literal notranslate"><span class="pre">UIOSelector_Get_BitnessInt</span></code></a>(inSpecificationList)</p></td>
<td><p>Detect process bitness by the UI Object UIO Selector.</p></td>
<tr class="row-odd"><td><p><a class="reference internal" href="#pyOpenRPA.Robot.Keyboard.Down" title="pyOpenRPA.Robot.Keyboard.Down"><code class="xref py py-obj docutils literal notranslate"><span class="pre">Down</span></code></a>(inKeyInt[, inWaitAfterSecFloat])</p></td>
<td><p>Нажать (опустить) клавишу.</p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="07_image.html#pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_BitnessStr" title="pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_BitnessStr"><code class="xref py py-obj docutils literal notranslate"><span class="pre">UIOSelector_Get_BitnessStr</span></code></a>(inSpecificationList)</p></td>
<td><p>Detect process bitness by the UI Object UIO Selector.</p></td>
<tr class="row-even"><td><p><a class="reference internal" href="#pyOpenRPA.Robot.Keyboard.HotkeyCombination" title="pyOpenRPA.Robot.Keyboard.HotkeyCombination"><code class="xref py py-obj docutils literal notranslate"><span class="pre">HotkeyCombination</span></code></a>(*inKeyList[, …])</p></td>
<td><p>Получает перечень клавиш для одновременного нажатия.</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="07_image.html#pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_UIO" title="pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_UIO"><code class="xref py py-obj docutils literal notranslate"><span class="pre">UIOSelector_Get_UIO</span></code></a>(inSpecificationList[, …])</p></td>
<td><p>Get the pywinauto object by the UIO selector.</p></td>
<tr class="row-odd"><td><p><a class="reference internal" href="#pyOpenRPA.Robot.Keyboard.HotkeyCtrlA_CtrlC" title="pyOpenRPA.Robot.Keyboard.HotkeyCtrlA_CtrlC"><code class="xref py py-obj docutils literal notranslate"><span class="pre">HotkeyCtrlA_CtrlC</span></code></a>([inWaitAfterSecFloat])</p></td>
<td><p>Выполнить выделение текста, после чего скопировать его в буфер обмена ВНИМАНИЕ! НЕ ЗАВИСИТ ОТ ТЕКУЩЕЙ РАСКЛАДКИ КЛАВИАТУРЫ</p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="07_image.html#pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_UIOActivityList" title="pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_UIOActivityList"><code class="xref py py-obj docutils literal notranslate"><span class="pre">UIOSelector_Get_UIOActivityList</span></code></a>(inUIOSelector)</p></td>
<td><p>Get the list of the UI object activities</p></td>
<tr class="row-even"><td><p><a class="reference internal" href="#pyOpenRPA.Robot.Keyboard.IsDown" title="pyOpenRPA.Robot.Keyboard.IsDown"><code class="xref py py-obj docutils literal notranslate"><span class="pre">IsDown</span></code></a>(inKeyInt)</p></td>
<td><p>Проверить, опущена ли клавиша.</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="07_image.html#pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_UIOInfo" title="pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_UIOInfo"><code class="xref py py-obj docutils literal notranslate"><span class="pre">UIOSelector_Get_UIOInfo</span></code></a>(inUIOSelector)</p></td>
<td><p>Get the UIO dict of the attributes</p></td>
<tr class="row-odd"><td><p><a class="reference internal" href="#pyOpenRPA.Robot.Keyboard.Send" title="pyOpenRPA.Robot.Keyboard.Send"><code class="xref py py-obj docutils literal notranslate"><span class="pre">Send</span></code></a>(inKeyInt[, inDoPressBool, …])</p></td>
<td><p>Имитация нажатия/отпускания любой физической клавиши.</p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="07_image.html#pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_UIOList" title="pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_UIOList"><code class="xref py py-obj docutils literal notranslate"><span class="pre">UIOSelector_Get_UIOList</span></code></a>(inSpecificationList)</p></td>
<td><p>Get the UIO list by the selector</p></td>
<tr class="row-even"><td><p><a class="reference internal" href="#pyOpenRPA.Robot.Keyboard.Up" title="pyOpenRPA.Robot.Keyboard.Up"><code class="xref py py-obj docutils literal notranslate"><span class="pre">Up</span></code></a>(inKeyInt[, inWaitAfterSecFloat])</p></td>
<td><p>Отпустить (поднять) клавишу.</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="07_image.html#pyOpenRPA.Robot.UIDesktop.UIOSelector_Highlight" title="pyOpenRPA.Robot.UIDesktop.UIOSelector_Highlight"><code class="xref py py-obj docutils literal notranslate"><span class="pre">UIOSelector_Highlight</span></code></a>(inUIOSelector)</p></td>
<td><p>Highlight (draw outline) the element (in app) by the UIO selector.</p></td>
<tr class="row-odd"><td><p><a class="reference internal" href="#pyOpenRPA.Robot.Keyboard.Wait" title="pyOpenRPA.Robot.Keyboard.Wait"><code class="xref py py-obj docutils literal notranslate"><span class="pre">Wait</span></code></a>(inKeyInt[, inWaitAfterSecFloat])</p></td>
<td><p>Блокирует осуществление программы, пока данная обозначенная клавиша не будет нажата.</p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="07_image.html#pyOpenRPA.Robot.UIDesktop.UIOSelector_SafeOtherGet_Process" title="pyOpenRPA.Robot.UIDesktop.UIOSelector_SafeOtherGet_Process"><code class="xref py py-obj docutils literal notranslate"><span class="pre">UIOSelector_SafeOtherGet_Process</span></code></a>(inUIOSelector)</p></td>
<td><p>Safe get other process or None if destination app is the other/same bitness</p></td>
<tr class="row-even"><td><p><a class="reference internal" href="#pyOpenRPA.Robot.Keyboard.Write" title="pyOpenRPA.Robot.Keyboard.Write"><code class="xref py py-obj docutils literal notranslate"><span class="pre">Write</span></code></a>(inTextStr[, inDelayFloat, …])</p></td>
<td><p>Печатает текст, который был передан в переменной inTextStr (поддерживает передачу в одной строке символов разного языка).</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="07_image.html#pyOpenRPA.Robot.UIDesktop.UIOSelector_SearchChildByMouse_UIO" title="pyOpenRPA.Robot.UIDesktop.UIOSelector_SearchChildByMouse_UIO"><code class="xref py py-obj docutils literal notranslate"><span class="pre">UIOSelector_SearchChildByMouse_UIO</span></code></a>(…)</p></td>
<td><p>UIOSelector (see description on the top of the document) #old name - AutomationSearchMouseElement</p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="07_image.html#pyOpenRPA.Robot.UIDesktop.UIOSelector_SearchChildByMouse_UIOTree" title="pyOpenRPA.Robot.UIDesktop.UIOSelector_SearchChildByMouse_UIOTree"><code class="xref py py-obj docutils literal notranslate"><span class="pre">UIOSelector_SearchChildByMouse_UIOTree</span></code></a>(…)</p></td>
<td><p>!!!!Safe call is included (you can set activity and UIDesktop will choose the bitness and return the result)!!!!!</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="07_image.html#pyOpenRPA.Robot.UIDesktop.UIOSelector_TryRestore_Dict" title="pyOpenRPA.Robot.UIDesktop.UIOSelector_TryRestore_Dict"><code class="xref py py-obj docutils literal notranslate"><span class="pre">UIOSelector_TryRestore_Dict</span></code></a>(inSpecificationList)</p></td>
<td><p>Try to restore (maximize) window, if its minimized.</p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="07_image.html#pyOpenRPA.Robot.UIDesktop.UIOSelectorsSecs_WaitAppear_List" title="pyOpenRPA.Robot.UIDesktop.UIOSelectorsSecs_WaitAppear_List"><code class="xref py py-obj docutils literal notranslate"><span class="pre">UIOSelectorsSecs_WaitAppear_List</span></code></a>(…[, …])</p></td>
<td><p>Wait for many UI object will appear in GUI for inWaitSecs seconds.</p></td>
</tbody>
</table>
<p><strong>Data:</strong></p>
<table class="longtable docutils align-default">
<colgroup>
<col style="width: 10%" />
<col style="width: 90%" />
</colgroup>
<tbody>
<tr class="row-odd"><td><p><a class="reference internal" href="#pyOpenRPA.Robot.Keyboard.KEY_HOT_COLON" title="pyOpenRPA.Robot.Keyboard.KEY_HOT_COLON"><code class="xref py py-obj docutils literal notranslate"><span class="pre">KEY_HOT_COLON</span></code></a></p></td>
<td><p></p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="07_image.html#pyOpenRPA.Robot.UIDesktop.UIOSelectorsSecs_WaitDisappear_List" title="pyOpenRPA.Robot.UIDesktop.UIOSelectorsSecs_WaitDisappear_List"><code class="xref py py-obj docutils literal notranslate"><span class="pre">UIOSelectorsSecs_WaitDisappear_List</span></code></a>(…[, …])</p></td>
<td><p>Wait for many UI object will disappear in GUI for inWaitSecs seconds.</p></td>
<tr class="row-even"><td><p><a class="reference internal" href="#pyOpenRPA.Robot.Keyboard.KEY_RUS_" title="pyOpenRPA.Robot.Keyboard.KEY_RUS_Ж"><code class="xref py py-obj docutils literal notranslate"><span class="pre">KEY_RUS_Ж</span></code></a></p></td>
<td><p></p></td>
</tr>
</tbody>
</table>
<dl class="py function">
<dt id="pyOpenRPA.Robot.UIDesktop.Get_OSBitnessInt">
<code class="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><code class="sig-name descname">Get_OSBitnessInt</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Robot/UIDesktop.html#Get_OSBitnessInt"><span class="viewcode-link">[исходный код]</span></a><a class="headerlink" href="#pyOpenRPA.Robot.UIDesktop.Get_OSBitnessInt" title="Ссылка на это определение"></a></dt>
<dd><p>Detect OS bitness.</p>
<dl class="field-list simple">
<dt class="field-odd">Результат</dt>
<dd class="field-odd"><p>int 32 or int 64</p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt id="pyOpenRPA.Robot.UIDesktop.PWASpecification_Get_PWAApplication">
<code class="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><code class="sig-name descname">PWASpecification_Get_PWAApplication</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inControlSpecificationArray</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Robot/UIDesktop.html#PWASpecification_Get_PWAApplication"><span class="viewcode-link">[исходный код]</span></a><a class="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>
<dl class="field-list simple">
<dt class="field-odd">Параметры</dt>
<dd class="field-odd"><p><strong>inControlSpecificationArray</strong> List of dict, dict in pywinauto.find_windows notation</p>
</dd>
<dt class="field-even">Результат</dt>
<dd class="field-even"><p>process application object</p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt id="pyOpenRPA.Robot.UIDesktop.PWASpecification_Get_UIO">
<code class="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><code class="sig-name descname">PWASpecification_Get_UIO</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inControlSpecificationArray</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Robot/UIDesktop.html#PWASpecification_Get_UIO"><span class="viewcode-link">[исходный код]</span></a><a class="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>
<dl class="field-list simple">
<dt class="field-odd">Параметры</dt>
<dd class="field-odd"><p><strong>inControlSpecificationArray</strong> List of dict, dict in pywinauto.find_windows notation</p>
</dd>
<dt class="field-even">Результат</dt>
<dd class="field-even"><p>list of UIO object</p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt id="pyOpenRPA.Robot.UIDesktop.UIOSelectorSecs_WaitAppear_Bool">
<code class="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><code class="sig-name descname">UIOSelectorSecs_WaitAppear_Bool</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inSpecificationList</span></em>, <em class="sig-param"><span class="n">inWaitSecs</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelectorSecs_WaitAppear_Bool"><span class="viewcode-link">[исходный код]</span></a><a class="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>
<dl class="field-list simple">
<dt class="field-odd">Параметры</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>inSpecificationList</strong> UIOSelector. Example: [{«title»:»notepad»},{«title»:»OK»}]</p></li>
<li><p><strong>inWaitSecs</strong> Float value (seconds) for wait UI element appear in GUI</p></li>
</ul>
</dd>
<dt class="field-even">Результат</dt>
<dd class="field-even"><p>True - UI object will appear. False - else case</p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt id="pyOpenRPA.Robot.UIDesktop.UIOSelectorSecs_WaitDisappear_Bool">
<code class="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><code class="sig-name descname">UIOSelectorSecs_WaitDisappear_Bool</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inSpecificationList</span></em>, <em class="sig-param"><span class="n">inWaitSecs</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelectorSecs_WaitDisappear_Bool"><span class="viewcode-link">[исходный код]</span></a><a class="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>
<dt id="pyOpenRPA.Robot.Keyboard.Down">
<code class="sig-prename descclassname">pyOpenRPA.Robot.Keyboard.</code><code class="sig-name descname">Down</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inKeyInt</span><span class="p">:</span> <span class="n">int</span></em>, <em class="sig-param"><span class="n">inWaitAfterSecFloat</span><span class="p">:</span> <span class="n">float</span> <span class="o">=</span> <span class="default_value">0.4</span></em><span class="sig-paren">)</span> &#x2192; None<a class="reference internal" href="../_modules/pyOpenRPA/Robot/Keyboard.html#Down"><span class="viewcode-link">[исходный код]</span></a><a class="headerlink" href="#pyOpenRPA.Robot.Keyboard.Down" title="Ссылка на это определение"></a></dt>
<dd><p>Нажать (опустить) клавишу. Если клавиша уже была опущена, то ничего не произойдет.</p>
<p>ВНИМАНИЕ! ПРИ ПОПЫТКЕ ПЕЧАТИ ТЕКСТА БУДЕТ УЧИТЫВАТЬ ТЕКУЩУЮ РАСКЛАДКУ КЛАВИАТУРЫ. ДЛЯ ПЕЧАТИ ТЕКСТА ИСПОЛЬЗУЙ Write!</p>
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="c1"># Keyboard: Взаимодействие с клавиатурой</span>
<span class="kn">from</span> <span class="nn">pyOpenRPA.Robot</span> <span class="kn">import</span> <span class="n">Keyboard</span>
<span class="n">Keyboard</span><span class="o">.</span><span class="n">Down</span><span class="p">(</span><span class="n">Keyboard</span><span class="o">.</span><span class="n">KEY_ENG_A</span><span class="p">)</span> <span class="c1"># Отпустить клавишу A.</span>
</pre></div>
</div>
<dl class="field-list simple">
<dt class="field-odd">Параметры</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>inSpecificationList</strong> UIOSelector.
Example: [{«title»:»notepad»},{«title»:»OK»}]</p></li>
<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>
<dt class="field-even">Результат</dt>
<dd class="field-even"><p>True - UI object will disappear. False - else case</p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt id="pyOpenRPA.Robot.UIDesktop.UIOSelectorUIOActivity_Run_Dict">
<code class="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><code class="sig-name descname">UIOSelectorUIOActivity_Run_Dict</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inUIOSelector</span></em>, <em class="sig-param"><span class="n">inActionName</span></em>, <em class="sig-param"><span class="n">inArgumentList</span><span class="o">=</span><span class="default_value">None</span></em>, <em class="sig-param"><span class="n">inkwArgumentObject</span><span class="o">=</span><span class="default_value">None</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelectorUIOActivity_Run_Dict"><span class="viewcode-link">[исходный код]</span></a><a class="headerlink" href="#pyOpenRPA.Robot.UIDesktop.UIOSelectorUIOActivity_Run_Dict" title="Ссылка на это определение"></a></dt>
<dd><p>Run the activity in UIO (UI Object)</p>
<dt id="pyOpenRPA.Robot.Keyboard.HotkeyCombination">
<code class="sig-prename descclassname">pyOpenRPA.Robot.Keyboard.</code><code class="sig-name descname">HotkeyCombination</code><span class="sig-paren">(</span><em class="sig-param"><span class="o">*</span><span class="n">inKeyList</span></em>, <em class="sig-param"><span class="n">inDelaySecFloat</span><span class="o">=</span><span class="default_value">0.3</span></em>, <em class="sig-param"><span class="n">inWaitAfterSecFloat</span><span class="p">:</span> <span class="n">float</span> <span class="o">=</span> <span class="default_value">0.4</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Robot/Keyboard.html#HotkeyCombination"><span class="viewcode-link">[исходный код]</span></a><a class="headerlink" href="#pyOpenRPA.Robot.Keyboard.HotkeyCombination" title="Ссылка на это определение"></a></dt>
<dd><p>Получает перечень клавиш для одновременного нажатия. Между нажатиями программа ожидания время inDelaySecFloat
ВНИМАНИЕ! НЕ ЗАВИСИТ ОТ ТЕКУЩЕЙ РАСКЛАДКИ КЛАВИАТУРЫ</p>
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="c1"># Keyboard: Взаимодействие с клавиатурой</span>
<span class="kn">from</span> <span class="nn">pyOpenRPA.Robot</span> <span class="kn">import</span> <span class="n">Keyboard</span>
<span class="n">Keyboard</span><span class="o">.</span><span class="n">HotkeyCombination</span><span class="p">(</span><span class="n">Keyboard</span><span class="o">.</span><span class="n">KEY_HOT_CTRL_LEFT</span><span class="p">,</span><span class="n">Keyboard</span><span class="o">.</span><span class="n">KEY_ENG_A</span><span class="p">)</span> <span class="c1"># Ctrl + a</span>
<span class="n">Keyboard</span><span class="o">.</span><span class="n">HotkeyCombination</span><span class="p">(</span><span class="n">Keyboard</span><span class="o">.</span><span class="n">KEY_HOT_CTRL_LEFT</span><span class="p">,</span><span class="n">Keyboard</span><span class="o">.</span><span class="n">KEY_ENG_C</span><span class="p">)</span> <span class="c1"># Ctrl + c</span>
<span class="n">Keyboard</span><span class="o">.</span><span class="n">HotkeyCombination</span><span class="p">(</span><span class="n">Keyboard</span><span class="o">.</span><span class="n">KEY_HOT_CTRL_LEFT</span><span class="p">,</span><span class="n">Keyboard</span><span class="o">.</span><span class="n">KEY_ENG_A</span><span class="p">)</span>
<span class="n">Keyboard</span><span class="o">.</span><span class="n">HotkeyCombination</span><span class="p">(</span><span class="n">Keyboard</span><span class="o">.</span><span class="n">KEY_HOT_ALT_LEFT</span><span class="p">,</span><span class="n">Keyboard</span><span class="o">.</span><span class="n">KEY_HOT_TAB</span><span class="p">,</span> <span class="n">Keyboard</span><span class="o">.</span><span class="n">KEY_HOT_TAB</span><span class="p">)</span>
</pre></div>
</div>
<dl class="field-list simple">
<dt class="field-odd">Параметры</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>inUIOSelector</strong> UIOSelector - List of items, which contains condition attributes</p></li>
<li><p><strong>inActionName</strong> UIOActivity (name) activity name string from Pywinauto</p></li>
<li><p><strong>inArgumentList</strong> </p></li>
<li><p><strong>inkwArgumentObject</strong> </p></li>
<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>
</ul>
</dd>
<dt class="field-even">Результат</dt>
<dd class="field-even"><p></p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt id="pyOpenRPA.Robot.UIDesktop.UIOSelector_Exist_Bool">
<code class="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><code class="sig-name descname">UIOSelector_Exist_Bool</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inUIOSelector</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_Exist_Bool"><span class="viewcode-link">[исходный код]</span></a><a class="headerlink" href="#pyOpenRPA.Robot.UIDesktop.UIOSelector_Exist_Bool" title="Ссылка на это определение"></a></dt>
<dd><p>Check if object is exist by the UIO selector.</p>
<dt id="pyOpenRPA.Robot.Keyboard.HotkeyCtrlA_CtrlC">
<code class="sig-prename descclassname">pyOpenRPA.Robot.Keyboard.</code><code class="sig-name descname">HotkeyCtrlA_CtrlC</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inWaitAfterSecFloat</span><span class="p">:</span> <span class="n">float</span> <span class="o">=</span> <span class="default_value">0.4</span></em><span class="sig-paren">)</span> &#x2192; None<a class="reference internal" href="../_modules/pyOpenRPA/Robot/Keyboard.html#HotkeyCtrlA_CtrlC"><span class="viewcode-link">[исходный код]</span></a><a class="headerlink" href="#pyOpenRPA.Robot.Keyboard.HotkeyCtrlA_CtrlC" title="Ссылка на это определение"></a></dt>
<dd><p>Выполнить выделение текста, после чего скопировать его в буфер обмена
ВНИМАНИЕ! НЕ ЗАВИСИТ ОТ ТЕКУЩЕЙ РАСКЛАДКИ КЛАВИАТУРЫ</p>
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="c1"># Keyboard: Взаимодействие с клавиатурой</span>
<span class="kn">from</span> <span class="nn">pyOpenRPA.Robot</span> <span class="kn">import</span> <span class="n">Keyboard</span>
<span class="n">Keyboard</span><span class="o">.</span><span class="n">HotkeyCtrlA_CtrlC</span><span class="p">()</span> <span class="c1"># Отправить команды: выделить все, скопировать в буфер обмена</span>
</pre></div>
</div>
<dl class="field-list simple">
<dt class="field-odd">Параметры</dt>
<dd class="field-odd"><p><strong>inUIOSelector</strong> </p>
</dd>
<dt class="field-even">Результат</dt>
<dd class="field-even"><p>True - Object is exist. False - else case</p>
<dd class="field-odd"><p><strong>inWaitAfterSecFloat</strong> (<em>float</em><em>, </em><em>опциональный</em>) Количество секунд, которые ожидать после выполнения операции. По умолчанию установлено в настройках модуля Keyboard (базовое значение 0.4)</p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt id="pyOpenRPA.Robot.UIDesktop.UIOSelector_FocusHighlight">
<code class="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><code class="sig-name descname">UIOSelector_FocusHighlight</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inUIOSelector</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_FocusHighlight"><span class="viewcode-link">[исходный код]</span></a><a class="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>
<dt id="pyOpenRPA.Robot.Keyboard.IsDown">
<code class="sig-prename descclassname">pyOpenRPA.Robot.Keyboard.</code><code class="sig-name descname">IsDown</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inKeyInt</span><span class="p">:</span> <span class="n">int</span></em><span class="sig-paren">)</span> &#x2192; bool<a class="reference internal" href="../_modules/pyOpenRPA/Robot/Keyboard.html#IsDown"><span class="viewcode-link">[исходный код]</span></a><a class="headerlink" href="#pyOpenRPA.Robot.Keyboard.IsDown" title="Ссылка на это определение"></a></dt>
<dd><p>Проверить, опущена ли клавиша. Вернет True если опущена; False если поднята.</p>
<p>ВНИМАНИЕ! ПРИ ПОПЫТКЕ ПЕЧАТИ ТЕКСТА БУДЕТ УЧИТЫВАТЬ ТЕКУЩУЮ РАСКЛАДКУ КЛАВИАТУРЫ. ДЛЯ ПЕЧАТИ ТЕКСТА ИСПОЛЬЗУЙ Write!</p>
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="c1"># Keyboard: Взаимодействие с клавиатурой</span>
<span class="kn">from</span> <span class="nn">pyOpenRPA.Robot</span> <span class="kn">import</span> <span class="n">Keyboard</span>
<span class="n">lKeyAIsPressedBool</span> <span class="o">=</span> <span class="n">Keyboard</span><span class="o">.</span><span class="n">IsDown</span><span class="p">(</span><span class="n">Keyboard</span><span class="o">.</span><span class="n">KEY_ENG_A</span><span class="p">)</span> <span class="c1"># Проверить, опущена ли клавиша A.</span>
</pre></div>
</div>
<dl class="field-list simple">
<dt class="field-odd">Параметры</dt>
<dd class="field-odd"><p><strong>inUIOSelector</strong> UIOSelector - List of items, which contains condition attributes</p>
</dd>
<dt class="field-even">Результат</dt>
<dd class="field-even"><p></p>
<dd class="field-odd"><p><strong>inKeyInt</strong> (<em>int</em>) Перечень клавиш см. в разделе «Коды клавиш». Пример: KEY_HOT_CTRL_LEFT, KEY_ENG_A</p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt id="pyOpenRPA.Robot.UIDesktop.UIOSelector_GetChildList_UIOList">
<code class="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><code class="sig-name descname">UIOSelector_GetChildList_UIOList</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inUIOSelector</span><span class="o">=</span><span class="default_value">None</span></em>, <em class="sig-param"><span class="n">inBackend</span><span class="o">=</span><span class="default_value">'win32'</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_GetChildList_UIOList"><span class="viewcode-link">[исходный код]</span></a><a class="headerlink" href="#pyOpenRPA.Robot.UIDesktop.UIOSelector_GetChildList_UIOList" title="Ссылка на это определение"></a></dt>
<dd><p>Get list of child UIOs by the parent UIOSelector</p>
<dl class="field-list simple">
<dt class="field-odd">Параметры</dt>
<dd class="field-odd"><ul class="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>
<dt class="field-even">Результат</dt>
<dd class="field-even"><p></p>
</dd>
</dl>
</dd></dl>
<dl class="py data">
<dt id="pyOpenRPA.Robot.Keyboard.KEY_HOT_COLON">
<code class="sig-prename descclassname">pyOpenRPA.Robot.Keyboard.</code><code class="sig-name descname">KEY_HOT_COLON</code><em class="property"> = 39</em><a class="headerlink" href="#pyOpenRPA.Robot.Keyboard.KEY_HOT_COLON" title="Ссылка на это определение"></a></dt>
<dd></dd></dl>
<dl class="py function">
<dt id="pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_BitnessInt">
<code class="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><code class="sig-name descname">UIOSelector_Get_BitnessInt</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inSpecificationList</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_Get_BitnessInt"><span class="viewcode-link">[исходный код]</span></a><a class="headerlink" href="#pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_BitnessInt" title="Ссылка на это определение"></a></dt>
<dd><p>Detect process bitness by the UI Object UIO Selector.</p>
<dl class="field-list simple">
<dt class="field-odd">Параметры</dt>
<dd class="field-odd"><p><strong>inSpecificationList</strong> UIOSelector. Example: [{«title»:»notepad»},{«title»:»OK»}]</p>
</dd>
<dt class="field-even">Результат</dt>
<dd class="field-even"><p>int 32 or int 64</p>
</dd>
</dl>
</dd></dl>
<dl class="py data">
<dt id="pyOpenRPA.Robot.Keyboard.KEY_RUS_">
<span id="pyOpenRPA.Robot.Keyboard.KEY_RUS_Ж"></span><code class="sig-prename descclassname">pyOpenRPA.Robot.Keyboard.</code><code class="sig-name descname">KEY_RUS_Ж</code><em class="property"> = 39</em><a class="headerlink" href="#pyOpenRPA.Robot.Keyboard.KEY_RUS_" title="Ссылка на это определение"></a></dt>
<dd></dd></dl>
<dl class="py function">
<dt id="pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_BitnessStr">
<code class="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><code class="sig-name descname">UIOSelector_Get_BitnessStr</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inSpecificationList</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_Get_BitnessStr"><span class="viewcode-link">[исходный код]</span></a><a class="headerlink" href="#pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_BitnessStr" title="Ссылка на это определение"></a></dt>
<dd><p>Detect process bitness by the UI Object UIO Selector.</p>
<dl class="field-list simple">
<dt class="field-odd">Параметры</dt>
<dd class="field-odd"><p><strong>inSpecificationList</strong> UIOSelector. Example: [{«title»:»notepad»},{«title»:»OK»}]</p>
</dd>
<dt class="field-even">Результат</dt>
<dd class="field-even"><p>str «32» or str «64»</p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt id="pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_UIO">
<code class="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><code class="sig-name descname">UIOSelector_Get_UIO</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inSpecificationList</span></em>, <em class="sig-param"><span class="n">inElement</span><span class="o">=</span><span class="default_value">None</span></em>, <em class="sig-param"><span class="n">inFlagRaiseException</span><span class="o">=</span><span class="default_value">True</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_Get_UIO"><span class="viewcode-link">[исходный код]</span></a><a class="headerlink" href="#pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_UIO" title="Ссылка на это определение"></a></dt>
<dd><p>Get the pywinauto object by the UIO selector.</p>
<dt id="pyOpenRPA.Robot.Keyboard.Send">
<code class="sig-prename descclassname">pyOpenRPA.Robot.Keyboard.</code><code class="sig-name descname">Send</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inKeyInt</span><span class="p">:</span> <span class="n">int</span></em>, <em class="sig-param"><span class="n">inDoPressBool</span><span class="p">:</span> <span class="n">bool</span> <span class="o">=</span> <span class="default_value">True</span></em>, <em class="sig-param"><span class="n">inDoReleaseBool</span><span class="p">:</span> <span class="n">bool</span> <span class="o">=</span> <span class="default_value">True</span></em>, <em class="sig-param"><span class="n">inWaitAfterSecFloat</span><span class="p">:</span> <span class="n">float</span> <span class="o">=</span> <span class="default_value">0.4</span></em><span class="sig-paren">)</span> &#x2192; None<a class="reference internal" href="../_modules/pyOpenRPA/Robot/Keyboard.html#Send"><span class="viewcode-link">[исходный код]</span></a><a class="headerlink" href="#pyOpenRPA.Robot.Keyboard.Send" title="Ссылка на это определение"></a></dt>
<dd><p>Имитация нажатия/отпускания любой физической клавиши. Посылает событие в операционную систему, которые выполняет нажатие и отпускание данной клавиши</p>
<p>ВНИМАНИЕ! ПРИ ПОПЫТКЕ ПЕЧАТИ ТЕКСТА БУДЕТ УЧИТЫВАТЬ ТЕКУЩУЮ РАСКЛАДКУ КЛАВИАТУРЫ. ДЛЯ ПЕЧАТИ ТЕКСТА ИСПОЛЬЗУЙ Write!</p>
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="c1"># Keyboard: Взаимодействие с клавиатурой</span>
<span class="kn">from</span> <span class="nn">pyOpenRPA.Robot</span> <span class="kn">import</span> <span class="n">Keyboard</span>
<span class="n">Keyboard</span><span class="o">.</span><span class="n">Send</span><span class="p">(</span><span class="n">Keyboard</span><span class="o">.</span><span class="n">KEY_ENG_A</span><span class="p">)</span> <span class="c1"># Нажать клавишу A. Если будет активна русская раскладка, то будет выведена буква ф.</span>
</pre></div>
</div>
<dl class="field-list simple">
<dt class="field-odd">Параметры</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>inSpecificationList</strong> </p></li>
<li><p><strong>inElement</strong> </p></li>
<li><p><strong>inFlagRaiseException</strong> </p></li>
<li><p><strong>inKeyInt</strong> (<em>int</em>) Перечень клавиш см. в разделе «Коды клавиш». Пример: KEY_HOT_CTRL_LEFT,KEY_ENG_A</p></li>
<li><p><strong>inDoPressBool</strong> (<em>bool</em><em>, </em><em>опциональный</em>) Выполнить событие нажатия клавиши, По умолчанию True</p></li>
<li><p><strong>inDoReleaseBool</strong> (<em>bool</em><em>, </em><em>опциональный</em>) Выполнить событие отпускания клавиши, По умолчанию True</p></li>
<li><p><strong>inWaitAfterSecFloat</strong> (<em>float</em><em>, </em><em>опциональный</em>) Количество секунд, которые ожидать после выполнения операции. По умолчанию установлено в настройках модуля Keyboard (базовое значение 0.4)</p></li>
</ul>
</dd>
<dt class="field-even">Результат</dt>
<dd class="field-even"><p></p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt id="pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_UIOActivityList">
<code class="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><code class="sig-name descname">UIOSelector_Get_UIOActivityList</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inUIOSelector</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_Get_UIOActivityList"><span class="viewcode-link">[исходный код]</span></a><a class="headerlink" href="#pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_UIOActivityList" title="Ссылка на это определение"></a></dt>
<dd><p>Get the list of the UI object activities</p>
<dl class="field-list simple">
<dt class="field-odd">Параметры</dt>
<dd class="field-odd"><p><strong>inUIOSelector</strong> UIOSelector - List of items, which contains condition attributes</p>
</dd>
<dt class="field-even">Результат</dt>
<dd class="field-even"><p></p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt id="pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_UIOInfo">
<code class="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><code class="sig-name descname">UIOSelector_Get_UIOInfo</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inUIOSelector</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_Get_UIOInfo"><span class="viewcode-link">[исходный код]</span></a><a class="headerlink" href="#pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_UIOInfo" title="Ссылка на это определение"></a></dt>
<dd><p>Get the UIO dict of the attributes</p>
<dl class="field-list simple">
<dt class="field-odd">Параметры</dt>
<dd class="field-odd"><p><strong>inUIOSelector</strong> UIOSelector - List of items, which contains condition attributes</p>
</dd>
<dt class="field-even">Результат</dt>
<dd class="field-even"><p></p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt id="pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_UIOList">
<code class="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><code class="sig-name descname">UIOSelector_Get_UIOList</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inSpecificationList</span></em>, <em class="sig-param"><span class="n">inElement</span><span class="o">=</span><span class="default_value">None</span></em>, <em class="sig-param"><span class="n">inFlagRaiseException</span><span class="o">=</span><span class="default_value">True</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_Get_UIOList"><span class="viewcode-link">[исходный код]</span></a><a class="headerlink" href="#pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_UIOList" title="Ссылка на это определение"></a></dt>
<dd><p>Get the UIO list by the selector</p>
<dt id="pyOpenRPA.Robot.Keyboard.Up">
<code class="sig-prename descclassname">pyOpenRPA.Robot.Keyboard.</code><code class="sig-name descname">Up</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inKeyInt</span><span class="p">:</span> <span class="n">int</span></em>, <em class="sig-param"><span class="n">inWaitAfterSecFloat</span><span class="p">:</span> <span class="n">float</span> <span class="o">=</span> <span class="default_value">0.4</span></em><span class="sig-paren">)</span> &#x2192; None<a class="reference internal" href="../_modules/pyOpenRPA/Robot/Keyboard.html#Up"><span class="viewcode-link">[исходный код]</span></a><a class="headerlink" href="#pyOpenRPA.Robot.Keyboard.Up" title="Ссылка на это определение"></a></dt>
<dd><p>Отпустить (поднять) клавишу. Если клавиша уже была поднята, то ничего не произойдет.</p>
<p>ВНИМАНИЕ! ПРИ ПОПЫТКЕ ПЕЧАТИ ТЕКСТА БУДЕТ УЧИТЫВАТЬ ТЕКУЩУЮ РАСКЛАДКУ КЛАВИАТУРЫ. ДЛЯ ПЕЧАТИ ТЕКСТА ИСПОЛЬЗУЙ Write!</p>
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="c1"># Keyboard: Взаимодействие с клавиатурой</span>
<span class="kn">from</span> <span class="nn">pyOpenRPA.Robot</span> <span class="kn">import</span> <span class="n">Keyboard</span>
<span class="n">Keyboard</span><span class="o">.</span><span class="n">Up</span><span class="p">(</span><span class="n">Keyboard</span><span class="o">.</span><span class="n">KEY_ENG_A</span><span class="p">)</span> <span class="c1"># Отпустить клавишу A.</span>
</pre></div>
</div>
<dl class="field-list simple">
<dt class="field-odd">Параметры</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>inSpecificationList</strong> UIO Selector</p></li>
<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>
</ul>
</dd>
<dt class="field-even">Результат</dt>
<dd class="field-even"><p></p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt id="pyOpenRPA.Robot.UIDesktop.UIOSelector_Highlight">
<code class="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><code class="sig-name descname">UIOSelector_Highlight</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inUIOSelector</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_Highlight"><span class="viewcode-link">[исходный код]</span></a><a class="headerlink" href="#pyOpenRPA.Robot.UIDesktop.UIOSelector_Highlight" title="Ссылка на это определение"></a></dt>
<dd><p>Highlight (draw outline) the element (in app) by the UIO selector.</p>
<dl class="field-list simple">
<dt class="field-odd">Параметры</dt>
<dd class="field-odd"><p><strong>inUIOSelector</strong> UIOSelector - List of items, which contains condition attributes</p>
</dd>
<dt class="field-even">Результат</dt>
<dd class="field-even"><p></p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt id="pyOpenRPA.Robot.UIDesktop.UIOSelector_SafeOtherGet_Process">
<code class="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><code class="sig-name descname">UIOSelector_SafeOtherGet_Process</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inUIOSelector</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_SafeOtherGet_Process"><span class="viewcode-link">[исходный код]</span></a><a class="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>
<dl class="field-list simple">
<dt class="field-odd">Параметры</dt>
<dd class="field-odd"><p><strong>inUIOSelector</strong> UIO Selector of the UI object</p>
</dd>
<dt class="field-even">Результат</dt>
<dd class="field-even"><p>None or process (of the other bitness)</p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt id="pyOpenRPA.Robot.UIDesktop.UIOSelector_SearchChildByMouse_UIO">
<code class="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><code class="sig-name descname">UIOSelector_SearchChildByMouse_UIO</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inElementSpecification</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_SearchChildByMouse_UIO"><span class="viewcode-link">[исходный код]</span></a><a class="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>
<dl class="field-list simple">
<dt class="field-odd">Параметры</dt>
<dd class="field-odd"><p><strong>inElementSpecification</strong> UIOSelector of the UI Object</p>
</dd>
<dt class="field-even">Результат</dt>
<dd class="field-even"><p>pywinauto element wrapper instance or None</p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt id="pyOpenRPA.Robot.UIDesktop.UIOSelector_SearchChildByMouse_UIOTree">
<code class="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><code class="sig-name descname">UIOSelector_SearchChildByMouse_UIOTree</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inUIOSelector</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_SearchChildByMouse_UIOTree"><span class="viewcode-link">[исходный код]</span></a><a class="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>
<dl class="field-list simple">
<dt class="field-odd">Параметры</dt>
<dd class="field-odd"><p><strong>inUIOSelector</strong> UIOSelector of the UI Object</p>
</dd>
<dt class="field-even">Результат</dt>
<dd class="field-even"><p><p>?</p>
</p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt id="pyOpenRPA.Robot.UIDesktop.UIOSelector_TryRestore_Dict">
<code class="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><code class="sig-name descname">UIOSelector_TryRestore_Dict</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inSpecificationList</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_TryRestore_Dict"><span class="viewcode-link">[исходный код]</span></a><a class="headerlink" href="#pyOpenRPA.Robot.UIDesktop.UIOSelector_TryRestore_Dict" title="Ссылка на это определение"></a></dt>
<dd><p>Try to restore (maximize) window, if its minimized. (!IMPORTANT! When use UIA framework minimized windows doesnt appear by the UIOSelector. You need to try restore windows and after that try to get UIO)</p>
<dl class="field-list simple">
<dt class="field-odd">Параметры</dt>
<dd class="field-odd"><p><strong>inSpecificationList</strong> UIOSelector - List of items, which contains condition attributes</p>
</dd>
<dt class="field-even">Результат</dt>
<dd class="field-even"><p></p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt id="pyOpenRPA.Robot.UIDesktop.UIOSelectorsSecs_WaitAppear_List">
<code class="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><code class="sig-name descname">UIOSelectorsSecs_WaitAppear_List</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inSpecificationListList</span></em>, <em class="sig-param"><span class="n">inWaitSecs</span></em>, <em class="sig-param"><span class="n">inFlagWaitAllInMoment</span><span class="o">=</span><span class="default_value">False</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelectorsSecs_WaitAppear_List"><span class="viewcode-link">[исходный код]</span></a><a class="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>
<dt id="pyOpenRPA.Robot.Keyboard.Wait">
<code class="sig-prename descclassname">pyOpenRPA.Robot.Keyboard.</code><code class="sig-name descname">Wait</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inKeyInt</span><span class="p">:</span> <span class="n">int</span></em>, <em class="sig-param"><span class="n">inWaitAfterSecFloat</span><span class="p">:</span> <span class="n">float</span> <span class="o">=</span> <span class="default_value">0.4</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Robot/Keyboard.html#Wait"><span class="viewcode-link">[исходный код]</span></a><a class="headerlink" href="#pyOpenRPA.Robot.Keyboard.Wait" title="Ссылка на это определение"></a></dt>
<dd><p>Блокирует осуществление программы, пока данная обозначенная клавиша не будет нажата.
ВНИМАНИЕ! НЕ ЗАВИСИТ ОТ ТЕКУЩЕЙ РАСКЛАДКИ КЛАВИАТУРЫ. ОЖИДАЕТ НАЖАТИЕ СООТВЕТСВУЮЩЕЙ ФИЗИЧЕСКОЙ КЛАВИШИ</p>
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="c1"># Keyboard: Взаимодействие с клавиатурой</span>
<span class="kn">from</span> <span class="nn">pyOpenRPA.Robot</span> <span class="kn">import</span> <span class="n">Keyboard</span>
<span class="n">Keyboard</span><span class="o">.</span><span class="n">Wait</span><span class="p">(</span><span class="n">Keyboard</span><span class="o">.</span><span class="n">KEY_ENG_A</span><span class="p">)</span> <span class="c1"># Ждать нажатие клавиши A.</span>
</pre></div>
</div>
<dl class="field-list simple">
<dt class="field-odd">Параметры</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>inSpecificationListList</strong> <p>UIOSelector list.
Example: [</p>
<blockquote>
<div><p>[{«title»:»notepad»},{«title»:»OK»}],
[{«title»:»notepad»},{«title»:»Cancel»}]</p>
</div></blockquote>
<p>]</p>
</p></li>
<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>
<dt class="field-even">Результат</dt>
<dd class="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>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt id="pyOpenRPA.Robot.UIDesktop.UIOSelectorsSecs_WaitDisappear_List">
<code class="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><code class="sig-name descname">UIOSelectorsSecs_WaitDisappear_List</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inSpecificationListList</span></em>, <em class="sig-param"><span class="n">inWaitSecs</span></em>, <em class="sig-param"><span class="n">inFlagWaitAllInMoment</span><span class="o">=</span><span class="default_value">False</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelectorsSecs_WaitDisappear_List"><span class="viewcode-link">[исходный код]</span></a><a class="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>
<dt id="pyOpenRPA.Robot.Keyboard.Write">
<code class="sig-prename descclassname">pyOpenRPA.Robot.Keyboard.</code><code class="sig-name descname">Write</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inTextStr</span><span class="p">:</span> <span class="n">str</span></em>, <em class="sig-param"><span class="n">inDelayFloat</span><span class="p">:</span> <span class="n">float</span> <span class="o">=</span> <span class="default_value">0</span></em>, <em class="sig-param"><span class="n">inRestoreStateAfterBool</span><span class="p">:</span> <span class="n">bool</span> <span class="o">=</span> <span class="default_value">True</span></em>, <em class="sig-param"><span class="n">inExactBool</span><span class="p">:</span> <span class="n">Optional<span class="p">[</span>bool<span class="p">]</span></span> <span class="o">=</span> <span class="default_value">None</span></em>, <em class="sig-param"><span class="n">inWaitAfterSecFloat</span><span class="p">:</span> <span class="n">float</span> <span class="o">=</span> <span class="default_value">0.4</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Robot/Keyboard.html#Write"><span class="viewcode-link">[исходный код]</span></a><a class="headerlink" href="#pyOpenRPA.Robot.Keyboard.Write" title="Ссылка на это определение"></a></dt>
<dd><p>Печатает текст, который был передан в переменной inTextStr (поддерживает передачу в одной строке символов разного языка). Не зависит от текущей раскладки клавиатуры! Посылает искусственные клавишные события в ОС, моделируя печать данного текста. Знаки, не доступные на клавиатуре, напечатаны как явный unicode знаки, использующие определенную для ОС функциональность, такие как alt+codepoint.
Чтобы гарантировать текстовую целостность, все в настоящее время нажатые ключи выпущены прежде текст напечатан, и модификаторы восстановлены впоследствии.</p>
<p>ВНИМАНИЕ! ПЕЧАТАЕТ ЛЮБУЮ СТРОКУ, ДАЖЕ В СОЧЕТАНИИ НЕСКОЛЬКИХ ЯЗЫКОВ ОДНОВРЕМЕННО. ДЛЯ РАБОТЫ С ГОРЯЧИМИ КЛАВИШАМИ ИСПОЛЬЗУЙ ФУНКЦИЮ Send, Up, Down, HotkeyCombination</p>
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="c1"># Keyboard: Взаимодействие с клавиатурой</span>
<span class="kn">from</span> <span class="nn">pyOpenRPA.Robot</span> <span class="kn">import</span> <span class="n">Keyboard</span>
<span class="n">Keyboard</span><span class="o">.</span><span class="n">Write</span><span class="p">(</span><span class="s2">&quot;Привет мой милый мир! Hello my dear world!&quot;</span><span class="p">)</span>
</pre></div>
</div>
<dl class="field-list simple">
<dt class="field-odd">Параметры</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>inSpecificationListList</strong> <p>UIOSelector list.
Example: [</p>
<blockquote>
<div><p>[{«title»:»notepad»},{«title»:»OK»}],
[{«title»:»notepad»},{«title»:»Cancel»}]</p>
</div></blockquote>
<p>]</p>
</p></li>
<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>
<dt class="field-even">Результат</dt>
<dd class="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>
<dt class="field-odd">Результат</dt>
<dd class="field-odd"><p></p>
</dd>
</dl>
</dd></dl>
<div class="section" id="references">
<h2>References<a class="headerlink" href="#references" title="Ссылка на этот заголовок"></a></h2>
<p><a class="reference external" href="http://docutils.sourceforge.net/rst.html">reStructuredText</a> <a class="footnote-reference brackets" href="#id3" id="id4">1</a></p>
<dl class="footnote brackets">
<dt class="label" id="id3"><span class="brackets"><a class="fn-backref" href="#id4">1</a></span></dt>
<dd><p><a class="reference external" href="http://docutils.sourceforge.net/rst.html">http://docutils.sourceforge.net/rst.html</a></p>
</dd>
</dl>
<p> .. v1.2.12 replace:: v1.2.12
.. <a href="#id1"><span class="problematic" id="id2">|author|</span></a> replace:: Ivan Maslov &lt;<a class="reference external" href="mailto:ivan&#46;maslov&#37;&#52;&#48;unicodelabs&#46;ru">ivan<span>&#46;</span>maslov<span>&#64;</span>unicodelabs<span>&#46;</span>ru</a>&gt;</p>
</div>
<div class="section" id="id4">
<h2>Коды клавиш<a class="headerlink" href="#id4" title="Ссылка на этот заголовок"></a></h2>
<p>Ниже представлены коды горячих клавиш, а также символов русской и английской раскладки.</p>
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="c1"># ШЕСТНАДЦАТИРИЧНЫЙ СКАН-КОД В РУССКОЙ РАСКЛАДКЕ (НЕЗАВИСИМО ОТ ВЫБРАННОГО ЯЗЫКА НА КЛАВИАТУРЕ)</span>
<span class="c1"># ОТОБРАЖЕНИЕ СКАН КОДОВ НА КЛАВИАТУРЕ https://snipp.ru/handbk/scan-codes</span>
<span class="n">KEY_RUS_Ф</span> <span class="o">=</span> <span class="mh">0x1E</span> <span class="c1">#A</span>
<span class="n">KEY_RUS_И</span> <span class="o">=</span> <span class="mh">0x30</span> <span class="c1">#B</span>
<span class="n">KEY_RUS_С</span> <span class="o">=</span> <span class="mh">0x2E</span> <span class="c1">#C</span>
<span class="n">KEY_RUS_В</span> <span class="o">=</span> <span class="mh">0x20</span> <span class="c1">#D</span>
<span class="n">KEY_RUS_У</span> <span class="o">=</span> <span class="mh">0x12</span> <span class="c1">#E</span>
<span class="n">KEY_RUS_А</span> <span class="o">=</span> <span class="mh">0x21</span> <span class="c1">#F</span>
<span class="n">KEY_RUS_П</span> <span class="o">=</span> <span class="mh">0x22</span> <span class="c1">#G</span>
<span class="n">KEY_RUS_Р</span> <span class="o">=</span> <span class="mh">0x23</span> <span class="c1">#H</span>
<span class="n">KEY_RUS_Ш</span> <span class="o">=</span> <span class="mh">0x17</span> <span class="c1">#I</span>
<span class="n">KEY_RUS_О</span> <span class="o">=</span> <span class="mh">0x24</span> <span class="c1">#J</span>
<span class="n">KEY_RUS_Л</span> <span class="o">=</span> <span class="mh">0x25</span> <span class="c1">#K</span>
<span class="n">KEY_RUS_Д</span> <span class="o">=</span> <span class="mh">0x26</span> <span class="c1">#L</span>
<span class="n">KEY_RUS_Ь</span> <span class="o">=</span> <span class="mh">0x32</span> <span class="c1">#M</span>
<span class="n">KEY_RUS_Т</span> <span class="o">=</span> <span class="mh">0x31</span> <span class="c1">#N</span>
<span class="n">KEY_RUS_Щ</span> <span class="o">=</span> <span class="mh">0x18</span> <span class="c1">#O</span>
<span class="n">KEY_RUS_З</span> <span class="o">=</span> <span class="mh">0x19</span> <span class="c1">#P</span>
<span class="n">KEY_RUS_Й</span> <span class="o">=</span> <span class="mh">0x10</span> <span class="c1">#Q</span>
<span class="n">KEY_RUS_К</span> <span class="o">=</span> <span class="mh">0x13</span> <span class="c1">#R</span>
<span class="n">KEY_RUS_Ы</span> <span class="o">=</span> <span class="mh">0x1F</span> <span class="c1">#S</span>
<span class="n">KEY_RUS_Е</span> <span class="o">=</span> <span class="mh">0x14</span> <span class="c1">#T</span>
<span class="n">KEY_RUS_Г</span> <span class="o">=</span> <span class="mh">0x16</span> <span class="c1">#U</span>
<span class="n">KEY_RUS_М</span> <span class="o">=</span> <span class="mh">0x2F</span> <span class="c1">#V</span>
<span class="n">KEY_RUS_Ц</span> <span class="o">=</span> <span class="mh">0x11</span> <span class="c1">#W</span>
<span class="n">KEY_RUS_Ч</span> <span class="o">=</span> <span class="mh">0x2D</span> <span class="c1">#X</span>
<span class="n">KEY_RUS_Н</span> <span class="o">=</span> <span class="mh">0x15</span> <span class="c1">#Y</span>
<span class="n">KEY_RUS_Я</span> <span class="o">=</span> <span class="mh">0x2C</span> <span class="c1">#Z</span>
<span class="n">KEY_RUS_Ё</span> <span class="o">=</span> <span class="mh">0x29</span> <span class="c1">#~</span>
<span class="n">KEY_RUS_Ж</span> <span class="o">=</span> <span class="mh">0x27</span> <span class="c1">#:</span>
<span class="n">KEY_RUS_Б</span> <span class="o">=</span> <span class="mh">0x33</span> <span class="c1">#&lt;</span>
<span class="n">KEY_RUS_Ю</span> <span class="o">=</span> <span class="mh">0x34</span> <span class="c1">#&gt;</span>
<span class="n">KEY_RUS_Х</span> <span class="o">=</span> <span class="mh">0x1A</span> <span class="c1">#[</span>
<span class="n">KEY_RUS_Ъ</span> <span class="o">=</span> <span class="mh">0x1B</span> <span class="c1">#]</span>
<span class="n">KEY_RUS_Э</span> <span class="o">=</span> <span class="mh">0x28</span> <span class="c1">#&#39;</span>
<span class="n">KEY_ENG_A</span> <span class="o">=</span> <span class="mh">0x1E</span> <span class="c1">#A</span>
<span class="n">KEY_ENG_B</span> <span class="o">=</span> <span class="mh">0x30</span> <span class="c1">#B</span>
<span class="n">KEY_ENG_C</span> <span class="o">=</span> <span class="mh">0x2E</span> <span class="c1">#C</span>
<span class="n">KEY_ENG_D</span> <span class="o">=</span> <span class="mh">0x20</span> <span class="c1">#D</span>
<span class="n">KEY_ENG_E</span> <span class="o">=</span> <span class="mh">0x12</span> <span class="c1">#E</span>
<span class="n">KEY_ENG_F</span> <span class="o">=</span> <span class="mh">0x21</span> <span class="c1">#F</span>
<span class="n">KEY_ENG_G</span> <span class="o">=</span> <span class="mh">0x22</span> <span class="c1">#G</span>
<span class="n">KEY_ENG_H</span> <span class="o">=</span> <span class="mh">0x23</span> <span class="c1">#H</span>
<span class="n">KEY_ENG_I</span> <span class="o">=</span> <span class="mh">0x17</span> <span class="c1">#I</span>
<span class="n">KEY_ENG_J</span> <span class="o">=</span> <span class="mh">0x24</span> <span class="c1">#J</span>
<span class="n">KEY_ENG_K</span> <span class="o">=</span> <span class="mh">0x25</span> <span class="c1">#K</span>
<span class="n">KEY_ENG_L</span> <span class="o">=</span> <span class="mh">0x26</span> <span class="c1">#L</span>
<span class="n">KEY_ENG_M</span> <span class="o">=</span> <span class="mh">0x32</span> <span class="c1">#M</span>
<span class="n">KEY_ENG_N</span> <span class="o">=</span> <span class="mh">0x31</span> <span class="c1">#N</span>
<span class="n">KEY_ENG_O</span> <span class="o">=</span> <span class="mh">0x18</span> <span class="c1">#O</span>
<span class="n">KEY_ENG_P</span> <span class="o">=</span> <span class="mh">0x19</span> <span class="c1">#P</span>
<span class="n">KEY_ENG_Q</span> <span class="o">=</span> <span class="mh">0x10</span> <span class="c1">#Q</span>
<span class="n">KEY_ENG_R</span> <span class="o">=</span> <span class="mh">0x13</span> <span class="c1">#R</span>
<span class="n">KEY_ENG_S</span> <span class="o">=</span> <span class="mh">0x1F</span> <span class="c1">#S</span>
<span class="n">KEY_ENG_T</span> <span class="o">=</span> <span class="mh">0x14</span> <span class="c1">#T</span>
<span class="n">KEY_ENG_U</span> <span class="o">=</span> <span class="mh">0x16</span> <span class="c1">#U</span>
<span class="n">KEY_ENG_V</span> <span class="o">=</span> <span class="mh">0x2F</span> <span class="c1">#V</span>
<span class="n">KEY_ENG_W</span> <span class="o">=</span> <span class="mh">0x11</span> <span class="c1">#W</span>
<span class="n">KEY_ENG_X</span> <span class="o">=</span> <span class="mh">0x2D</span> <span class="c1">#X</span>
<span class="n">KEY_ENG_Y</span> <span class="o">=</span> <span class="mh">0x15</span> <span class="c1">#Y</span>
<span class="n">KEY_ENG_Z</span> <span class="o">=</span> <span class="mh">0x2C</span> <span class="c1">#Z</span>
<span class="n">KEY_HOT_NUMPAD_0</span> <span class="o">=</span> <span class="mh">0x52</span>
<span class="n">KEY_HOT_NUMPAD_1</span> <span class="o">=</span> <span class="mh">0x4F</span>
<span class="n">KEY_HOT_NUMPAD_2</span> <span class="o">=</span> <span class="mh">0x50</span>
<span class="n">KEY_HOT_NUMPAD_3</span> <span class="o">=</span> <span class="mh">0x51</span>
<span class="n">KEY_HOT_NUMPAD_4</span> <span class="o">=</span> <span class="mh">0x4B</span>
<span class="n">KEY_HOT_NUMPAD_5</span> <span class="o">=</span> <span class="mh">0x4C</span>
<span class="n">KEY_HOT_NUMPAD_6</span> <span class="o">=</span> <span class="mh">0x4D</span>
<span class="n">KEY_HOT_NUMPAD_7</span> <span class="o">=</span> <span class="mh">0x47</span>
<span class="n">KEY_HOT_NUMPAD_8</span> <span class="o">=</span> <span class="mh">0x48</span>
<span class="n">KEY_HOT_NUMPAD_9</span> <span class="o">=</span> <span class="mh">0x49</span>
<span class="n">KEY_HOT_NUMPAD_ASTERISK</span> <span class="o">=</span> <span class="mh">0x37</span> <span class="c1">#*</span>
<span class="n">KEY_HOT_NUMPAD_PLUS</span> <span class="o">=</span> <span class="mh">0x4E</span>
<span class="n">KEY_HOT_NUMPAD_MINUS</span> <span class="o">=</span> <span class="mh">0x4A</span>
<span class="n">KEY_HOT_NUMPAD_DELETE</span> <span class="o">=</span> <span class="mh">0x53</span>
<span class="n">KEY_HOT_NUMPAD_SOLIDUS</span> <span class="o">=</span> <span class="mh">0x35</span> <span class="c1">#/</span>
<span class="n">KEY_HOT_NUMPAD_ENTER</span> <span class="o">=</span> <span class="mh">0x11c</span>
<span class="n">KEY_HOT_F1</span> <span class="o">=</span> <span class="mh">0x3B</span>
<span class="n">KEY_HOT_F2</span> <span class="o">=</span> <span class="mh">0x3C</span>
<span class="n">KEY_HOT_F3</span> <span class="o">=</span> <span class="mh">0x3D</span>
<span class="n">KEY_HOT_F4</span> <span class="o">=</span> <span class="mh">0x3E</span>
<span class="n">KEY_HOT_F5</span> <span class="o">=</span> <span class="mh">0x3F</span>
<span class="n">KEY_HOT_F6</span> <span class="o">=</span> <span class="mh">0x40</span>
<span class="n">KEY_HOT_F7</span> <span class="o">=</span> <span class="mh">0x41</span>
<span class="n">KEY_HOT_F8</span> <span class="o">=</span> <span class="mh">0x42</span>
<span class="n">KEY_HOT_F9</span> <span class="o">=</span> <span class="mh">0x43</span>
<span class="n">KEY_HOT_F10</span> <span class="o">=</span> <span class="mh">0x44</span>
<span class="n">KEY_HOT_F11</span> <span class="o">=</span> <span class="mh">0x57</span>
<span class="n">KEY_HOT_F12</span> <span class="o">=</span> <span class="mh">0x58</span>
<span class="n">KEY_HOT_F13</span> <span class="o">=</span> <span class="mh">0x7C</span>
<span class="n">KEY_HOT_F14</span> <span class="o">=</span> <span class="mh">0x7D</span>
<span class="n">KEY_HOT_F15</span> <span class="o">=</span> <span class="mh">0x7E</span>
<span class="n">KEY_HOT_F16</span> <span class="o">=</span> <span class="mh">0x7F</span>
<span class="n">KEY_HOT_F17</span> <span class="o">=</span> <span class="mh">0x80</span>
<span class="n">KEY_HOT_F18</span> <span class="o">=</span> <span class="mh">0x81</span>
<span class="n">KEY_HOT_F19</span> <span class="o">=</span> <span class="mh">0x82</span>
<span class="n">KEY_HOT_F20</span> <span class="o">=</span> <span class="mh">0x83</span>
<span class="n">KEY_HOT_F21</span> <span class="o">=</span> <span class="mh">0x84</span>
<span class="n">KEY_HOT_F22</span> <span class="o">=</span> <span class="mh">0x85</span>
<span class="n">KEY_HOT_F23</span> <span class="o">=</span> <span class="mh">0x86</span>
<span class="n">KEY_HOT_F24</span> <span class="o">=</span> <span class="mh">0x87</span>
<span class="n">KEY_HOT_TILDE</span> <span class="o">=</span> <span class="mh">0x29</span> <span class="c1">#~</span>
<span class="n">KEY_HOT_COLON</span> <span class="o">=</span> <span class="mh">0x27</span> <span class="c1">#:</span>
<span class="n">KEY_HOT_PLUS</span> <span class="o">=</span> <span class="mh">0x0D</span> <span class="c1">#+</span>
<span class="n">KEY_HOT_MINUS</span> <span class="o">=</span> <span class="mh">0x0C</span> <span class="c1">#-</span>
<span class="n">KEY_HOT_LESS_THAN</span> <span class="o">=</span> <span class="mh">0x33</span> <span class="c1">#&lt; ,</span>
<span class="n">KEY_HOT_GREATER_THAN</span> <span class="o">=</span> <span class="mh">0x34</span> <span class="c1">#&gt; .</span>
<span class="n">KEY_HOT_SOLIDUS</span> <span class="o">=</span> <span class="mh">0x35</span> <span class="c1">#/ ?</span>
<span class="n">KEY_HOT_SQUARE_BRACKET_LEFT</span> <span class="o">=</span> <span class="mh">0x1A</span> <span class="c1">#[</span>
<span class="n">KEY_HOT_SQUARE_BRACKET_RIGHT</span> <span class="o">=</span> <span class="mh">0x1B</span> <span class="c1">#]</span>
<span class="n">KEY_HOT_APOSTROPHE</span> <span class="o">=</span> <span class="mh">0x28</span> <span class="c1">#&#39; &quot;</span>
<span class="n">KEY_HOT_VERTICAL_LINE</span> <span class="o">=</span> <span class="mh">0x2B</span> <span class="c1">#| \</span>
<span class="n">KEY_HOT_ESC</span> <span class="o">=</span> <span class="mh">0x1</span>
<span class="n">KEY_HOT_BACKSPACE</span> <span class="o">=</span> <span class="mh">0x0E</span>
<span class="n">KEY_HOT_TAB</span> <span class="o">=</span> <span class="mh">0x0F</span>
<span class="n">KEY_HOT_ENTER</span> <span class="o">=</span> <span class="mh">0x1C</span>
<span class="n">KEY_HOT_CONTEXT_MENU</span> <span class="o">=</span> <span class="mh">0x15D</span>
<span class="n">KEY_HOT_SHIFT_LEFT</span> <span class="o">=</span> <span class="mh">0x2A</span>
<span class="n">KEY_HOT_SHIFT_RIGHT</span> <span class="o">=</span> <span class="mh">0x36</span>
<span class="n">KEY_HOT_CTRL_LEFT</span> <span class="o">=</span> <span class="mh">0x1D</span>
<span class="n">KEY_HOT_CTRL_RIGHT</span> <span class="o">=</span> <span class="mh">0x11D</span>
<span class="n">KEY_HOT_ALT_LEFT</span> <span class="o">=</span> <span class="mh">0x38</span>
<span class="n">KEY_HOT_ALT_RIGHT</span> <span class="o">=</span> <span class="mh">0x138</span>
<span class="n">KEY_HOT_WIN_LEFT</span> <span class="o">=</span> <span class="mh">0x5B</span>
<span class="n">KEY_HOT_WIN_RIGHT</span> <span class="o">=</span> <span class="mh">0x5C</span>
<span class="n">KEY_HOT_CAPS_LOCK</span> <span class="o">=</span> <span class="mh">0x3A</span>
<span class="n">KEY_HOT_NUM_LOCK</span> <span class="o">=</span> <span class="mh">0x45</span>
<span class="n">KEY_HOT_SCROLL_LOCK</span> <span class="o">=</span> <span class="mh">0x46</span>
<span class="n">KEY_HOT_END</span> <span class="o">=</span> <span class="mh">0x4F</span>
<span class="n">KEY_HOT_HOME</span> <span class="o">=</span> <span class="mh">0x47</span>
<span class="n">KEY_HOT_SPACE</span> <span class="o">=</span> <span class="mh">0x39</span>
<span class="n">KEY_HOT_PAGE_UP</span> <span class="o">=</span> <span class="mh">0x49</span>
<span class="n">KEY_HOT_PAGE_DOWN</span> <span class="o">=</span> <span class="mh">0x51</span>
<span class="n">KEY_HOT_CLEAR</span> <span class="o">=</span> <span class="mh">0x4C</span>
<span class="n">KEY_HOT_LEFT</span> <span class="o">=</span> <span class="mh">0x4B</span>
<span class="n">KEY_HOT_UP</span> <span class="o">=</span> <span class="mh">0x48</span>
<span class="n">KEY_HOT_RIGHT</span> <span class="o">=</span> <span class="mh">0x4D</span>
<span class="n">KEY_HOT_DOWN</span> <span class="o">=</span> <span class="mh">0x50</span>
<span class="n">KEY_HOT_PRINT_SCREEN</span> <span class="o">=</span> <span class="mh">0x137</span>
<span class="n">KEY_HOT_INSERT</span> <span class="o">=</span> <span class="mh">0x52</span>
<span class="n">KEY_HOT_DELETE</span> <span class="o">=</span> <span class="mh">0x53</span>
<span class="n">KEY_HOT_0</span> <span class="o">=</span> <span class="mh">0xB</span>
<span class="n">KEY_HOT_1</span> <span class="o">=</span> <span class="mh">0x2</span>
<span class="n">KEY_HOT_2</span> <span class="o">=</span> <span class="mh">0x3</span>
<span class="n">KEY_HOT_3</span> <span class="o">=</span> <span class="mh">0x4</span>
<span class="n">KEY_HOT_4</span> <span class="o">=</span> <span class="mh">0x5</span>
<span class="n">KEY_HOT_5</span> <span class="o">=</span> <span class="mh">0x6</span>
<span class="n">KEY_HOT_6</span> <span class="o">=</span> <span class="mh">0x7</span>
<span class="n">KEY_HOT_7</span> <span class="o">=</span> <span class="mh">0x8</span>
<span class="n">KEY_HOT_8</span> <span class="o">=</span> <span class="mh">0x9</span>
<span class="n">KEY_HOT_9</span> <span class="o">=</span> <span class="mh">0xA</span>
</pre></div>
</div>
</div>
<div class="section" id="id5">
<h2>Дополнительная функциональность<a class="headerlink" href="#id5" title="Ссылка на этот заголовок"></a></h2>
<p>Дополнительно модуль содержит функции вспомогательной библиотеки. Ознакомиться с описанием можно <a class="reference external" href="https://github.com/boppreh/keyboard#api">Здесь</a></p>
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="c1"># Пример использования функции send</span>
<span class="kn">from</span> <span class="nn">pyOpenRPA.Robot</span> <span class="kn">import</span> <span class="n">Keyboard</span>
<span class="n">Keyboard</span><span class="o">.</span><span class="n">send</span><span class="p">(</span><span class="mi">57</span><span class="p">)</span>
</pre></div>
</div>
</div>
<div class="section" id="id7">
<h2>Быстрая навигация<a class="headerlink" href="#id7" title="Ссылка на этот заголовок"></a></h2>
<ul class="simple">
<li><p><a class="reference external" href="https://t.me/pyOpenRPA">Сообщество pyOpenRPA (telegram)</a></p></li>
<li><p><a class="reference external" href="https://tenchat.ru/iMaslov?utm_source=19f2a84f-3268-437f-950c-d987ae42af24">Сообщество pyOpenRPA (tenchat)</a></p></li>
<li><p><a class="reference external" href="https://vk.com/pyopenrpa">Сообщество pyOpenRPA (вконтакте)</a></p></li>
<li><p><a class="reference external" href="https://pyopenrpa.ru/Index/pyOpenRPA_product_service.pdf">Презентация pyOpenRPA</a></p></li>
<li><p><a class="reference external" href="https://pyopenrpa.ru">Портал pyOpenRPA</a></p></li>
<li><p><a class="reference external" href="https://gitlab.com/UnicodeLabs/OpenRPA">Репозиторий pyOpenRPA</a></p></li>
</ul>
<p> .. v1.2.12 replace:: v1.2.12</p>
<p></p>
</div>
</div>
@ -665,8 +642,8 @@ Example: [</p>
</div>
<footer>
<div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
<a href="05_clipboard.html" class="btn btn-neutral float-right" title="5. Clipboard" accesskey="n" rel="next">Следующая <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
<a href="03_uiweb.html" class="btn btn-neutral float-left" title="3. UIWeb" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Предыдущая</a>
<a href="05_clipboard.html" class="btn btn-neutral float-right" title="5. Функции Clipboard" accesskey="n" rel="next">Следующая <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
<a href="03_uiweb.html" class="btn btn-neutral float-left" title="3. Функции UIWeb" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Предыдущая</a>
</div>
<hr/>

@ -7,7 +7,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>5. Clipboard &mdash; документация pyOpenRPA v1.2.12 v1.2.12</title>
<title>5. Функции Clipboard &mdash; документация pyOpenRPA v1.2.12 v1.2.12</title>
@ -41,8 +41,8 @@
<link rel="index" title="Алфавитный указатель" href="../genindex.html" />
<link rel="search" title="Поиск" href="../search.html" />
<link rel="next" title="6. Mouse" href="06_mouse.html" />
<link rel="prev" title="4. Keyboard" href="04_keyboard.html" />
<link rel="next" title="6. Функции Mouse" href="06_mouse.html" />
<link rel="prev" title="4. Функции Keyboard" href="04_keyboard.html" />
</head>
<body class="wy-body-for-nav">
@ -91,23 +91,22 @@
<ul>
<li class="toctree-l1"><a class="reference external" href="https://pyopenrpa.ru/wiki/guide/index">Выбрать версию</a></li>
<li class="toctree-l1"><a class="reference internal" href="../01_HowToInstall.html">1. Первый запуск</a></li>
<li class="toctree-l1"><a class="reference internal" href="../03_Copyrights_Contacts.html">2. Права &amp; Контакты</a></li>
<li class="toctree-l1"><a class="reference internal" href="../03_Copyrights_Contacts.html">2. Лицензия &amp; Контакты</a></li>
</ul>
<p class="caption"><span class="caption-text">МОДУЛЬ РОБОТ</span></p>
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="01_Robot.html">1. Описание</a></li>
<li class="toctree-l1"><a class="reference internal" href="02_Defs.html">2. Функции</a></li>
<li class="toctree-l1"><a class="reference internal" href="02_uidesktop.html">2. UIDesktop</a></li>
<li class="toctree-l1"><a class="reference internal" href="03_uiweb.html">3. UIWeb</a></li>
<li class="toctree-l1"><a class="reference internal" href="04_keyboard.html">4. Keyboard</a></li>
<li class="toctree-l1 current"><a class="current reference internal" href="#">5. Clipboard</a><ul>
<li class="toctree-l2"><a class="reference internal" href="#references">References</a></li>
<li class="toctree-l1"><a class="reference internal" href="02_uidesktop.html">2. Функции UIDesktop</a></li>
<li class="toctree-l1"><a class="reference internal" href="03_uiweb.html">3. Функции UIWeb</a></li>
<li class="toctree-l1"><a class="reference internal" href="04_keyboard.html">4. Функции Keyboard</a></li>
<li class="toctree-l1 current"><a class="current reference internal" href="#">5. Функции Clipboard</a><ul>
<li class="toctree-l2"><a class="reference internal" href="#module-pyOpenRPA.Robot.Clipboard">Описание функций</a></li>
<li class="toctree-l2"><a class="reference internal" href="#id2">Быстрая навигация</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="06_mouse.html">6. Mouse</a></li>
<li class="toctree-l1"><a class="reference internal" href="07_image.html">7. Image</a></li>
<li class="toctree-l1"><a class="reference internal" href="06_mouse.html">6. Функции Mouse</a></li>
<li class="toctree-l1"><a class="reference internal" href="07_image.html">7. Функции Image</a></li>
<li class="toctree-l1"><a class="reference internal" href="08_HowToUse.html">8. Как использовать?</a></li>
<li class="toctree-l1"><a class="reference internal" href="09_Dependencies.html">9. Зависимости</a></li>
</ul>
<p class="caption"><span class="caption-text">МОДУЛЬ СТУДИЯ</span></p>
<ul>
@ -116,20 +115,19 @@
</ul>
<p class="caption"><span class="caption-text">МОДУЛЬ ОРКЕСТРАТОР</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../Orchestrator/01_Orchestrator.html">1. Description</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Orchestrator/02_Defs.html">2. Defs</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Orchestrator/03_gSettingsTemplate.html">3. gSettings Template</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Orchestrator/04_HowToUse.html">4. How to use</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Orchestrator/05_UAC.html">5. UAC - User Access Control</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Orchestrator/06_Defs%20Managers.html">6. Defs Managers</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Orchestrator/01_Orchestrator.html">1. Описание</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Orchestrator/02_Defs.html">2. Функции</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Orchestrator/03_gSettingsTemplate.html">3. Настройки GSettings (шаблон)</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Orchestrator/04_HowToUse.html">4. Как использовать?</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Orchestrator/05_UAC.html">5. Права доступа пользователей UAC</a></li>
</ul>
<p class="caption"><span class="caption-text">МОДУЛЬ АГЕНТ</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../Agent/02_Defs.html">2. Defs</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Agent/02_Defs.html">2. Функции</a></li>
</ul>
<p class="caption"><span class="caption-text">ИНСТРУМЕНТЫ</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../Tools/02_Defs.html">2. Defs StopSafe</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Tools/02_Defs.html">2. Функции StopSafe</a></li>
</ul>
@ -178,7 +176,7 @@
<li><a href="../index.html" class="icon icon-home"></a> &raquo;</li>
<li>5. Clipboard</li>
<li>5. Функции Clipboard</li>
<li class="wy-breadcrumbs-aside">
@ -198,463 +196,71 @@
<div itemprop="articleBody">
<div class="section" id="clipboard">
<span id="module-robot-clipboard"></span><h1>5. Clipboard<a class="headerlink" href="#clipboard" title="Ссылка на этот заголовок"></a></h1>
<p>Here you can find the functions description for interaction with desktop GUI applications</p>
<p>How to use both x32 and x64 python processes (it can be helpfully, if another app GUI is on another bitness than your app)</p>
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="kn">from</span> <span class="nn">pyOpenRPA.Robot</span> <span class="kn">import</span> <span class="n">UIDesktop</span>
<span class="c1">#Section for robot init</span>
<span class="n">lPyOpenRPA_SettingsDict</span> <span class="o">=</span> <span class="p">{</span>
<span class="s2">&quot;Python32FullPath&quot;</span><span class="p">:</span> <span class="s2">&quot;..</span><span class="se">\\</span><span class="s2">Resources</span><span class="se">\\</span><span class="s2">WPy32-3720</span><span class="se">\\</span><span class="s2">python-3.7.2</span><span class="se">\\</span><span class="s2">python.exe&quot;</span><span class="p">,</span> <span class="c1">#Set from user: &quot;..\\Resources\\WPy32-3720\\python-3.7.2\\OpenRPARobotGUIx32.exe&quot;</span>
<span class="s2">&quot;Python64FullPath&quot;</span><span class="p">:</span> <span class="s2">&quot;..</span><span class="se">\\</span><span class="s2">Resources</span><span class="se">\\</span><span class="s2">WPy64-3720</span><span class="se">\\</span><span class="s2">python-3.7.2.amd64</span><span class="se">\\</span><span class="s2">python.exe&quot;</span><span class="p">,</span> <span class="c1">#Set from user</span>
<span class="s2">&quot;Python32ProcessName&quot;</span><span class="p">:</span> <span class="s2">&quot;pyOpenRPA_UIDesktopX32.exe&quot;</span><span class="p">,</span> <span class="c1">#Config set once</span>
<span class="s2">&quot;Python64ProcessName&quot;</span><span class="p">:</span> <span class="s2">&quot;pyOpenRPA_UIDesktopX64.exe&quot;</span> <span class="c1">#Config set once</span>
<span class="p">}</span>
<span class="c1"># Init the pyOpenRPA configuration</span>
<span class="n">UIDesktop</span><span class="o">.</span><span class="n">Utils</span><span class="o">.</span><span class="n">ProcessBitness</span><span class="o">.</span><span class="n">SettingsInit</span><span class="p">(</span><span class="n">lPyOpenRPA_SettingsDict</span><span class="p">)</span>
<span class="c1"># Now you can use pyOpenRPA with both bitness.</span>
</pre></div>
</div>
<span class="target" id="module-pyOpenRPA.Robot.UIDesktop"></span><p><strong>Functions:</strong></p>
<span id="module-robot-clipboard"></span><h1>5. Функции Clipboard<a class="headerlink" href="#clipboard" title="Ссылка на этот заголовок"></a></h1>
<div class="section" id="module-pyOpenRPA.Robot.Clipboard">
<span id="id1"></span><h2>Описание функций<a class="headerlink" href="#module-pyOpenRPA.Robot.Clipboard" title="Ссылка на этот заголовок"></a></h2>
<p><strong>Functions:</strong></p>
<table class="longtable docutils align-default">
<colgroup>
<col style="width: 10%" />
<col style="width: 90%" />
</colgroup>
<tbody>
<tr class="row-odd"><td><p><a class="reference internal" href="07_image.html#pyOpenRPA.Robot.UIDesktop.Get_OSBitnessInt" title="pyOpenRPA.Robot.UIDesktop.Get_OSBitnessInt"><code class="xref py py-obj docutils literal notranslate"><span class="pre">Get_OSBitnessInt</span></code></a>()</p></td>
<td><p>Detect OS bitness.</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="07_image.html#pyOpenRPA.Robot.UIDesktop.PWASpecification_Get_PWAApplication" title="pyOpenRPA.Robot.UIDesktop.PWASpecification_Get_PWAApplication"><code class="xref py py-obj docutils literal notranslate"><span class="pre">PWASpecification_Get_PWAApplication</span></code></a>(…)</p></td>
<td><p>#Backend selection - attribute «backend» («win32» || «uia») in 1-st list element</p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="07_image.html#pyOpenRPA.Robot.UIDesktop.PWASpecification_Get_UIO" title="pyOpenRPA.Robot.UIDesktop.PWASpecification_Get_UIO"><code class="xref py py-obj docutils literal notranslate"><span class="pre">PWASpecification_Get_UIO</span></code></a>(…)</p></td>
<td><p>#Backend def selection - attribute «backend» («win32» || «uia») in 1-st list element #old name - GetControl</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="07_image.html#pyOpenRPA.Robot.UIDesktop.UIOSelectorSecs_WaitAppear_Bool" title="pyOpenRPA.Robot.UIDesktop.UIOSelectorSecs_WaitAppear_Bool"><code class="xref py py-obj docutils literal notranslate"><span class="pre">UIOSelectorSecs_WaitAppear_Bool</span></code></a>(…)</p></td>
<td><p>Wait for UI object will appear in GUI for inWaitSecs seconds.</p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="07_image.html#pyOpenRPA.Robot.UIDesktop.UIOSelectorSecs_WaitDisappear_Bool" title="pyOpenRPA.Robot.UIDesktop.UIOSelectorSecs_WaitDisappear_Bool"><code class="xref py py-obj docutils literal notranslate"><span class="pre">UIOSelectorSecs_WaitDisappear_Bool</span></code></a>(…)</p></td>
<td><p>Wait for UI object will disappear in GUI for inWaitSecs seconds.</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="07_image.html#pyOpenRPA.Robot.UIDesktop.UIOSelectorUIOActivity_Run_Dict" title="pyOpenRPA.Robot.UIDesktop.UIOSelectorUIOActivity_Run_Dict"><code class="xref py py-obj docutils literal notranslate"><span class="pre">UIOSelectorUIOActivity_Run_Dict</span></code></a>(…[, …])</p></td>
<td><p>Run the activity in UIO (UI Object)</p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="07_image.html#pyOpenRPA.Robot.UIDesktop.UIOSelector_Exist_Bool" title="pyOpenRPA.Robot.UIDesktop.UIOSelector_Exist_Bool"><code class="xref py py-obj docutils literal notranslate"><span class="pre">UIOSelector_Exist_Bool</span></code></a>(inUIOSelector)</p></td>
<td><p>Check if object is exist by the UIO selector.</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="07_image.html#pyOpenRPA.Robot.UIDesktop.UIOSelector_FocusHighlight" title="pyOpenRPA.Robot.UIDesktop.UIOSelector_FocusHighlight"><code class="xref py py-obj docutils literal notranslate"><span class="pre">UIOSelector_FocusHighlight</span></code></a>(inUIOSelector)</p></td>
<td><p>Set focus and highlight (draw outline) the element (in app) by the UIO selector.</p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="07_image.html#pyOpenRPA.Robot.UIDesktop.UIOSelector_GetChildList_UIOList" title="pyOpenRPA.Robot.UIDesktop.UIOSelector_GetChildList_UIOList"><code class="xref py py-obj docutils literal notranslate"><span class="pre">UIOSelector_GetChildList_UIOList</span></code></a>([…])</p></td>
<td><p>Get list of child UIOs by the parent UIOSelector</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="07_image.html#pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_BitnessInt" title="pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_BitnessInt"><code class="xref py py-obj docutils literal notranslate"><span class="pre">UIOSelector_Get_BitnessInt</span></code></a>(inSpecificationList)</p></td>
<td><p>Detect process bitness by the UI Object UIO Selector.</p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="07_image.html#pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_BitnessStr" title="pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_BitnessStr"><code class="xref py py-obj docutils literal notranslate"><span class="pre">UIOSelector_Get_BitnessStr</span></code></a>(inSpecificationList)</p></td>
<td><p>Detect process bitness by the UI Object UIO Selector.</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="07_image.html#pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_UIO" title="pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_UIO"><code class="xref py py-obj docutils literal notranslate"><span class="pre">UIOSelector_Get_UIO</span></code></a>(inSpecificationList[, …])</p></td>
<td><p>Get the pywinauto object by the UIO selector.</p></td>
<tr class="row-odd"><td><p><a class="reference internal" href="#pyOpenRPA.Robot.Clipboard.Get" title="pyOpenRPA.Robot.Clipboard.Get"><code class="xref py py-obj docutils literal notranslate"><span class="pre">Get</span></code></a>()</p></td>
<td><p>Получить текстовое содержимое буфера обмена.</p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="07_image.html#pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_UIOActivityList" title="pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_UIOActivityList"><code class="xref py py-obj docutils literal notranslate"><span class="pre">UIOSelector_Get_UIOActivityList</span></code></a>(inUIOSelector)</p></td>
<td><p>Get the list of the UI object activities</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="07_image.html#pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_UIOInfo" title="pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_UIOInfo"><code class="xref py py-obj docutils literal notranslate"><span class="pre">UIOSelector_Get_UIOInfo</span></code></a>(inUIOSelector)</p></td>
<td><p>Get the UIO dict of the attributes</p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="07_image.html#pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_UIOList" title="pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_UIOList"><code class="xref py py-obj docutils literal notranslate"><span class="pre">UIOSelector_Get_UIOList</span></code></a>(inSpecificationList)</p></td>
<td><p>Get the UIO list by the selector</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="07_image.html#pyOpenRPA.Robot.UIDesktop.UIOSelector_Highlight" title="pyOpenRPA.Robot.UIDesktop.UIOSelector_Highlight"><code class="xref py py-obj docutils literal notranslate"><span class="pre">UIOSelector_Highlight</span></code></a>(inUIOSelector)</p></td>
<td><p>Highlight (draw outline) the element (in app) by the UIO selector.</p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="07_image.html#pyOpenRPA.Robot.UIDesktop.UIOSelector_SafeOtherGet_Process" title="pyOpenRPA.Robot.UIDesktop.UIOSelector_SafeOtherGet_Process"><code class="xref py py-obj docutils literal notranslate"><span class="pre">UIOSelector_SafeOtherGet_Process</span></code></a>(inUIOSelector)</p></td>
<td><p>Safe get other process or None if destination app is the other/same bitness</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="07_image.html#pyOpenRPA.Robot.UIDesktop.UIOSelector_SearchChildByMouse_UIO" title="pyOpenRPA.Robot.UIDesktop.UIOSelector_SearchChildByMouse_UIO"><code class="xref py py-obj docutils literal notranslate"><span class="pre">UIOSelector_SearchChildByMouse_UIO</span></code></a>(…)</p></td>
<td><p>UIOSelector (see description on the top of the document) #old name - AutomationSearchMouseElement</p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="07_image.html#pyOpenRPA.Robot.UIDesktop.UIOSelector_SearchChildByMouse_UIOTree" title="pyOpenRPA.Robot.UIDesktop.UIOSelector_SearchChildByMouse_UIOTree"><code class="xref py py-obj docutils literal notranslate"><span class="pre">UIOSelector_SearchChildByMouse_UIOTree</span></code></a>(…)</p></td>
<td><p>!!!!Safe call is included (you can set activity and UIDesktop will choose the bitness and return the result)!!!!!</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="07_image.html#pyOpenRPA.Robot.UIDesktop.UIOSelector_TryRestore_Dict" title="pyOpenRPA.Robot.UIDesktop.UIOSelector_TryRestore_Dict"><code class="xref py py-obj docutils literal notranslate"><span class="pre">UIOSelector_TryRestore_Dict</span></code></a>(inSpecificationList)</p></td>
<td><p>Try to restore (maximize) window, if its minimized.</p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="07_image.html#pyOpenRPA.Robot.UIDesktop.UIOSelectorsSecs_WaitAppear_List" title="pyOpenRPA.Robot.UIDesktop.UIOSelectorsSecs_WaitAppear_List"><code class="xref py py-obj docutils literal notranslate"><span class="pre">UIOSelectorsSecs_WaitAppear_List</span></code></a>(…[, …])</p></td>
<td><p>Wait for many UI object will appear in GUI for inWaitSecs seconds.</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="07_image.html#pyOpenRPA.Robot.UIDesktop.UIOSelectorsSecs_WaitDisappear_List" title="pyOpenRPA.Robot.UIDesktop.UIOSelectorsSecs_WaitDisappear_List"><code class="xref py py-obj docutils literal notranslate"><span class="pre">UIOSelectorsSecs_WaitDisappear_List</span></code></a>(…[, …])</p></td>
<td><p>Wait for many UI object will disappear in GUI for inWaitSecs seconds.</p></td>
<tr class="row-even"><td><p><a class="reference internal" href="#pyOpenRPA.Robot.Clipboard.Set" title="pyOpenRPA.Robot.Clipboard.Set"><code class="xref py py-obj docutils literal notranslate"><span class="pre">Set</span></code></a>(inTextStr)</p></td>
<td><p>Установить текстовое содержимое в буфер обмена.</p></td>
</tr>
</tbody>
</table>
<dl class="py function">
<dt id="pyOpenRPA.Robot.UIDesktop.Get_OSBitnessInt">
<code class="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><code class="sig-name descname">Get_OSBitnessInt</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Robot/UIDesktop.html#Get_OSBitnessInt"><span class="viewcode-link">[исходный код]</span></a><a class="headerlink" href="#pyOpenRPA.Robot.UIDesktop.Get_OSBitnessInt" title="Ссылка на это определение"></a></dt>
<dd><p>Detect OS bitness.</p>
<dt id="pyOpenRPA.Robot.Clipboard.Get">
<code class="sig-prename descclassname">pyOpenRPA.Robot.Clipboard.</code><code class="sig-name descname">Get</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Robot/Clipboard.html#Get"><span class="viewcode-link">[исходный код]</span></a><a class="headerlink" href="#pyOpenRPA.Robot.Clipboard.Get" title="Ссылка на это определение"></a></dt>
<dd><p>Получить текстовое содержимое буфера обмена.</p>
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="c1"># Clipboard: Взаимодействие с буфером</span>
<span class="kn">from</span> <span class="nn">pyOpenRPA.Robot</span> <span class="kn">import</span> <span class="n">Clipboard</span>
<span class="n">lClipStr</span> <span class="o">=</span> <span class="n">Clipboard</span><span class="o">.</span><span class="n">Get</span><span class="p">()</span>
</pre></div>
</div>
<dl class="field-list simple">
<dt class="field-odd">Результат</dt>
<dd class="field-odd"><p>int 32 or int 64</p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt id="pyOpenRPA.Robot.UIDesktop.PWASpecification_Get_PWAApplication">
<code class="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><code class="sig-name descname">PWASpecification_Get_PWAApplication</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inControlSpecificationArray</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Robot/UIDesktop.html#PWASpecification_Get_PWAApplication"><span class="viewcode-link">[исходный код]</span></a><a class="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>
<dl class="field-list simple">
<dt class="field-odd">Параметры</dt>
<dd class="field-odd"><p><strong>inControlSpecificationArray</strong> List of dict, dict in pywinauto.find_windows notation</p>
</dd>
<dt class="field-even">Результат</dt>
<dd class="field-even"><p>process application object</p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt id="pyOpenRPA.Robot.UIDesktop.PWASpecification_Get_UIO">
<code class="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><code class="sig-name descname">PWASpecification_Get_UIO</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inControlSpecificationArray</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Robot/UIDesktop.html#PWASpecification_Get_UIO"><span class="viewcode-link">[исходный код]</span></a><a class="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>
<dl class="field-list simple">
<dt class="field-odd">Параметры</dt>
<dd class="field-odd"><p><strong>inControlSpecificationArray</strong> List of dict, dict in pywinauto.find_windows notation</p>
</dd>
<dt class="field-even">Результат</dt>
<dd class="field-even"><p>list of UIO object</p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt id="pyOpenRPA.Robot.UIDesktop.UIOSelectorSecs_WaitAppear_Bool">
<code class="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><code class="sig-name descname">UIOSelectorSecs_WaitAppear_Bool</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inSpecificationList</span></em>, <em class="sig-param"><span class="n">inWaitSecs</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelectorSecs_WaitAppear_Bool"><span class="viewcode-link">[исходный код]</span></a><a class="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>
<dl class="field-list simple">
<dt class="field-odd">Параметры</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>inSpecificationList</strong> UIOSelector. Example: [{«title»:»notepad»},{«title»:»OK»}]</p></li>
<li><p><strong>inWaitSecs</strong> Float value (seconds) for wait UI element appear in GUI</p></li>
</ul>
</dd>
<dt class="field-even">Результат</dt>
<dd class="field-even"><p>True - UI object will appear. False - else case</p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt id="pyOpenRPA.Robot.UIDesktop.UIOSelectorSecs_WaitDisappear_Bool">
<code class="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><code class="sig-name descname">UIOSelectorSecs_WaitDisappear_Bool</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inSpecificationList</span></em>, <em class="sig-param"><span class="n">inWaitSecs</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelectorSecs_WaitDisappear_Bool"><span class="viewcode-link">[исходный код]</span></a><a class="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>
<dl class="field-list simple">
<dt class="field-odd">Параметры</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>inSpecificationList</strong> UIOSelector.
Example: [{«title»:»notepad»},{«title»:»OK»}]</p></li>
<li><p><strong>inWaitSecs</strong> Float value (seconds) for wait UI element disappear in GUI</p></li>
</ul>
</dd>
<dt class="field-even">Результат</dt>
<dd class="field-even"><p>True - UI object will disappear. False - else case</p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt id="pyOpenRPA.Robot.UIDesktop.UIOSelectorUIOActivity_Run_Dict">
<code class="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><code class="sig-name descname">UIOSelectorUIOActivity_Run_Dict</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inUIOSelector</span></em>, <em class="sig-param"><span class="n">inActionName</span></em>, <em class="sig-param"><span class="n">inArgumentList</span><span class="o">=</span><span class="default_value">None</span></em>, <em class="sig-param"><span class="n">inkwArgumentObject</span><span class="o">=</span><span class="default_value">None</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelectorUIOActivity_Run_Dict"><span class="viewcode-link">[исходный код]</span></a><a class="headerlink" href="#pyOpenRPA.Robot.UIDesktop.UIOSelectorUIOActivity_Run_Dict" title="Ссылка на это определение"></a></dt>
<dd><p>Run the activity in UIO (UI Object)</p>
<dl class="field-list simple">
<dt class="field-odd">Параметры</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>inUIOSelector</strong> UIOSelector - List of items, which contains condition attributes</p></li>
<li><p><strong>inActionName</strong> UIOActivity (name) activity name string from Pywinauto</p></li>
<li><p><strong>inArgumentList</strong> </p></li>
<li><p><strong>inkwArgumentObject</strong> </p></li>
</ul>
</dd>
<dt class="field-even">Результат</dt>
<dd class="field-even"><p></p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt id="pyOpenRPA.Robot.UIDesktop.UIOSelector_Exist_Bool">
<code class="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><code class="sig-name descname">UIOSelector_Exist_Bool</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inUIOSelector</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_Exist_Bool"><span class="viewcode-link">[исходный код]</span></a><a class="headerlink" href="#pyOpenRPA.Robot.UIDesktop.UIOSelector_Exist_Bool" title="Ссылка на это определение"></a></dt>
<dd><p>Check if object is exist by the UIO selector.</p>
<dl class="field-list simple">
<dt class="field-odd">Параметры</dt>
<dd class="field-odd"><p><strong>inUIOSelector</strong> </p>
</dd>
<dt class="field-even">Результат</dt>
<dd class="field-even"><p>True - Object is exist. False - else case</p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt id="pyOpenRPA.Robot.UIDesktop.UIOSelector_FocusHighlight">
<code class="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><code class="sig-name descname">UIOSelector_FocusHighlight</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inUIOSelector</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_FocusHighlight"><span class="viewcode-link">[исходный код]</span></a><a class="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>
<dl class="field-list simple">
<dt class="field-odd">Параметры</dt>
<dd class="field-odd"><p><strong>inUIOSelector</strong> UIOSelector - List of items, which contains condition attributes</p>
</dd>
<dt class="field-even">Результат</dt>
<dd class="field-even"><p></p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt id="pyOpenRPA.Robot.UIDesktop.UIOSelector_GetChildList_UIOList">
<code class="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><code class="sig-name descname">UIOSelector_GetChildList_UIOList</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inUIOSelector</span><span class="o">=</span><span class="default_value">None</span></em>, <em class="sig-param"><span class="n">inBackend</span><span class="o">=</span><span class="default_value">'win32'</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_GetChildList_UIOList"><span class="viewcode-link">[исходный код]</span></a><a class="headerlink" href="#pyOpenRPA.Robot.UIDesktop.UIOSelector_GetChildList_UIOList" title="Ссылка на это определение"></a></dt>
<dd><p>Get list of child UIOs by the parent UIOSelector</p>
<dl class="field-list simple">
<dt class="field-odd">Параметры</dt>
<dd class="field-odd"><ul class="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>
<dt class="field-even">Результат</dt>
<dd class="field-even"><p></p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt id="pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_BitnessInt">
<code class="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><code class="sig-name descname">UIOSelector_Get_BitnessInt</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inSpecificationList</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_Get_BitnessInt"><span class="viewcode-link">[исходный код]</span></a><a class="headerlink" href="#pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_BitnessInt" title="Ссылка на это определение"></a></dt>
<dd><p>Detect process bitness by the UI Object UIO Selector.</p>
<dl class="field-list simple">
<dt class="field-odd">Параметры</dt>
<dd class="field-odd"><p><strong>inSpecificationList</strong> UIOSelector. Example: [{«title»:»notepad»},{«title»:»OK»}]</p>
<dd class="field-odd"><p>Текстовое содержимое буфера обмена</p>
</dd>
<dt class="field-even">Результат</dt>
<dd class="field-even"><p>int 32 or int 64</p>
<dt class="field-even">Тип результата</dt>
<dd class="field-even"><p>str</p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt id="pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_BitnessStr">
<code class="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><code class="sig-name descname">UIOSelector_Get_BitnessStr</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inSpecificationList</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_Get_BitnessStr"><span class="viewcode-link">[исходный код]</span></a><a class="headerlink" href="#pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_BitnessStr" title="Ссылка на это определение"></a></dt>
<dd><p>Detect process bitness by the UI Object UIO Selector.</p>
<dl class="field-list simple">
<dt class="field-odd">Параметры</dt>
<dd class="field-odd"><p><strong>inSpecificationList</strong> UIOSelector. Example: [{«title»:»notepad»},{«title»:»OK»}]</p>
</dd>
<dt class="field-even">Результат</dt>
<dd class="field-even"><p>str «32» or str «64»</p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt id="pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_UIO">
<code class="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><code class="sig-name descname">UIOSelector_Get_UIO</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inSpecificationList</span></em>, <em class="sig-param"><span class="n">inElement</span><span class="o">=</span><span class="default_value">None</span></em>, <em class="sig-param"><span class="n">inFlagRaiseException</span><span class="o">=</span><span class="default_value">True</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_Get_UIO"><span class="viewcode-link">[исходный код]</span></a><a class="headerlink" href="#pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_UIO" title="Ссылка на это определение"></a></dt>
<dd><p>Get the pywinauto object by the UIO selector.</p>
<dl class="field-list simple">
<dt class="field-odd">Параметры</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>inSpecificationList</strong> </p></li>
<li><p><strong>inElement</strong> </p></li>
<li><p><strong>inFlagRaiseException</strong> </p></li>
</ul>
</dd>
<dt class="field-even">Результат</dt>
<dd class="field-even"><p></p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt id="pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_UIOActivityList">
<code class="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><code class="sig-name descname">UIOSelector_Get_UIOActivityList</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inUIOSelector</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_Get_UIOActivityList"><span class="viewcode-link">[исходный код]</span></a><a class="headerlink" href="#pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_UIOActivityList" title="Ссылка на это определение"></a></dt>
<dd><p>Get the list of the UI object activities</p>
<dl class="field-list simple">
<dt class="field-odd">Параметры</dt>
<dd class="field-odd"><p><strong>inUIOSelector</strong> UIOSelector - List of items, which contains condition attributes</p>
</dd>
<dt class="field-even">Результат</dt>
<dd class="field-even"><p></p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt id="pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_UIOInfo">
<code class="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><code class="sig-name descname">UIOSelector_Get_UIOInfo</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inUIOSelector</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_Get_UIOInfo"><span class="viewcode-link">[исходный код]</span></a><a class="headerlink" href="#pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_UIOInfo" title="Ссылка на это определение"></a></dt>
<dd><p>Get the UIO dict of the attributes</p>
<dl class="field-list simple">
<dt class="field-odd">Параметры</dt>
<dd class="field-odd"><p><strong>inUIOSelector</strong> UIOSelector - List of items, which contains condition attributes</p>
</dd>
<dt class="field-even">Результат</dt>
<dd class="field-even"><p></p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt id="pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_UIOList">
<code class="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><code class="sig-name descname">UIOSelector_Get_UIOList</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inSpecificationList</span></em>, <em class="sig-param"><span class="n">inElement</span><span class="o">=</span><span class="default_value">None</span></em>, <em class="sig-param"><span class="n">inFlagRaiseException</span><span class="o">=</span><span class="default_value">True</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_Get_UIOList"><span class="viewcode-link">[исходный код]</span></a><a class="headerlink" href="#pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_UIOList" title="Ссылка на это определение"></a></dt>
<dd><p>Get the UIO list by the selector</p>
<dl class="field-list simple">
<dt class="field-odd">Параметры</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>inSpecificationList</strong> UIO Selector</p></li>
<li><p><strong>inElement</strong> Входной элемент - показатель, что не требуется выполнять коннект к процессу</p></li>
<li><p><strong>inFlagRaiseException</strong> Флаг True - выкинуть ошибку в случае обнаружении пустого списка</p></li>
</ul>
</dd>
<dt class="field-even">Результат</dt>
<dd class="field-even"><p></p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt id="pyOpenRPA.Robot.UIDesktop.UIOSelector_Highlight">
<code class="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><code class="sig-name descname">UIOSelector_Highlight</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inUIOSelector</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_Highlight"><span class="viewcode-link">[исходный код]</span></a><a class="headerlink" href="#pyOpenRPA.Robot.UIDesktop.UIOSelector_Highlight" title="Ссылка на это определение"></a></dt>
<dd><p>Highlight (draw outline) the element (in app) by the UIO selector.</p>
<dl class="field-list simple">
<dt class="field-odd">Параметры</dt>
<dd class="field-odd"><p><strong>inUIOSelector</strong> UIOSelector - List of items, which contains condition attributes</p>
</dd>
<dt class="field-even">Результат</dt>
<dd class="field-even"><p></p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt id="pyOpenRPA.Robot.UIDesktop.UIOSelector_SafeOtherGet_Process">
<code class="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><code class="sig-name descname">UIOSelector_SafeOtherGet_Process</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inUIOSelector</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_SafeOtherGet_Process"><span class="viewcode-link">[исходный код]</span></a><a class="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>
<dl class="field-list simple">
<dt class="field-odd">Параметры</dt>
<dd class="field-odd"><p><strong>inUIOSelector</strong> UIO Selector of the UI object</p>
</dd>
<dt class="field-even">Результат</dt>
<dd class="field-even"><p>None or process (of the other bitness)</p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt id="pyOpenRPA.Robot.UIDesktop.UIOSelector_SearchChildByMouse_UIO">
<code class="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><code class="sig-name descname">UIOSelector_SearchChildByMouse_UIO</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inElementSpecification</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_SearchChildByMouse_UIO"><span class="viewcode-link">[исходный код]</span></a><a class="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>
<dl class="field-list simple">
<dt class="field-odd">Параметры</dt>
<dd class="field-odd"><p><strong>inElementSpecification</strong> UIOSelector of the UI Object</p>
</dd>
<dt class="field-even">Результат</dt>
<dd class="field-even"><p>pywinauto element wrapper instance or None</p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt id="pyOpenRPA.Robot.UIDesktop.UIOSelector_SearchChildByMouse_UIOTree">
<code class="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><code class="sig-name descname">UIOSelector_SearchChildByMouse_UIOTree</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inUIOSelector</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_SearchChildByMouse_UIOTree"><span class="viewcode-link">[исходный код]</span></a><a class="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>
<dl class="field-list simple">
<dt class="field-odd">Параметры</dt>
<dd class="field-odd"><p><strong>inUIOSelector</strong> UIOSelector of the UI Object</p>
</dd>
<dt class="field-even">Результат</dt>
<dd class="field-even"><p><p>?</p>
</p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt id="pyOpenRPA.Robot.UIDesktop.UIOSelector_TryRestore_Dict">
<code class="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><code class="sig-name descname">UIOSelector_TryRestore_Dict</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inSpecificationList</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_TryRestore_Dict"><span class="viewcode-link">[исходный код]</span></a><a class="headerlink" href="#pyOpenRPA.Robot.UIDesktop.UIOSelector_TryRestore_Dict" title="Ссылка на это определение"></a></dt>
<dd><p>Try to restore (maximize) window, if its minimized. (!IMPORTANT! When use UIA framework minimized windows doesnt appear by the UIOSelector. You need to try restore windows and after that try to get UIO)</p>
<dl class="field-list simple">
<dt class="field-odd">Параметры</dt>
<dd class="field-odd"><p><strong>inSpecificationList</strong> UIOSelector - List of items, which contains condition attributes</p>
</dd>
<dt class="field-even">Результат</dt>
<dd class="field-even"><p></p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt id="pyOpenRPA.Robot.UIDesktop.UIOSelectorsSecs_WaitAppear_List">
<code class="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><code class="sig-name descname">UIOSelectorsSecs_WaitAppear_List</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inSpecificationListList</span></em>, <em class="sig-param"><span class="n">inWaitSecs</span></em>, <em class="sig-param"><span class="n">inFlagWaitAllInMoment</span><span class="o">=</span><span class="default_value">False</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelectorsSecs_WaitAppear_List"><span class="viewcode-link">[исходный код]</span></a><a class="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>
<dt id="pyOpenRPA.Robot.Clipboard.Set">
<code class="sig-prename descclassname">pyOpenRPA.Robot.Clipboard.</code><code class="sig-name descname">Set</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inTextStr</span><span class="p">:</span> <span class="n">str</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Robot/Clipboard.html#Set"><span class="viewcode-link">[исходный код]</span></a><a class="headerlink" href="#pyOpenRPA.Robot.Clipboard.Set" title="Ссылка на это определение"></a></dt>
<dd><p>Установить текстовое содержимое в буфер обмена.</p>
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="c1"># Clipboard: Взаимодействие с буфером</span>
<span class="kn">from</span> <span class="nn">pyOpenRPA.Robot</span> <span class="kn">import</span> <span class="n">Clipboard</span>
<span class="n">lClipStr</span> <span class="o">=</span> <span class="n">Clipboard</span><span class="o">.</span><span class="n">Set</span><span class="p">(</span><span class="n">inTextStr</span><span class="o">=</span><span class="s2">&quot;HELLO WORLD&quot;</span><span class="p">)</span>
</pre></div>
</div>
<dl class="field-list simple">
<dt class="field-odd">Параметры</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>inSpecificationListList</strong> <p>UIOSelector list.
Example: [</p>
<blockquote>
<div><p>[{«title»:»notepad»},{«title»:»OK»}],
[{«title»:»notepad»},{«title»:»Cancel»}]</p>
</div></blockquote>
<p>]</p>
</p></li>
<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>
<dt class="field-even">Результат</dt>
<dd class="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>
<dd class="field-odd"><p><strong>inTextStr</strong> (<em>str</em>) Текстовое содержимое для установки в буфера обмена</p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt id="pyOpenRPA.Robot.UIDesktop.UIOSelectorsSecs_WaitDisappear_List">
<code class="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><code class="sig-name descname">UIOSelectorsSecs_WaitDisappear_List</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inSpecificationListList</span></em>, <em class="sig-param"><span class="n">inWaitSecs</span></em>, <em class="sig-param"><span class="n">inFlagWaitAllInMoment</span><span class="o">=</span><span class="default_value">False</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelectorsSecs_WaitDisappear_List"><span class="viewcode-link">[исходный код]</span></a><a class="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>
<dl class="field-list simple">
<dt class="field-odd">Параметры</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>inSpecificationListList</strong> <p>UIOSelector list.
Example: [</p>
<blockquote>
<div><p>[{«title»:»notepad»},{«title»:»OK»}],
[{«title»:»notepad»},{«title»:»Cancel»}]</p>
</div></blockquote>
<p>]</p>
</p></li>
<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>
</div>
<div class="section" id="id2">
<h2>Быстрая навигация<a class="headerlink" href="#id2" title="Ссылка на этот заголовок"></a></h2>
<ul class="simple">
<li><p><a class="reference external" href="https://t.me/pyOpenRPA">Сообщество pyOpenRPA (telegram)</a></p></li>
<li><p><a class="reference external" href="https://tenchat.ru/iMaslov?utm_source=19f2a84f-3268-437f-950c-d987ae42af24">Сообщество pyOpenRPA (tenchat)</a></p></li>
<li><p><a class="reference external" href="https://vk.com/pyopenrpa">Сообщество pyOpenRPA (вконтакте)</a></p></li>
<li><p><a class="reference external" href="https://pyopenrpa.ru/Index/pyOpenRPA_product_service.pdf">Презентация pyOpenRPA</a></p></li>
<li><p><a class="reference external" href="https://pyopenrpa.ru">Портал pyOpenRPA</a></p></li>
<li><p><a class="reference external" href="https://gitlab.com/UnicodeLabs/OpenRPA">Репозиторий pyOpenRPA</a></p></li>
</ul>
</dd>
<dt class="field-even">Результат</dt>
<dd class="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>
<dt class="field-odd">Результат</dt>
<dd class="field-odd"><p></p>
</dd>
</dl>
</dd></dl>
<div class="section" id="references">
<h2>References<a class="headerlink" href="#references" title="Ссылка на этот заголовок"></a></h2>
<p><a class="reference external" href="http://docutils.sourceforge.net/rst.html">reStructuredText</a> <a class="footnote-reference brackets" href="#id3" id="id4">1</a></p>
<dl class="footnote brackets">
<dt class="label" id="id3"><span class="brackets"><a class="fn-backref" href="#id4">1</a></span></dt>
<dd><p><a class="reference external" href="http://docutils.sourceforge.net/rst.html">http://docutils.sourceforge.net/rst.html</a></p>
</dd>
</dl>
<p> .. v1.2.12 replace:: v1.2.12
.. <a href="#id1"><span class="problematic" id="id2">|author|</span></a> replace:: Ivan Maslov &lt;<a class="reference external" href="mailto:ivan&#46;maslov&#37;&#52;&#48;unicodelabs&#46;ru">ivan<span>&#46;</span>maslov<span>&#64;</span>unicodelabs<span>&#46;</span>ru</a>&gt;</p>
<p> .. v1.2.12 replace:: v1.2.12</p>
<p></p>
</div>
</div>
@ -665,8 +271,8 @@ Example: [</p>
</div>
<footer>
<div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
<a href="06_mouse.html" class="btn btn-neutral float-right" title="6. Mouse" accesskey="n" rel="next">Следующая <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
<a href="04_keyboard.html" class="btn btn-neutral float-left" title="4. Keyboard" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Предыдущая</a>
<a href="06_mouse.html" class="btn btn-neutral float-right" title="6. Функции Mouse" accesskey="n" rel="next">Следующая <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
<a href="04_keyboard.html" class="btn btn-neutral float-left" title="4. Функции Keyboard" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Предыдущая</a>
</div>
<hr/>

@ -7,7 +7,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>6. Mouse &mdash; документация pyOpenRPA v1.2.12 v1.2.12</title>
<title>6. Функции Mouse &mdash; документация pyOpenRPA v1.2.12 v1.2.12</title>
@ -41,8 +41,8 @@
<link rel="index" title="Алфавитный указатель" href="../genindex.html" />
<link rel="search" title="Поиск" href="../search.html" />
<link rel="next" title="7. Image" href="07_image.html" />
<link rel="prev" title="5. Clipboard" href="05_clipboard.html" />
<link rel="next" title="7. Функции Image" href="07_image.html" />
<link rel="prev" title="5. Функции Clipboard" href="05_clipboard.html" />
</head>
<body class="wy-body-for-nav">
@ -91,23 +91,23 @@
<ul>
<li class="toctree-l1"><a class="reference external" href="https://pyopenrpa.ru/wiki/guide/index">Выбрать версию</a></li>
<li class="toctree-l1"><a class="reference internal" href="../01_HowToInstall.html">1. Первый запуск</a></li>
<li class="toctree-l1"><a class="reference internal" href="../03_Copyrights_Contacts.html">2. Права &amp; Контакты</a></li>
<li class="toctree-l1"><a class="reference internal" href="../03_Copyrights_Contacts.html">2. Лицензия &amp; Контакты</a></li>
</ul>
<p class="caption"><span class="caption-text">МОДУЛЬ РОБОТ</span></p>
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="01_Robot.html">1. Описание</a></li>
<li class="toctree-l1"><a class="reference internal" href="02_Defs.html">2. Функции</a></li>
<li class="toctree-l1"><a class="reference internal" href="02_uidesktop.html">2. UIDesktop</a></li>
<li class="toctree-l1"><a class="reference internal" href="03_uiweb.html">3. UIWeb</a></li>
<li class="toctree-l1"><a class="reference internal" href="04_keyboard.html">4. Keyboard</a></li>
<li class="toctree-l1"><a class="reference internal" href="05_clipboard.html">5. Clipboard</a></li>
<li class="toctree-l1 current"><a class="current reference internal" href="#">6. Mouse</a><ul>
<li class="toctree-l2"><a class="reference internal" href="#references">References</a></li>
<li class="toctree-l1"><a class="reference internal" href="02_uidesktop.html">2. Функции UIDesktop</a></li>
<li class="toctree-l1"><a class="reference internal" href="03_uiweb.html">3. Функции UIWeb</a></li>
<li class="toctree-l1"><a class="reference internal" href="04_keyboard.html">4. Функции Keyboard</a></li>
<li class="toctree-l1"><a class="reference internal" href="05_clipboard.html">5. Функции Clipboard</a></li>
<li class="toctree-l1 current"><a class="current reference internal" href="#">6. Функции Mouse</a><ul>
<li class="toctree-l2"><a class="reference internal" href="#id1">Общее</a></li>
<li class="toctree-l2"><a class="reference internal" href="#module-pyOpenRPA.Robot.Mouse">Описание функций</a></li>
<li class="toctree-l2"><a class="reference internal" href="#id3">Быстрая навигация</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="07_image.html">7. Image</a></li>
<li class="toctree-l1"><a class="reference internal" href="07_image.html">7. Функции Image</a></li>
<li class="toctree-l1"><a class="reference internal" href="08_HowToUse.html">8. Как использовать?</a></li>
<li class="toctree-l1"><a class="reference internal" href="09_Dependencies.html">9. Зависимости</a></li>
</ul>
<p class="caption"><span class="caption-text">МОДУЛЬ СТУДИЯ</span></p>
<ul>
@ -116,20 +116,19 @@
</ul>
<p class="caption"><span class="caption-text">МОДУЛЬ ОРКЕСТРАТОР</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../Orchestrator/01_Orchestrator.html">1. Description</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Orchestrator/02_Defs.html">2. Defs</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Orchestrator/03_gSettingsTemplate.html">3. gSettings Template</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Orchestrator/04_HowToUse.html">4. How to use</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Orchestrator/05_UAC.html">5. UAC - User Access Control</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Orchestrator/06_Defs%20Managers.html">6. Defs Managers</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Orchestrator/01_Orchestrator.html">1. Описание</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Orchestrator/02_Defs.html">2. Функции</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Orchestrator/03_gSettingsTemplate.html">3. Настройки GSettings (шаблон)</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Orchestrator/04_HowToUse.html">4. Как использовать?</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Orchestrator/05_UAC.html">5. Права доступа пользователей UAC</a></li>
</ul>
<p class="caption"><span class="caption-text">МОДУЛЬ АГЕНТ</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../Agent/02_Defs.html">2. Defs</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Agent/02_Defs.html">2. Функции</a></li>
</ul>
<p class="caption"><span class="caption-text">ИНСТРУМЕНТЫ</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../Tools/02_Defs.html">2. Defs StopSafe</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Tools/02_Defs.html">2. Функции StopSafe</a></li>
</ul>
@ -178,7 +177,7 @@
<li><a href="../index.html" class="icon icon-home"></a> &raquo;</li>
<li>6. Mouse</li>
<li>6. Функции Mouse</li>
<li class="wy-breadcrumbs-aside">
@ -198,463 +197,213 @@
<div itemprop="articleBody">
<div class="section" id="mouse">
<span id="module-robot-mouse"></span><h1>6. Mouse<a class="headerlink" href="#mouse" title="Ссылка на этот заголовок"></a></h1>
<p>Here you can find the functions description for interaction with desktop GUI applications</p>
<p>How to use both x32 and x64 python processes (it can be helpfully, if another app GUI is on another bitness than your app)</p>
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="kn">from</span> <span class="nn">pyOpenRPA.Robot</span> <span class="kn">import</span> <span class="n">UIDesktop</span>
<span class="c1">#Section for robot init</span>
<span class="n">lPyOpenRPA_SettingsDict</span> <span class="o">=</span> <span class="p">{</span>
<span class="s2">&quot;Python32FullPath&quot;</span><span class="p">:</span> <span class="s2">&quot;..</span><span class="se">\\</span><span class="s2">Resources</span><span class="se">\\</span><span class="s2">WPy32-3720</span><span class="se">\\</span><span class="s2">python-3.7.2</span><span class="se">\\</span><span class="s2">python.exe&quot;</span><span class="p">,</span> <span class="c1">#Set from user: &quot;..\\Resources\\WPy32-3720\\python-3.7.2\\OpenRPARobotGUIx32.exe&quot;</span>
<span class="s2">&quot;Python64FullPath&quot;</span><span class="p">:</span> <span class="s2">&quot;..</span><span class="se">\\</span><span class="s2">Resources</span><span class="se">\\</span><span class="s2">WPy64-3720</span><span class="se">\\</span><span class="s2">python-3.7.2.amd64</span><span class="se">\\</span><span class="s2">python.exe&quot;</span><span class="p">,</span> <span class="c1">#Set from user</span>
<span class="s2">&quot;Python32ProcessName&quot;</span><span class="p">:</span> <span class="s2">&quot;pyOpenRPA_UIDesktopX32.exe&quot;</span><span class="p">,</span> <span class="c1">#Config set once</span>
<span class="s2">&quot;Python64ProcessName&quot;</span><span class="p">:</span> <span class="s2">&quot;pyOpenRPA_UIDesktopX64.exe&quot;</span> <span class="c1">#Config set once</span>
<span class="p">}</span>
<span class="c1"># Init the pyOpenRPA configuration</span>
<span class="n">UIDesktop</span><span class="o">.</span><span class="n">Utils</span><span class="o">.</span><span class="n">ProcessBitness</span><span class="o">.</span><span class="n">SettingsInit</span><span class="p">(</span><span class="n">lPyOpenRPA_SettingsDict</span><span class="p">)</span>
<span class="c1"># Now you can use pyOpenRPA with both bitness.</span>
</pre></div>
<span id="module-robot-mouse"></span><h1>6. Функции Mouse<a class="headerlink" href="#mouse" title="Ссылка на этот заголовок"></a></h1>
<div class="section" id="id1">
<h2>Общее<a class="headerlink" href="#id1" title="Ссылка на этот заголовок"></a></h2>
</div>
<span class="target" id="module-pyOpenRPA.Robot.UIDesktop"></span><p><strong>Functions:</strong></p>
<div class="section" id="module-pyOpenRPA.Robot.Mouse">
<span id="id2"></span><h2>Описание функций<a class="headerlink" href="#module-pyOpenRPA.Robot.Mouse" title="Ссылка на этот заголовок"></a></h2>
<p><strong>Functions:</strong></p>
<table class="longtable docutils align-default">
<colgroup>
<col style="width: 10%" />
<col style="width: 90%" />
</colgroup>
<tbody>
<tr class="row-odd"><td><p><a class="reference internal" href="07_image.html#pyOpenRPA.Robot.UIDesktop.Get_OSBitnessInt" title="pyOpenRPA.Robot.UIDesktop.Get_OSBitnessInt"><code class="xref py py-obj docutils literal notranslate"><span class="pre">Get_OSBitnessInt</span></code></a>()</p></td>
<td><p>Detect OS bitness.</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="07_image.html#pyOpenRPA.Robot.UIDesktop.PWASpecification_Get_PWAApplication" title="pyOpenRPA.Robot.UIDesktop.PWASpecification_Get_PWAApplication"><code class="xref py py-obj docutils literal notranslate"><span class="pre">PWASpecification_Get_PWAApplication</span></code></a>(…)</p></td>
<td><p>#Backend selection - attribute «backend» («win32» || «uia») in 1-st list element</p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="07_image.html#pyOpenRPA.Robot.UIDesktop.PWASpecification_Get_UIO" title="pyOpenRPA.Robot.UIDesktop.PWASpecification_Get_UIO"><code class="xref py py-obj docutils literal notranslate"><span class="pre">PWASpecification_Get_UIO</span></code></a>(…)</p></td>
<td><p>#Backend def selection - attribute «backend» («win32» || «uia») in 1-st list element #old name - GetControl</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="07_image.html#pyOpenRPA.Robot.UIDesktop.UIOSelectorSecs_WaitAppear_Bool" title="pyOpenRPA.Robot.UIDesktop.UIOSelectorSecs_WaitAppear_Bool"><code class="xref py py-obj docutils literal notranslate"><span class="pre">UIOSelectorSecs_WaitAppear_Bool</span></code></a>(…)</p></td>
<td><p>Wait for UI object will appear in GUI for inWaitSecs seconds.</p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="07_image.html#pyOpenRPA.Robot.UIDesktop.UIOSelectorSecs_WaitDisappear_Bool" title="pyOpenRPA.Robot.UIDesktop.UIOSelectorSecs_WaitDisappear_Bool"><code class="xref py py-obj docutils literal notranslate"><span class="pre">UIOSelectorSecs_WaitDisappear_Bool</span></code></a>(…)</p></td>
<td><p>Wait for UI object will disappear in GUI for inWaitSecs seconds.</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="07_image.html#pyOpenRPA.Robot.UIDesktop.UIOSelectorUIOActivity_Run_Dict" title="pyOpenRPA.Robot.UIDesktop.UIOSelectorUIOActivity_Run_Dict"><code class="xref py py-obj docutils literal notranslate"><span class="pre">UIOSelectorUIOActivity_Run_Dict</span></code></a>(…[, …])</p></td>
<td><p>Run the activity in UIO (UI Object)</p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="07_image.html#pyOpenRPA.Robot.UIDesktop.UIOSelector_Exist_Bool" title="pyOpenRPA.Robot.UIDesktop.UIOSelector_Exist_Bool"><code class="xref py py-obj docutils literal notranslate"><span class="pre">UIOSelector_Exist_Bool</span></code></a>(inUIOSelector)</p></td>
<td><p>Check if object is exist by the UIO selector.</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="07_image.html#pyOpenRPA.Robot.UIDesktop.UIOSelector_FocusHighlight" title="pyOpenRPA.Robot.UIDesktop.UIOSelector_FocusHighlight"><code class="xref py py-obj docutils literal notranslate"><span class="pre">UIOSelector_FocusHighlight</span></code></a>(inUIOSelector)</p></td>
<td><p>Set focus and highlight (draw outline) the element (in app) by the UIO selector.</p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="07_image.html#pyOpenRPA.Robot.UIDesktop.UIOSelector_GetChildList_UIOList" title="pyOpenRPA.Robot.UIDesktop.UIOSelector_GetChildList_UIOList"><code class="xref py py-obj docutils literal notranslate"><span class="pre">UIOSelector_GetChildList_UIOList</span></code></a>([…])</p></td>
<td><p>Get list of child UIOs by the parent UIOSelector</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="07_image.html#pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_BitnessInt" title="pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_BitnessInt"><code class="xref py py-obj docutils literal notranslate"><span class="pre">UIOSelector_Get_BitnessInt</span></code></a>(inSpecificationList)</p></td>
<td><p>Detect process bitness by the UI Object UIO Selector.</p></td>
<tr class="row-odd"><td><p><a class="reference internal" href="#pyOpenRPA.Robot.Mouse.Click" title="pyOpenRPA.Robot.Mouse.Click"><code class="xref py py-obj docutils literal notranslate"><span class="pre">Click</span></code></a>([inXInt, inYInt, inClickCountInt, …])</p></td>
<td><p>Нажатие (вниз) кнопки мыши и затем немедленно выпуск (вверх) её.</p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="07_image.html#pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_BitnessStr" title="pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_BitnessStr"><code class="xref py py-obj docutils literal notranslate"><span class="pre">UIOSelector_Get_BitnessStr</span></code></a>(inSpecificationList)</p></td>
<td><p>Detect process bitness by the UI Object UIO Selector.</p></td>
<tr class="row-even"><td><p><a class="reference internal" href="#pyOpenRPA.Robot.Mouse.ClickDouble" title="pyOpenRPA.Robot.Mouse.ClickDouble"><code class="xref py py-obj docutils literal notranslate"><span class="pre">ClickDouble</span></code></a>([inXInt, inYInt, …])</p></td>
<td><p>Двойное нажатие левой клавиши мыши.</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="07_image.html#pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_UIO" title="pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_UIO"><code class="xref py py-obj docutils literal notranslate"><span class="pre">UIOSelector_Get_UIO</span></code></a>(inSpecificationList[, …])</p></td>
<td><p>Get the pywinauto object by the UIO selector.</p></td>
<tr class="row-odd"><td><p><a class="reference internal" href="#pyOpenRPA.Robot.Mouse.Down" title="pyOpenRPA.Robot.Mouse.Down"><code class="xref py py-obj docutils literal notranslate"><span class="pre">Down</span></code></a>([inXInt, inYInt, inButtonStr, …])</p></td>
<td><p>Переместить указатель по координатам inXInt, inYInt, после чего нажать (вниз) клавишу мыши и не отпускать до выполнения соответсвующей команды (см.</p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="07_image.html#pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_UIOActivityList" title="pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_UIOActivityList"><code class="xref py py-obj docutils literal notranslate"><span class="pre">UIOSelector_Get_UIOActivityList</span></code></a>(inUIOSelector)</p></td>
<td><p>Get the list of the UI object activities</p></td>
<tr class="row-even"><td><p><a class="reference internal" href="#pyOpenRPA.Robot.Mouse.MoveTo" title="pyOpenRPA.Robot.Mouse.MoveTo"><code class="xref py py-obj docutils literal notranslate"><span class="pre">MoveTo</span></code></a>([inXInt, inYInt, …])</p></td>
<td><p>Переместить указатель мыши на позицию inXInt, inYInt за время inMoveDurationSecFloat.</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="07_image.html#pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_UIOInfo" title="pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_UIOInfo"><code class="xref py py-obj docutils literal notranslate"><span class="pre">UIOSelector_Get_UIOInfo</span></code></a>(inUIOSelector)</p></td>
<td><p>Get the UIO dict of the attributes</p></td>
<tr class="row-odd"><td><p><a class="reference internal" href="#pyOpenRPA.Robot.Mouse.ScrollHorizontal" title="pyOpenRPA.Robot.Mouse.ScrollHorizontal"><code class="xref py py-obj docutils literal notranslate"><span class="pre">ScrollHorizontal</span></code></a>(inScrollClickCountInt[, …])</p></td>
<td><p>!ТОЛЬКО ДЛЯ LINUX! Переместить указатель мыши на позицию inXInt, inYInt и выполнить горизонтальную прокрутку (скроллинг) виртуальным колесом мыши на количество щелчков inScrollClickCountInt.</p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="07_image.html#pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_UIOList" title="pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_UIOList"><code class="xref py py-obj docutils literal notranslate"><span class="pre">UIOSelector_Get_UIOList</span></code></a>(inSpecificationList)</p></td>
<td><p>Get the UIO list by the selector</p></td>
<tr class="row-even"><td><p><a class="reference internal" href="#pyOpenRPA.Robot.Mouse.ScrollVertical" title="pyOpenRPA.Robot.Mouse.ScrollVertical"><code class="xref py py-obj docutils literal notranslate"><span class="pre">ScrollVertical</span></code></a>(inScrollClickCountInt[, …])</p></td>
<td><p>Переместить указатель мыши на позицию inXInt, inYInt и выполнить вертикальную прокрутку (скроллинг) колесом мыши на количество щелчков inScrollClickCountInt.</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="07_image.html#pyOpenRPA.Robot.UIDesktop.UIOSelector_Highlight" title="pyOpenRPA.Robot.UIDesktop.UIOSelector_Highlight"><code class="xref py py-obj docutils literal notranslate"><span class="pre">UIOSelector_Highlight</span></code></a>(inUIOSelector)</p></td>
<td><p>Highlight (draw outline) the element (in app) by the UIO selector.</p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="07_image.html#pyOpenRPA.Robot.UIDesktop.UIOSelector_SafeOtherGet_Process" title="pyOpenRPA.Robot.UIDesktop.UIOSelector_SafeOtherGet_Process"><code class="xref py py-obj docutils literal notranslate"><span class="pre">UIOSelector_SafeOtherGet_Process</span></code></a>(inUIOSelector)</p></td>
<td><p>Safe get other process or None if destination app is the other/same bitness</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="07_image.html#pyOpenRPA.Robot.UIDesktop.UIOSelector_SearchChildByMouse_UIO" title="pyOpenRPA.Robot.UIDesktop.UIOSelector_SearchChildByMouse_UIO"><code class="xref py py-obj docutils literal notranslate"><span class="pre">UIOSelector_SearchChildByMouse_UIO</span></code></a>(…)</p></td>
<td><p>UIOSelector (see description on the top of the document) #old name - AutomationSearchMouseElement</p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="07_image.html#pyOpenRPA.Robot.UIDesktop.UIOSelector_SearchChildByMouse_UIOTree" title="pyOpenRPA.Robot.UIDesktop.UIOSelector_SearchChildByMouse_UIOTree"><code class="xref py py-obj docutils literal notranslate"><span class="pre">UIOSelector_SearchChildByMouse_UIOTree</span></code></a>(…)</p></td>
<td><p>!!!!Safe call is included (you can set activity and UIDesktop will choose the bitness and return the result)!!!!!</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="07_image.html#pyOpenRPA.Robot.UIDesktop.UIOSelector_TryRestore_Dict" title="pyOpenRPA.Robot.UIDesktop.UIOSelector_TryRestore_Dict"><code class="xref py py-obj docutils literal notranslate"><span class="pre">UIOSelector_TryRestore_Dict</span></code></a>(inSpecificationList)</p></td>
<td><p>Try to restore (maximize) window, if its minimized.</p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="07_image.html#pyOpenRPA.Robot.UIDesktop.UIOSelectorsSecs_WaitAppear_List" title="pyOpenRPA.Robot.UIDesktop.UIOSelectorsSecs_WaitAppear_List"><code class="xref py py-obj docutils literal notranslate"><span class="pre">UIOSelectorsSecs_WaitAppear_List</span></code></a>(…[, …])</p></td>
<td><p>Wait for many UI object will appear in GUI for inWaitSecs seconds.</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="07_image.html#pyOpenRPA.Robot.UIDesktop.UIOSelectorsSecs_WaitDisappear_List" title="pyOpenRPA.Robot.UIDesktop.UIOSelectorsSecs_WaitDisappear_List"><code class="xref py py-obj docutils literal notranslate"><span class="pre">UIOSelectorsSecs_WaitDisappear_List</span></code></a>(…[, …])</p></td>
<td><p>Wait for many UI object will disappear in GUI for inWaitSecs seconds.</p></td>
<tr class="row-odd"><td><p><a class="reference internal" href="#pyOpenRPA.Robot.Mouse.Up" title="pyOpenRPA.Robot.Mouse.Up"><code class="xref py py-obj docutils literal notranslate"><span class="pre">Up</span></code></a>([inXInt, inYInt, inButtonStr, …])</p></td>
<td><p>Отпустить (вверх) клавишу мыши.</p></td>
</tr>
</tbody>
</table>
<dl class="py function">
<dt id="pyOpenRPA.Robot.UIDesktop.Get_OSBitnessInt">
<code class="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><code class="sig-name descname">Get_OSBitnessInt</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Robot/UIDesktop.html#Get_OSBitnessInt"><span class="viewcode-link">[исходный код]</span></a><a class="headerlink" href="#pyOpenRPA.Robot.UIDesktop.Get_OSBitnessInt" title="Ссылка на это определение"></a></dt>
<dd><p>Detect OS bitness.</p>
<dl class="field-list simple">
<dt class="field-odd">Результат</dt>
<dd class="field-odd"><p>int 32 or int 64</p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt id="pyOpenRPA.Robot.UIDesktop.PWASpecification_Get_PWAApplication">
<code class="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><code class="sig-name descname">PWASpecification_Get_PWAApplication</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inControlSpecificationArray</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Robot/UIDesktop.html#PWASpecification_Get_PWAApplication"><span class="viewcode-link">[исходный код]</span></a><a class="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>
<dl class="field-list simple">
<dt class="field-odd">Параметры</dt>
<dd class="field-odd"><p><strong>inControlSpecificationArray</strong> List of dict, dict in pywinauto.find_windows notation</p>
</dd>
<dt class="field-even">Результат</dt>
<dd class="field-even"><p>process application object</p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt id="pyOpenRPA.Robot.UIDesktop.PWASpecification_Get_UIO">
<code class="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><code class="sig-name descname">PWASpecification_Get_UIO</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inControlSpecificationArray</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Robot/UIDesktop.html#PWASpecification_Get_UIO"><span class="viewcode-link">[исходный код]</span></a><a class="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>
<dl class="field-list simple">
<dt class="field-odd">Параметры</dt>
<dd class="field-odd"><p><strong>inControlSpecificationArray</strong> List of dict, dict in pywinauto.find_windows notation</p>
</dd>
<dt class="field-even">Результат</dt>
<dd class="field-even"><p>list of UIO object</p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt id="pyOpenRPA.Robot.UIDesktop.UIOSelectorSecs_WaitAppear_Bool">
<code class="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><code class="sig-name descname">UIOSelectorSecs_WaitAppear_Bool</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inSpecificationList</span></em>, <em class="sig-param"><span class="n">inWaitSecs</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelectorSecs_WaitAppear_Bool"><span class="viewcode-link">[исходный код]</span></a><a class="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>
<dt id="pyOpenRPA.Robot.Mouse.Click">
<code class="sig-prename descclassname">pyOpenRPA.Robot.Mouse.</code><code class="sig-name descname">Click</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inXInt</span><span class="p">:</span> <span class="n">Optional<span class="p">[</span>int<span class="p">]</span></span> <span class="o">=</span> <span class="default_value">None</span></em>, <em class="sig-param"><span class="n">inYInt</span><span class="p">:</span> <span class="n">Optional<span class="p">[</span>int<span class="p">]</span></span> <span class="o">=</span> <span class="default_value">None</span></em>, <em class="sig-param"><span class="n">inClickCountInt</span><span class="p">:</span> <span class="n">int</span> <span class="o">=</span> <span class="default_value">1</span></em>, <em class="sig-param"><span class="n">inIntervalSecFloat</span><span class="p">:</span> <span class="n">float</span> <span class="o">=</span> <span class="default_value">0.0</span></em>, <em class="sig-param"><span class="n">inButtonStr</span><span class="p">:</span> <span class="n">str</span> <span class="o">=</span> <span class="default_value">'left'</span></em>, <em class="sig-param"><span class="n">inMoveDurationSecFloat</span><span class="p">:</span> <span class="n">float</span> <span class="o">=</span> <span class="default_value">0.0</span></em>, <em class="sig-param"><span class="n">inWaitAfterSecFloat</span><span class="p">:</span> <span class="n">float</span> <span class="o">=</span> <span class="default_value">0.4</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Robot/Mouse.html#Click"><span class="viewcode-link">[исходный код]</span></a><a class="headerlink" href="#pyOpenRPA.Robot.Mouse.Click" title="Ссылка на это определение"></a></dt>
<dd><p>Нажатие (вниз) кнопки мыши и затем немедленно выпуск (вверх) её. Допускается следующая параметризация. Если не указаны inXInt и inYInt - клик производится по месту нахождения указателя мыши.</p>
<p>!ВНИМАНИЕ! Отсчет координат inXInt, inYInt начинается с левого верхнего края рабочей области (экрана).</p>
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="c1"># Mouse: Взаимодействие с мышью</span>
<span class="kn">from</span> <span class="nn">pyOpenRPA.Robot</span> <span class="kn">import</span> <span class="n">Mouse</span>
<span class="n">Mouse</span><span class="o">.</span><span class="n">Click</span><span class="p">(</span><span class="mi">100</span><span class="p">,</span><span class="mi">150</span><span class="p">)</span> <span class="c1">#Выполнить нажатие левой клавиши мыши на экране по координатам: X(гор) 100px, Y(вер) 150px.</span>
</pre></div>
</div>
<dl class="field-list simple">
<dt class="field-odd">Параметры</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>inSpecificationList</strong> UIOSelector. Example: [{«title»:»notepad»},{«title»:»OK»}]</p></li>
<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>
<dt class="field-even">Результат</dt>
<dd class="field-even"><p>True - UI object will appear. False - else case</p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt id="pyOpenRPA.Robot.UIDesktop.UIOSelectorSecs_WaitDisappear_Bool">
<code class="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><code class="sig-name descname">UIOSelectorSecs_WaitDisappear_Bool</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inSpecificationList</span></em>, <em class="sig-param"><span class="n">inWaitSecs</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelectorSecs_WaitDisappear_Bool"><span class="viewcode-link">[исходный код]</span></a><a class="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>
<dt id="pyOpenRPA.Robot.Mouse.ClickDouble">
<code class="sig-prename descclassname">pyOpenRPA.Robot.Mouse.</code><code class="sig-name descname">ClickDouble</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inXInt</span><span class="p">:</span> <span class="n">Optional<span class="p">[</span>int<span class="p">]</span></span> <span class="o">=</span> <span class="default_value">None</span></em>, <em class="sig-param"><span class="n">inYInt</span><span class="p">:</span> <span class="n">Optional<span class="p">[</span>int<span class="p">]</span></span> <span class="o">=</span> <span class="default_value">None</span></em>, <em class="sig-param"><span class="n">inWaitAfterSecFloat</span><span class="p">:</span> <span class="n">float</span> <span class="o">=</span> <span class="default_value">0.4</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Robot/Mouse.html#ClickDouble"><span class="viewcode-link">[исходный код]</span></a><a class="headerlink" href="#pyOpenRPA.Robot.Mouse.ClickDouble" title="Ссылка на это определение"></a></dt>
<dd><p>Двойное нажатие левой клавиши мыши. Данное действие аналогично вызову функции (см. ниже).</p>
<p>!ВНИМАНИЕ! Отсчет координат inXInt, inYInt начинается с левого верхнего края рабочей области (экрана).</p>
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="c1"># Mouse: Взаимодействие с мышью</span>
<span class="kn">from</span> <span class="nn">pyOpenRPA.Robot</span> <span class="kn">import</span> <span class="n">Mouse</span>
<span class="n">Mouse</span><span class="o">.</span><span class="n">ClickDouble</span><span class="p">(</span><span class="mi">100</span><span class="p">,</span><span class="mi">150</span><span class="p">)</span> <span class="c1">#Выполнить двойное нажатие левой клавиши мыши на экране по координатам: X(гор) 100px, Y(вер) 150px.</span>
</pre></div>
</div>
<dl class="field-list simple">
<dt class="field-odd">Параметры</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>inSpecificationList</strong> UIOSelector.
Example: [{«title»:»notepad»},{«title»:»OK»}]</p></li>
<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>
<dt class="field-even">Результат</dt>
<dd class="field-even"><p>True - UI object will disappear. False - else case</p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt id="pyOpenRPA.Robot.UIDesktop.UIOSelectorUIOActivity_Run_Dict">
<code class="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><code class="sig-name descname">UIOSelectorUIOActivity_Run_Dict</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inUIOSelector</span></em>, <em class="sig-param"><span class="n">inActionName</span></em>, <em class="sig-param"><span class="n">inArgumentList</span><span class="o">=</span><span class="default_value">None</span></em>, <em class="sig-param"><span class="n">inkwArgumentObject</span><span class="o">=</span><span class="default_value">None</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelectorUIOActivity_Run_Dict"><span class="viewcode-link">[исходный код]</span></a><a class="headerlink" href="#pyOpenRPA.Robot.UIDesktop.UIOSelectorUIOActivity_Run_Dict" title="Ссылка на это определение"></a></dt>
<dd><p>Run the activity in UIO (UI Object)</p>
<dt id="pyOpenRPA.Robot.Mouse.Down">
<code class="sig-prename descclassname">pyOpenRPA.Robot.Mouse.</code><code class="sig-name descname">Down</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inXInt</span><span class="p">:</span> <span class="n">Optional<span class="p">[</span>int<span class="p">]</span></span> <span class="o">=</span> <span class="default_value">None</span></em>, <em class="sig-param"><span class="n">inYInt</span><span class="p">:</span> <span class="n">Optional<span class="p">[</span>int<span class="p">]</span></span> <span class="o">=</span> <span class="default_value">None</span></em>, <em class="sig-param"><span class="n">inButtonStr</span><span class="p">:</span> <span class="n">str</span> <span class="o">=</span> <span class="default_value">'left'</span></em>, <em class="sig-param"><span class="n">inWaitAfterSecFloat</span><span class="p">:</span> <span class="n">float</span> <span class="o">=</span> <span class="default_value">0.4</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Robot/Mouse.html#Down"><span class="viewcode-link">[исходный код]</span></a><a class="headerlink" href="#pyOpenRPA.Robot.Mouse.Down" title="Ссылка на это определение"></a></dt>
<dd><p>Переместить указатель по координатам inXInt, inYInt, после чего нажать (вниз) клавишу мыши и не отпускать до выполнения соответсвующей команды (см. Up). Если координаты inXInt, inYInt не переданы - нажатие происходит на тех координатах X/Y, на которых указатель мыши находится.</p>
<p>!ВНИМАНИЕ! Отсчет координат inXInt, inYInt начинается с левого верхнего края рабочей области (экрана).</p>
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="c1"># Mouse: Взаимодействие с мышью</span>
<span class="kn">from</span> <span class="nn">pyOpenRPA.Robot</span> <span class="kn">import</span> <span class="n">Mouse</span>
<span class="n">Mouse</span><span class="o">.</span><span class="n">Down</span><span class="p">()</span> <span class="c1">#Опустить левую клавишу мыши</span>
</pre></div>
</div>
<dl class="field-list simple">
<dt class="field-odd">Параметры</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>inUIOSelector</strong> UIOSelector - List of items, which contains condition attributes</p></li>
<li><p><strong>inActionName</strong> UIOActivity (name) activity name string from Pywinauto</p></li>
<li><p><strong>inArgumentList</strong> </p></li>
<li><p><strong>inkwArgumentObject</strong> </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>
<dt class="field-even">Результат</dt>
<dd class="field-even"><p></p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt id="pyOpenRPA.Robot.UIDesktop.UIOSelector_Exist_Bool">
<code class="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><code class="sig-name descname">UIOSelector_Exist_Bool</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inUIOSelector</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_Exist_Bool"><span class="viewcode-link">[исходный код]</span></a><a class="headerlink" href="#pyOpenRPA.Robot.UIDesktop.UIOSelector_Exist_Bool" title="Ссылка на это определение"></a></dt>
<dd><p>Check if object is exist by the UIO selector.</p>
<dl class="field-list simple">
<dt class="field-odd">Параметры</dt>
<dd class="field-odd"><p><strong>inUIOSelector</strong> </p>
</dd>
<dt class="field-even">Результат</dt>
<dd class="field-even"><p>True - Object is exist. False - else case</p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt id="pyOpenRPA.Robot.UIDesktop.UIOSelector_FocusHighlight">
<code class="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><code class="sig-name descname">UIOSelector_FocusHighlight</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inUIOSelector</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_FocusHighlight"><span class="viewcode-link">[исходный код]</span></a><a class="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>
<dl class="field-list simple">
<dt class="field-odd">Параметры</dt>
<dd class="field-odd"><p><strong>inUIOSelector</strong> UIOSelector - List of items, which contains condition attributes</p>
</dd>
<dt class="field-even">Результат</dt>
<dd class="field-even"><p></p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt id="pyOpenRPA.Robot.UIDesktop.UIOSelector_GetChildList_UIOList">
<code class="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><code class="sig-name descname">UIOSelector_GetChildList_UIOList</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inUIOSelector</span><span class="o">=</span><span class="default_value">None</span></em>, <em class="sig-param"><span class="n">inBackend</span><span class="o">=</span><span class="default_value">'win32'</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_GetChildList_UIOList"><span class="viewcode-link">[исходный код]</span></a><a class="headerlink" href="#pyOpenRPA.Robot.UIDesktop.UIOSelector_GetChildList_UIOList" title="Ссылка на это определение"></a></dt>
<dd><p>Get list of child UIOs by the parent UIOSelector</p>
<dt id="pyOpenRPA.Robot.Mouse.MoveTo">
<code class="sig-prename descclassname">pyOpenRPA.Robot.Mouse.</code><code class="sig-name descname">MoveTo</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inXInt</span><span class="o">=</span><span class="default_value">None</span></em>, <em class="sig-param"><span class="n">inYInt</span><span class="o">=</span><span class="default_value">None</span></em>, <em class="sig-param"><span class="n">inMoveDurationSecFloat</span><span class="p">:</span> <span class="n">float</span> <span class="o">=</span> <span class="default_value">0.0</span></em>, <em class="sig-param"><span class="n">inWaitAfterSecFloat</span><span class="p">:</span> <span class="n">float</span> <span class="o">=</span> <span class="default_value">0.4</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Robot/Mouse.html#MoveTo"><span class="viewcode-link">[исходный код]</span></a><a class="headerlink" href="#pyOpenRPA.Robot.Mouse.MoveTo" title="Ссылка на это определение"></a></dt>
<dd><p>Переместить указатель мыши на позицию inXInt, inYInt за время inMoveDurationSecFloat.</p>
<p>!ВНИМАНИЕ! Отсчет координат inXInt, inYInt начинается с левого верхнего края рабочей области (экрана).</p>
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="c1"># Mouse: Взаимодействие с мышью</span>
<span class="kn">from</span> <span class="nn">pyOpenRPA.Robot</span> <span class="kn">import</span> <span class="n">Mouse</span>
<span class="n">Mouse</span><span class="o">.</span><span class="n">MoveTo</span><span class="p">(</span><span class="n">inXInt</span><span class="o">=</span><span class="mi">100</span><span class="p">,</span> <span class="n">inYInt</span><span class="o">=</span><span class="mi">200</span><span class="p">)</span> <span class="c1">#Переместить указатель мыши по координатам: X(гор) 100, Y(вер) 200</span>
</pre></div>
</div>
<dl class="field-list simple">
<dt class="field-odd">Параметры</dt>
<dd class="field-odd"><ul class="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>
</ul>
</dd>
<dt class="field-even">Результат</dt>
<dd class="field-even"><p></p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt id="pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_BitnessInt">
<code class="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><code class="sig-name descname">UIOSelector_Get_BitnessInt</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inSpecificationList</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_Get_BitnessInt"><span class="viewcode-link">[исходный код]</span></a><a class="headerlink" href="#pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_BitnessInt" title="Ссылка на это определение"></a></dt>
<dd><p>Detect process bitness by the UI Object UIO Selector.</p>
<dl class="field-list simple">
<dt class="field-odd">Параметры</dt>
<dd class="field-odd"><p><strong>inSpecificationList</strong> UIOSelector. Example: [{«title»:»notepad»},{«title»:»OK»}]</p>
</dd>
<dt class="field-even">Результат</dt>
<dd class="field-even"><p>int 32 or int 64</p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt id="pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_BitnessStr">
<code class="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><code class="sig-name descname">UIOSelector_Get_BitnessStr</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inSpecificationList</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_Get_BitnessStr"><span class="viewcode-link">[исходный код]</span></a><a class="headerlink" href="#pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_BitnessStr" title="Ссылка на это определение"></a></dt>
<dd><p>Detect process bitness by the UI Object UIO Selector.</p>
<dl class="field-list simple">
<dt class="field-odd">Параметры</dt>
<dd class="field-odd"><p><strong>inSpecificationList</strong> UIOSelector. Example: [{«title»:»notepad»},{«title»:»OK»}]</p>
</dd>
<dt class="field-even">Результат</dt>
<dd class="field-even"><p>str «32» or str «64»</p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt id="pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_UIO">
<code class="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><code class="sig-name descname">UIOSelector_Get_UIO</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inSpecificationList</span></em>, <em class="sig-param"><span class="n">inElement</span><span class="o">=</span><span class="default_value">None</span></em>, <em class="sig-param"><span class="n">inFlagRaiseException</span><span class="o">=</span><span class="default_value">True</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_Get_UIO"><span class="viewcode-link">[исходный код]</span></a><a class="headerlink" href="#pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_UIO" title="Ссылка на это определение"></a></dt>
<dd><p>Get the pywinauto object by the UIO selector.</p>
<dt id="pyOpenRPA.Robot.Mouse.ScrollHorizontal">
<code class="sig-prename descclassname">pyOpenRPA.Robot.Mouse.</code><code class="sig-name descname">ScrollHorizontal</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inScrollClickCountInt</span></em>, <em class="sig-param"><span class="n">inXInt</span><span class="o">=</span><span class="default_value">None</span></em>, <em class="sig-param"><span class="n">inYInt</span><span class="o">=</span><span class="default_value">None</span></em>, <em class="sig-param"><span class="n">inWaitAfterSecFloat</span><span class="p">:</span> <span class="n">float</span> <span class="o">=</span> <span class="default_value">0.4</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Robot/Mouse.html#ScrollHorizontal"><span class="viewcode-link">[исходный код]</span></a><a class="headerlink" href="#pyOpenRPA.Robot.Mouse.ScrollHorizontal" title="Ссылка на это определение"></a></dt>
<dd><p>!ТОЛЬКО ДЛЯ LINUX! Переместить указатель мыши на позицию inXInt, inYInt и выполнить горизонтальную прокрутку (скроллинг) виртуальным колесом мыши на количество щелчков inScrollClickCountInt.</p>
<p>!ВНИМАНИЕ! Отсчет координат inXInt, inYInt начинается с левого верхнего края рабочей области (экрана).</p>
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="c1"># Mouse: Взаимодействие с мышью</span>
<span class="kn">from</span> <span class="nn">pyOpenRPA.Robot</span> <span class="kn">import</span> <span class="n">Mouse</span>
<span class="n">Mouse</span><span class="o">.</span><span class="n">ScrollHorizontal</span><span class="p">(</span><span class="mi">100</span><span class="p">,</span> <span class="n">inXInt</span><span class="o">=</span><span class="mi">100</span><span class="p">,</span> <span class="n">inYInt</span><span class="o">=</span><span class="mi">200</span><span class="p">)</span> <span class="c1">#Крутить колесо мыши вниз на 100 кликов по координатам: X(гор) 100, Y(вер) 200</span>
<span class="n">Mouse</span><span class="o">.</span><span class="n">ScrollHorizontal</span><span class="p">(</span><span class="o">-</span><span class="mi">100</span><span class="p">)</span> <span class="c1">#Крутить колесо мыши вверх на 100 кликов по текущим координатам указателя мыши.</span>
</pre></div>
</div>
<dl class="field-list simple">
<dt class="field-odd">Параметры</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>inSpecificationList</strong> </p></li>
<li><p><strong>inElement</strong> </p></li>
<li><p><strong>inFlagRaiseException</strong> </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>
</ul>
</dd>
<dt class="field-even">Результат</dt>
<dd class="field-even"><p></p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt id="pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_UIOActivityList">
<code class="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><code class="sig-name descname">UIOSelector_Get_UIOActivityList</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inUIOSelector</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_Get_UIOActivityList"><span class="viewcode-link">[исходный код]</span></a><a class="headerlink" href="#pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_UIOActivityList" title="Ссылка на это определение"></a></dt>
<dd><p>Get the list of the UI object activities</p>
<dl class="field-list simple">
<dt class="field-odd">Параметры</dt>
<dd class="field-odd"><p><strong>inUIOSelector</strong> UIOSelector - List of items, which contains condition attributes</p>
</dd>
<dt class="field-even">Результат</dt>
<dd class="field-even"><p></p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt id="pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_UIOInfo">
<code class="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><code class="sig-name descname">UIOSelector_Get_UIOInfo</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inUIOSelector</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_Get_UIOInfo"><span class="viewcode-link">[исходный код]</span></a><a class="headerlink" href="#pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_UIOInfo" title="Ссылка на это определение"></a></dt>
<dd><p>Get the UIO dict of the attributes</p>
<dl class="field-list simple">
<dt class="field-odd">Параметры</dt>
<dd class="field-odd"><p><strong>inUIOSelector</strong> UIOSelector - List of items, which contains condition attributes</p>
</dd>
<dt class="field-even">Результат</dt>
<dd class="field-even"><p></p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt id="pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_UIOList">
<code class="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><code class="sig-name descname">UIOSelector_Get_UIOList</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inSpecificationList</span></em>, <em class="sig-param"><span class="n">inElement</span><span class="o">=</span><span class="default_value">None</span></em>, <em class="sig-param"><span class="n">inFlagRaiseException</span><span class="o">=</span><span class="default_value">True</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_Get_UIOList"><span class="viewcode-link">[исходный код]</span></a><a class="headerlink" href="#pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_UIOList" title="Ссылка на это определение"></a></dt>
<dd><p>Get the UIO list by the selector</p>
<dt id="pyOpenRPA.Robot.Mouse.ScrollVertical">
<code class="sig-prename descclassname">pyOpenRPA.Robot.Mouse.</code><code class="sig-name descname">ScrollVertical</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inScrollClickCountInt</span></em>, <em class="sig-param"><span class="n">inXInt</span><span class="o">=</span><span class="default_value">None</span></em>, <em class="sig-param"><span class="n">inYInt</span><span class="o">=</span><span class="default_value">None</span></em>, <em class="sig-param"><span class="n">inWaitAfterSecFloat</span><span class="p">:</span> <span class="n">float</span> <span class="o">=</span> <span class="default_value">0.4</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Robot/Mouse.html#ScrollVertical"><span class="viewcode-link">[исходный код]</span></a><a class="headerlink" href="#pyOpenRPA.Robot.Mouse.ScrollVertical" title="Ссылка на это определение"></a></dt>
<dd><p>Переместить указатель мыши на позицию inXInt, inYInt и выполнить вертикальную прокрутку (скроллинг) колесом мыши на количество щелчков inScrollClickCountInt.</p>
<p>!ВНИМАНИЕ! Отсчет координат inXInt, inYInt начинается с левого верхнего края рабочей области (экрана).</p>
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="c1"># Mouse: Взаимодействие с мышью</span>
<span class="kn">from</span> <span class="nn">pyOpenRPA.Robot</span> <span class="kn">import</span> <span class="n">Mouse</span>
<span class="n">Mouse</span><span class="o">.</span><span class="n">ScrollVertical</span><span class="p">(</span><span class="mi">100</span><span class="p">,</span> <span class="n">inXInt</span><span class="o">=</span><span class="mi">100</span><span class="p">,</span> <span class="n">inYInt</span><span class="o">=</span><span class="mi">200</span><span class="p">)</span> <span class="c1">#Крутить колесо мыши вниз на 100 кликов по координатам: X(гор) 100, Y(вер) 200</span>
<span class="n">Mouse</span><span class="o">.</span><span class="n">ScrollVertical</span><span class="p">(</span><span class="o">-</span><span class="mi">100</span><span class="p">)</span> <span class="c1">#Крутить колесо мыши вверх на 100 кликов по текущим координатам указателя мыши.</span>
</pre></div>
</div>
<dl class="field-list simple">
<dt class="field-odd">Параметры</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>inSpecificationList</strong> UIO Selector</p></li>
<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>
</ul>
</dd>
<dt class="field-even">Результат</dt>
<dd class="field-even"><p></p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt id="pyOpenRPA.Robot.UIDesktop.UIOSelector_Highlight">
<code class="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><code class="sig-name descname">UIOSelector_Highlight</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inUIOSelector</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_Highlight"><span class="viewcode-link">[исходный код]</span></a><a class="headerlink" href="#pyOpenRPA.Robot.UIDesktop.UIOSelector_Highlight" title="Ссылка на это определение"></a></dt>
<dd><p>Highlight (draw outline) the element (in app) by the UIO selector.</p>
<dl class="field-list simple">
<dt class="field-odd">Параметры</dt>
<dd class="field-odd"><p><strong>inUIOSelector</strong> UIOSelector - List of items, which contains condition attributes</p>
</dd>
<dt class="field-even">Результат</dt>
<dd class="field-even"><p></p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt id="pyOpenRPA.Robot.UIDesktop.UIOSelector_SafeOtherGet_Process">
<code class="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><code class="sig-name descname">UIOSelector_SafeOtherGet_Process</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inUIOSelector</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_SafeOtherGet_Process"><span class="viewcode-link">[исходный код]</span></a><a class="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>
<dl class="field-list simple">
<dt class="field-odd">Параметры</dt>
<dd class="field-odd"><p><strong>inUIOSelector</strong> UIO Selector of the UI object</p>
</dd>
<dt class="field-even">Результат</dt>
<dd class="field-even"><p>None or process (of the other bitness)</p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt id="pyOpenRPA.Robot.UIDesktop.UIOSelector_SearchChildByMouse_UIO">
<code class="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><code class="sig-name descname">UIOSelector_SearchChildByMouse_UIO</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inElementSpecification</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_SearchChildByMouse_UIO"><span class="viewcode-link">[исходный код]</span></a><a class="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>
<dl class="field-list simple">
<dt class="field-odd">Параметры</dt>
<dd class="field-odd"><p><strong>inElementSpecification</strong> UIOSelector of the UI Object</p>
</dd>
<dt class="field-even">Результат</dt>
<dd class="field-even"><p>pywinauto element wrapper instance or None</p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt id="pyOpenRPA.Robot.UIDesktop.UIOSelector_SearchChildByMouse_UIOTree">
<code class="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><code class="sig-name descname">UIOSelector_SearchChildByMouse_UIOTree</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inUIOSelector</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_SearchChildByMouse_UIOTree"><span class="viewcode-link">[исходный код]</span></a><a class="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>
<dl class="field-list simple">
<dt class="field-odd">Параметры</dt>
<dd class="field-odd"><p><strong>inUIOSelector</strong> UIOSelector of the UI Object</p>
</dd>
<dt class="field-even">Результат</dt>
<dd class="field-even"><p><p>?</p>
</p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt id="pyOpenRPA.Robot.UIDesktop.UIOSelector_TryRestore_Dict">
<code class="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><code class="sig-name descname">UIOSelector_TryRestore_Dict</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inSpecificationList</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_TryRestore_Dict"><span class="viewcode-link">[исходный код]</span></a><a class="headerlink" href="#pyOpenRPA.Robot.UIDesktop.UIOSelector_TryRestore_Dict" title="Ссылка на это определение"></a></dt>
<dd><p>Try to restore (maximize) window, if its minimized. (!IMPORTANT! When use UIA framework minimized windows doesnt appear by the UIOSelector. You need to try restore windows and after that try to get UIO)</p>
<dl class="field-list simple">
<dt class="field-odd">Параметры</dt>
<dd class="field-odd"><p><strong>inSpecificationList</strong> UIOSelector - List of items, which contains condition attributes</p>
</dd>
<dt class="field-even">Результат</dt>
<dd class="field-even"><p></p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt id="pyOpenRPA.Robot.UIDesktop.UIOSelectorsSecs_WaitAppear_List">
<code class="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><code class="sig-name descname">UIOSelectorsSecs_WaitAppear_List</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inSpecificationListList</span></em>, <em class="sig-param"><span class="n">inWaitSecs</span></em>, <em class="sig-param"><span class="n">inFlagWaitAllInMoment</span><span class="o">=</span><span class="default_value">False</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelectorsSecs_WaitAppear_List"><span class="viewcode-link">[исходный код]</span></a><a class="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>
<dt id="pyOpenRPA.Robot.Mouse.Up">
<code class="sig-prename descclassname">pyOpenRPA.Robot.Mouse.</code><code class="sig-name descname">Up</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inXInt</span><span class="p">:</span> <span class="n">Optional<span class="p">[</span>int<span class="p">]</span></span> <span class="o">=</span> <span class="default_value">None</span></em>, <em class="sig-param"><span class="n">inYInt</span><span class="p">:</span> <span class="n">Optional<span class="p">[</span>int<span class="p">]</span></span> <span class="o">=</span> <span class="default_value">None</span></em>, <em class="sig-param"><span class="n">inButtonStr</span><span class="p">:</span> <span class="n">str</span> <span class="o">=</span> <span class="default_value">'left'</span></em>, <em class="sig-param"><span class="n">inWaitAfterSecFloat</span><span class="p">:</span> <span class="n">float</span> <span class="o">=</span> <span class="default_value">0.4</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Robot/Mouse.html#Up"><span class="viewcode-link">[исходный код]</span></a><a class="headerlink" href="#pyOpenRPA.Robot.Mouse.Up" title="Ссылка на это определение"></a></dt>
<dd><p>Отпустить (вверх) клавишу мыши. Если координаты inXInt, inYInt не переданы - нажатие происходит на тех координатах X/Y, на которых указатель мыши находится.</p>
<p>!ВНИМАНИЕ! Отсчет координат inXInt, inYInt начинается с левого верхнего края рабочей области.</p>
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="c1"># Mouse: Взаимодействие с мышью</span>
<span class="kn">from</span> <span class="nn">pyOpenRPA.Robot</span> <span class="kn">import</span> <span class="n">Mouse</span>
<span class="n">Mouse</span><span class="o">.</span><span class="n">Up</span><span class="p">(</span><span class="n">inButtonStr</span><span class="p">:</span><span class="nb">str</span><span class="o">=</span><span class="s1">&#39;right&#39;</span><span class="p">)</span> <span class="c1">#Поднять правую клавишу мыши</span>
</pre></div>
</div>
<dl class="field-list simple">
<dt class="field-odd">Параметры</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>inSpecificationListList</strong> <p>UIOSelector list.
Example: [</p>
<blockquote>
<div><p>[{«title»:»notepad»},{«title»:»OK»}],
[{«title»:»notepad»},{«title»:»Cancel»}]</p>
</div></blockquote>
<p>]</p>
</p></li>
<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>
<dt class="field-even">Результат</dt>
<dd class="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>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt id="pyOpenRPA.Robot.UIDesktop.UIOSelectorsSecs_WaitDisappear_List">
<code class="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><code class="sig-name descname">UIOSelectorsSecs_WaitDisappear_List</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inSpecificationListList</span></em>, <em class="sig-param"><span class="n">inWaitSecs</span></em>, <em class="sig-param"><span class="n">inFlagWaitAllInMoment</span><span class="o">=</span><span class="default_value">False</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelectorsSecs_WaitDisappear_List"><span class="viewcode-link">[исходный код]</span></a><a class="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>
<dl class="field-list simple">
<dt class="field-odd">Параметры</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>inSpecificationListList</strong> <p>UIOSelector list.
Example: [</p>
<blockquote>
<div><p>[{«title»:»notepad»},{«title»:»OK»}],
[{«title»:»notepad»},{«title»:»Cancel»}]</p>
</div></blockquote>
<p>]</p>
</p></li>
<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>
</div>
<div class="section" id="id3">
<h2>Быстрая навигация<a class="headerlink" href="#id3" title="Ссылка на этот заголовок"></a></h2>
<ul class="simple">
<li><p><a class="reference external" href="https://t.me/pyOpenRPA">Сообщество pyOpenRPA (telegram)</a></p></li>
<li><p><a class="reference external" href="https://tenchat.ru/iMaslov?utm_source=19f2a84f-3268-437f-950c-d987ae42af24">Сообщество pyOpenRPA (tenchat)</a></p></li>
<li><p><a class="reference external" href="https://vk.com/pyopenrpa">Сообщество pyOpenRPA (вконтакте)</a></p></li>
<li><p><a class="reference external" href="https://pyopenrpa.ru/Index/pyOpenRPA_product_service.pdf">Презентация pyOpenRPA</a></p></li>
<li><p><a class="reference external" href="https://pyopenrpa.ru">Портал pyOpenRPA</a></p></li>
<li><p><a class="reference external" href="https://gitlab.com/UnicodeLabs/OpenRPA">Репозиторий pyOpenRPA</a></p></li>
</ul>
</dd>
<dt class="field-even">Результат</dt>
<dd class="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>
<dt class="field-odd">Результат</dt>
<dd class="field-odd"><p></p>
</dd>
</dl>
</dd></dl>
<div class="section" id="references">
<h2>References<a class="headerlink" href="#references" title="Ссылка на этот заголовок"></a></h2>
<p><a class="reference external" href="http://docutils.sourceforge.net/rst.html">reStructuredText</a> <a class="footnote-reference brackets" href="#id3" id="id4">1</a></p>
<dl class="footnote brackets">
<dt class="label" id="id3"><span class="brackets"><a class="fn-backref" href="#id4">1</a></span></dt>
<dd><p><a class="reference external" href="http://docutils.sourceforge.net/rst.html">http://docutils.sourceforge.net/rst.html</a></p>
</dd>
</dl>
<p> .. v1.2.12 replace:: v1.2.12
.. <a href="#id1"><span class="problematic" id="id2">|author|</span></a> replace:: Ivan Maslov &lt;<a class="reference external" href="mailto:ivan&#46;maslov&#37;&#52;&#48;unicodelabs&#46;ru">ivan<span>&#46;</span>maslov<span>&#64;</span>unicodelabs<span>&#46;</span>ru</a>&gt;</p>
<p> .. v1.2.12 replace:: v1.2.12</p>
<p></p>
</div>
</div>
@ -665,8 +414,8 @@ Example: [</p>
</div>
<footer>
<div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
<a href="07_image.html" class="btn btn-neutral float-right" title="7. Image" accesskey="n" rel="next">Следующая <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
<a href="05_clipboard.html" class="btn btn-neutral float-left" title="5. Clipboard" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Предыдущая</a>
<a href="07_image.html" class="btn btn-neutral float-right" title="7. Функции Image" accesskey="n" rel="next">Следующая <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
<a href="05_clipboard.html" class="btn btn-neutral float-left" title="5. Функции Clipboard" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Предыдущая</a>
</div>
<hr/>

@ -7,7 +7,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>7. Image &mdash; документация pyOpenRPA v1.2.12 v1.2.12</title>
<title>7. Функции Image &mdash; документация pyOpenRPA v1.2.12 v1.2.12</title>
@ -42,7 +42,7 @@
<link rel="index" title="Алфавитный указатель" href="../genindex.html" />
<link rel="search" title="Поиск" href="../search.html" />
<link rel="next" title="8. Как использовать?" href="08_HowToUse.html" />
<link rel="prev" title="6. Mouse" href="06_mouse.html" />
<link rel="prev" title="6. Функции Mouse" href="06_mouse.html" />
</head>
<body class="wy-body-for-nav">
@ -91,23 +91,22 @@
<ul>
<li class="toctree-l1"><a class="reference external" href="https://pyopenrpa.ru/wiki/guide/index">Выбрать версию</a></li>
<li class="toctree-l1"><a class="reference internal" href="../01_HowToInstall.html">1. Первый запуск</a></li>
<li class="toctree-l1"><a class="reference internal" href="../03_Copyrights_Contacts.html">2. Права &amp; Контакты</a></li>
<li class="toctree-l1"><a class="reference internal" href="../03_Copyrights_Contacts.html">2. Лицензия &amp; Контакты</a></li>
</ul>
<p class="caption"><span class="caption-text">МОДУЛЬ РОБОТ</span></p>
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="01_Robot.html">1. Описание</a></li>
<li class="toctree-l1"><a class="reference internal" href="02_Defs.html">2. Функции</a></li>
<li class="toctree-l1"><a class="reference internal" href="02_uidesktop.html">2. UIDesktop</a></li>
<li class="toctree-l1"><a class="reference internal" href="03_uiweb.html">3. UIWeb</a></li>
<li class="toctree-l1"><a class="reference internal" href="04_keyboard.html">4. Keyboard</a></li>
<li class="toctree-l1"><a class="reference internal" href="05_clipboard.html">5. Clipboard</a></li>
<li class="toctree-l1"><a class="reference internal" href="06_mouse.html">6. Mouse</a></li>
<li class="toctree-l1 current"><a class="current reference internal" href="#">7. Image</a><ul>
<li class="toctree-l2"><a class="reference internal" href="#references">References</a></li>
<li class="toctree-l1"><a class="reference internal" href="02_uidesktop.html">2. Функции UIDesktop</a></li>
<li class="toctree-l1"><a class="reference internal" href="03_uiweb.html">3. Функции UIWeb</a></li>
<li class="toctree-l1"><a class="reference internal" href="04_keyboard.html">4. Функции Keyboard</a></li>
<li class="toctree-l1"><a class="reference internal" href="05_clipboard.html">5. Функции Clipboard</a></li>
<li class="toctree-l1"><a class="reference internal" href="06_mouse.html">6. Функции Mouse</a></li>
<li class="toctree-l1 current"><a class="current reference internal" href="#">7. Функции Image</a><ul>
<li class="toctree-l2"><a class="reference internal" href="#id1">Общее</a></li>
<li class="toctree-l2"><a class="reference internal" href="#id2">Быстрая навигация</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="08_HowToUse.html">8. Как использовать?</a></li>
<li class="toctree-l1"><a class="reference internal" href="09_Dependencies.html">9. Зависимости</a></li>
</ul>
<p class="caption"><span class="caption-text">МОДУЛЬ СТУДИЯ</span></p>
<ul>
@ -116,20 +115,19 @@
</ul>
<p class="caption"><span class="caption-text">МОДУЛЬ ОРКЕСТРАТОР</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../Orchestrator/01_Orchestrator.html">1. Description</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Orchestrator/02_Defs.html">2. Defs</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Orchestrator/03_gSettingsTemplate.html">3. gSettings Template</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Orchestrator/04_HowToUse.html">4. How to use</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Orchestrator/05_UAC.html">5. UAC - User Access Control</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Orchestrator/06_Defs%20Managers.html">6. Defs Managers</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Orchestrator/01_Orchestrator.html">1. Описание</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Orchestrator/02_Defs.html">2. Функции</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Orchestrator/03_gSettingsTemplate.html">3. Настройки GSettings (шаблон)</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Orchestrator/04_HowToUse.html">4. Как использовать?</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Orchestrator/05_UAC.html">5. Права доступа пользователей UAC</a></li>
</ul>
<p class="caption"><span class="caption-text">МОДУЛЬ АГЕНТ</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../Agent/02_Defs.html">2. Defs</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Agent/02_Defs.html">2. Функции</a></li>
</ul>
<p class="caption"><span class="caption-text">ИНСТРУМЕНТЫ</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../Tools/02_Defs.html">2. Defs StopSafe</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Tools/02_Defs.html">2. Функции StopSafe</a></li>
</ul>
@ -178,7 +176,7 @@
<li><a href="../index.html" class="icon icon-home"></a> &raquo;</li>
<li>7. Image</li>
<li>7. Функции Image</li>
<li class="wy-breadcrumbs-aside">
@ -198,463 +196,26 @@
<div itemprop="articleBody">
<div class="section" id="image">
<span id="module-robot-image"></span><h1>7. Image<a class="headerlink" href="#image" title="Ссылка на этот заголовок"></a></h1>
<p>Here you can find the functions description for interaction with desktop GUI applications</p>
<p>How to use both x32 and x64 python processes (it can be helpfully, if another app GUI is on another bitness than your app)</p>
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="kn">from</span> <span class="nn">pyOpenRPA.Robot</span> <span class="kn">import</span> <span class="n">UIDesktop</span>
<span class="c1">#Section for robot init</span>
<span class="n">lPyOpenRPA_SettingsDict</span> <span class="o">=</span> <span class="p">{</span>
<span class="s2">&quot;Python32FullPath&quot;</span><span class="p">:</span> <span class="s2">&quot;..</span><span class="se">\\</span><span class="s2">Resources</span><span class="se">\\</span><span class="s2">WPy32-3720</span><span class="se">\\</span><span class="s2">python-3.7.2</span><span class="se">\\</span><span class="s2">python.exe&quot;</span><span class="p">,</span> <span class="c1">#Set from user: &quot;..\\Resources\\WPy32-3720\\python-3.7.2\\OpenRPARobotGUIx32.exe&quot;</span>
<span class="s2">&quot;Python64FullPath&quot;</span><span class="p">:</span> <span class="s2">&quot;..</span><span class="se">\\</span><span class="s2">Resources</span><span class="se">\\</span><span class="s2">WPy64-3720</span><span class="se">\\</span><span class="s2">python-3.7.2.amd64</span><span class="se">\\</span><span class="s2">python.exe&quot;</span><span class="p">,</span> <span class="c1">#Set from user</span>
<span class="s2">&quot;Python32ProcessName&quot;</span><span class="p">:</span> <span class="s2">&quot;pyOpenRPA_UIDesktopX32.exe&quot;</span><span class="p">,</span> <span class="c1">#Config set once</span>
<span class="s2">&quot;Python64ProcessName&quot;</span><span class="p">:</span> <span class="s2">&quot;pyOpenRPA_UIDesktopX64.exe&quot;</span> <span class="c1">#Config set once</span>
<span class="p">}</span>
<span class="c1"># Init the pyOpenRPA configuration</span>
<span class="n">UIDesktop</span><span class="o">.</span><span class="n">Utils</span><span class="o">.</span><span class="n">ProcessBitness</span><span class="o">.</span><span class="n">SettingsInit</span><span class="p">(</span><span class="n">lPyOpenRPA_SettingsDict</span><span class="p">)</span>
<span class="c1"># Now you can use pyOpenRPA with both bitness.</span>
</pre></div>
<span id="module-robot-image"></span><h1>7. Функции Image<a class="headerlink" href="#image" title="Ссылка на этот заголовок"></a></h1>
<div class="section" id="id1">
<h2>Общее<a class="headerlink" href="#id1" title="Ссылка на этот заголовок"></a></h2>
<p>Документация к модулю будет опубликована в Июле 2022. По всем вопросам роботизации WEB приложений обращайтесь в центр поддержки клиентов pyOpenRPA.</p>
<p>Дорогие коллеги!</p>
<p>Мы знаем, что с pyOpenRPA вы сможете существенно улучшить качество вашего бизнеса. Платформа роботизации pyOpenRPA - это разработка, которая дает возможность делать виртуальных сотрудников (программных роботов RPA) выгодными, начиная от эффекта всего в <strong>10 тыс. руб.</strong> И управлять ими будете только Вы!</p>
<p>Если у вас останутся вопросы, то вы всегда можете обратиться в центр поддержки клиентов pyOpenRPA. Контакты: <a class="reference internal" href="../03_Copyrights_Contacts.html#copyrights-contacts"><span class="std std-ref">2. Лицензия &amp; Контакты</span></a></p>
<p>pyOpenRPA - роботы помогут!</p>
</div>
<span class="target" id="module-pyOpenRPA.Robot.UIDesktop"></span><p><strong>Functions:</strong></p>
<table class="longtable docutils align-default">
<colgroup>
<col style="width: 10%" />
<col style="width: 90%" />
</colgroup>
<tbody>
<tr class="row-odd"><td><p><a class="reference internal" href="#pyOpenRPA.Robot.UIDesktop.Get_OSBitnessInt" title="pyOpenRPA.Robot.UIDesktop.Get_OSBitnessInt"><code class="xref py py-obj docutils literal notranslate"><span class="pre">Get_OSBitnessInt</span></code></a>()</p></td>
<td><p>Detect OS bitness.</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="#pyOpenRPA.Robot.UIDesktop.PWASpecification_Get_PWAApplication" title="pyOpenRPA.Robot.UIDesktop.PWASpecification_Get_PWAApplication"><code class="xref py py-obj docutils literal notranslate"><span class="pre">PWASpecification_Get_PWAApplication</span></code></a>(…)</p></td>
<td><p>#Backend selection - attribute «backend» («win32» || «uia») in 1-st list element</p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="#pyOpenRPA.Robot.UIDesktop.PWASpecification_Get_UIO" title="pyOpenRPA.Robot.UIDesktop.PWASpecification_Get_UIO"><code class="xref py py-obj docutils literal notranslate"><span class="pre">PWASpecification_Get_UIO</span></code></a>(…)</p></td>
<td><p>#Backend def selection - attribute «backend» («win32» || «uia») in 1-st list element #old name - GetControl</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="#pyOpenRPA.Robot.UIDesktop.UIOSelectorSecs_WaitAppear_Bool" title="pyOpenRPA.Robot.UIDesktop.UIOSelectorSecs_WaitAppear_Bool"><code class="xref py py-obj docutils literal notranslate"><span class="pre">UIOSelectorSecs_WaitAppear_Bool</span></code></a>(…)</p></td>
<td><p>Wait for UI object will appear in GUI for inWaitSecs seconds.</p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="#pyOpenRPA.Robot.UIDesktop.UIOSelectorSecs_WaitDisappear_Bool" title="pyOpenRPA.Robot.UIDesktop.UIOSelectorSecs_WaitDisappear_Bool"><code class="xref py py-obj docutils literal notranslate"><span class="pre">UIOSelectorSecs_WaitDisappear_Bool</span></code></a>(…)</p></td>
<td><p>Wait for UI object will disappear in GUI for inWaitSecs seconds.</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="#pyOpenRPA.Robot.UIDesktop.UIOSelectorUIOActivity_Run_Dict" title="pyOpenRPA.Robot.UIDesktop.UIOSelectorUIOActivity_Run_Dict"><code class="xref py py-obj docutils literal notranslate"><span class="pre">UIOSelectorUIOActivity_Run_Dict</span></code></a>(…[, …])</p></td>
<td><p>Run the activity in UIO (UI Object)</p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="#pyOpenRPA.Robot.UIDesktop.UIOSelector_Exist_Bool" title="pyOpenRPA.Robot.UIDesktop.UIOSelector_Exist_Bool"><code class="xref py py-obj docutils literal notranslate"><span class="pre">UIOSelector_Exist_Bool</span></code></a>(inUIOSelector)</p></td>
<td><p>Check if object is exist by the UIO selector.</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="#pyOpenRPA.Robot.UIDesktop.UIOSelector_FocusHighlight" title="pyOpenRPA.Robot.UIDesktop.UIOSelector_FocusHighlight"><code class="xref py py-obj docutils literal notranslate"><span class="pre">UIOSelector_FocusHighlight</span></code></a>(inUIOSelector)</p></td>
<td><p>Set focus and highlight (draw outline) the element (in app) by the UIO selector.</p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="#pyOpenRPA.Robot.UIDesktop.UIOSelector_GetChildList_UIOList" title="pyOpenRPA.Robot.UIDesktop.UIOSelector_GetChildList_UIOList"><code class="xref py py-obj docutils literal notranslate"><span class="pre">UIOSelector_GetChildList_UIOList</span></code></a>([…])</p></td>
<td><p>Get list of child UIOs by the parent UIOSelector</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="#pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_BitnessInt" title="pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_BitnessInt"><code class="xref py py-obj docutils literal notranslate"><span class="pre">UIOSelector_Get_BitnessInt</span></code></a>(inSpecificationList)</p></td>
<td><p>Detect process bitness by the UI Object UIO Selector.</p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="#pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_BitnessStr" title="pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_BitnessStr"><code class="xref py py-obj docutils literal notranslate"><span class="pre">UIOSelector_Get_BitnessStr</span></code></a>(inSpecificationList)</p></td>
<td><p>Detect process bitness by the UI Object UIO Selector.</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="#pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_UIO" title="pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_UIO"><code class="xref py py-obj docutils literal notranslate"><span class="pre">UIOSelector_Get_UIO</span></code></a>(inSpecificationList[, …])</p></td>
<td><p>Get the pywinauto object by the UIO selector.</p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="#pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_UIOActivityList" title="pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_UIOActivityList"><code class="xref py py-obj docutils literal notranslate"><span class="pre">UIOSelector_Get_UIOActivityList</span></code></a>(inUIOSelector)</p></td>
<td><p>Get the list of the UI object activities</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="#pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_UIOInfo" title="pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_UIOInfo"><code class="xref py py-obj docutils literal notranslate"><span class="pre">UIOSelector_Get_UIOInfo</span></code></a>(inUIOSelector)</p></td>
<td><p>Get the UIO dict of the attributes</p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="#pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_UIOList" title="pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_UIOList"><code class="xref py py-obj docutils literal notranslate"><span class="pre">UIOSelector_Get_UIOList</span></code></a>(inSpecificationList)</p></td>
<td><p>Get the UIO list by the selector</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="#pyOpenRPA.Robot.UIDesktop.UIOSelector_Highlight" title="pyOpenRPA.Robot.UIDesktop.UIOSelector_Highlight"><code class="xref py py-obj docutils literal notranslate"><span class="pre">UIOSelector_Highlight</span></code></a>(inUIOSelector)</p></td>
<td><p>Highlight (draw outline) the element (in app) by the UIO selector.</p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="#pyOpenRPA.Robot.UIDesktop.UIOSelector_SafeOtherGet_Process" title="pyOpenRPA.Robot.UIDesktop.UIOSelector_SafeOtherGet_Process"><code class="xref py py-obj docutils literal notranslate"><span class="pre">UIOSelector_SafeOtherGet_Process</span></code></a>(inUIOSelector)</p></td>
<td><p>Safe get other process or None if destination app is the other/same bitness</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="#pyOpenRPA.Robot.UIDesktop.UIOSelector_SearchChildByMouse_UIO" title="pyOpenRPA.Robot.UIDesktop.UIOSelector_SearchChildByMouse_UIO"><code class="xref py py-obj docutils literal notranslate"><span class="pre">UIOSelector_SearchChildByMouse_UIO</span></code></a>(…)</p></td>
<td><p>UIOSelector (see description on the top of the document) #old name - AutomationSearchMouseElement</p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="#pyOpenRPA.Robot.UIDesktop.UIOSelector_SearchChildByMouse_UIOTree" title="pyOpenRPA.Robot.UIDesktop.UIOSelector_SearchChildByMouse_UIOTree"><code class="xref py py-obj docutils literal notranslate"><span class="pre">UIOSelector_SearchChildByMouse_UIOTree</span></code></a>(…)</p></td>
<td><p>!!!!Safe call is included (you can set activity and UIDesktop will choose the bitness and return the result)!!!!!</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="#pyOpenRPA.Robot.UIDesktop.UIOSelector_TryRestore_Dict" title="pyOpenRPA.Robot.UIDesktop.UIOSelector_TryRestore_Dict"><code class="xref py py-obj docutils literal notranslate"><span class="pre">UIOSelector_TryRestore_Dict</span></code></a>(inSpecificationList)</p></td>
<td><p>Try to restore (maximize) window, if its minimized.</p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="#pyOpenRPA.Robot.UIDesktop.UIOSelectorsSecs_WaitAppear_List" title="pyOpenRPA.Robot.UIDesktop.UIOSelectorsSecs_WaitAppear_List"><code class="xref py py-obj docutils literal notranslate"><span class="pre">UIOSelectorsSecs_WaitAppear_List</span></code></a>(…[, …])</p></td>
<td><p>Wait for many UI object will appear in GUI for inWaitSecs seconds.</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="#pyOpenRPA.Robot.UIDesktop.UIOSelectorsSecs_WaitDisappear_List" title="pyOpenRPA.Robot.UIDesktop.UIOSelectorsSecs_WaitDisappear_List"><code class="xref py py-obj docutils literal notranslate"><span class="pre">UIOSelectorsSecs_WaitDisappear_List</span></code></a>(…[, …])</p></td>
<td><p>Wait for many UI object will disappear in GUI for inWaitSecs seconds.</p></td>
</tr>
</tbody>
</table>
<dl class="py function">
<dt id="pyOpenRPA.Robot.UIDesktop.Get_OSBitnessInt">
<code class="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><code class="sig-name descname">Get_OSBitnessInt</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Robot/UIDesktop.html#Get_OSBitnessInt"><span class="viewcode-link">[исходный код]</span></a><a class="headerlink" href="#pyOpenRPA.Robot.UIDesktop.Get_OSBitnessInt" title="Ссылка на это определение"></a></dt>
<dd><p>Detect OS bitness.</p>
<dl class="field-list simple">
<dt class="field-odd">Результат</dt>
<dd class="field-odd"><p>int 32 or int 64</p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt id="pyOpenRPA.Robot.UIDesktop.PWASpecification_Get_PWAApplication">
<code class="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><code class="sig-name descname">PWASpecification_Get_PWAApplication</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inControlSpecificationArray</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Robot/UIDesktop.html#PWASpecification_Get_PWAApplication"><span class="viewcode-link">[исходный код]</span></a><a class="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>
<dl class="field-list simple">
<dt class="field-odd">Параметры</dt>
<dd class="field-odd"><p><strong>inControlSpecificationArray</strong> List of dict, dict in pywinauto.find_windows notation</p>
</dd>
<dt class="field-even">Результат</dt>
<dd class="field-even"><p>process application object</p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt id="pyOpenRPA.Robot.UIDesktop.PWASpecification_Get_UIO">
<code class="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><code class="sig-name descname">PWASpecification_Get_UIO</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inControlSpecificationArray</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Robot/UIDesktop.html#PWASpecification_Get_UIO"><span class="viewcode-link">[исходный код]</span></a><a class="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>
<dl class="field-list simple">
<dt class="field-odd">Параметры</dt>
<dd class="field-odd"><p><strong>inControlSpecificationArray</strong> List of dict, dict in pywinauto.find_windows notation</p>
</dd>
<dt class="field-even">Результат</dt>
<dd class="field-even"><p>list of UIO object</p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt id="pyOpenRPA.Robot.UIDesktop.UIOSelectorSecs_WaitAppear_Bool">
<code class="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><code class="sig-name descname">UIOSelectorSecs_WaitAppear_Bool</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inSpecificationList</span></em>, <em class="sig-param"><span class="n">inWaitSecs</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelectorSecs_WaitAppear_Bool"><span class="viewcode-link">[исходный код]</span></a><a class="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>
<dl class="field-list simple">
<dt class="field-odd">Параметры</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>inSpecificationList</strong> UIOSelector. Example: [{«title»:»notepad»},{«title»:»OK»}]</p></li>
<li><p><strong>inWaitSecs</strong> Float value (seconds) for wait UI element appear in GUI</p></li>
<div class="section" id="id2">
<h2>Быстрая навигация<a class="headerlink" href="#id2" title="Ссылка на этот заголовок"></a></h2>
<ul class="simple">
<li><p><a class="reference external" href="https://t.me/pyOpenRPA">Сообщество pyOpenRPA (telegram)</a></p></li>
<li><p><a class="reference external" href="https://tenchat.ru/iMaslov?utm_source=19f2a84f-3268-437f-950c-d987ae42af24">Сообщество pyOpenRPA (tenchat)</a></p></li>
<li><p><a class="reference external" href="https://vk.com/pyopenrpa">Сообщество pyOpenRPA (вконтакте)</a></p></li>
<li><p><a class="reference external" href="https://pyopenrpa.ru/Index/pyOpenRPA_product_service.pdf">Презентация pyOpenRPA</a></p></li>
<li><p><a class="reference external" href="https://pyopenrpa.ru">Портал pyOpenRPA</a></p></li>
<li><p><a class="reference external" href="https://gitlab.com/UnicodeLabs/OpenRPA">Репозиторий pyOpenRPA</a></p></li>
</ul>
</dd>
<dt class="field-even">Результат</dt>
<dd class="field-even"><p>True - UI object will appear. False - else case</p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt id="pyOpenRPA.Robot.UIDesktop.UIOSelectorSecs_WaitDisappear_Bool">
<code class="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><code class="sig-name descname">UIOSelectorSecs_WaitDisappear_Bool</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inSpecificationList</span></em>, <em class="sig-param"><span class="n">inWaitSecs</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelectorSecs_WaitDisappear_Bool"><span class="viewcode-link">[исходный код]</span></a><a class="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>
<dl class="field-list simple">
<dt class="field-odd">Параметры</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>inSpecificationList</strong> UIOSelector.
Example: [{«title»:»notepad»},{«title»:»OK»}]</p></li>
<li><p><strong>inWaitSecs</strong> Float value (seconds) for wait UI element disappear in GUI</p></li>
</ul>
</dd>
<dt class="field-even">Результат</dt>
<dd class="field-even"><p>True - UI object will disappear. False - else case</p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt id="pyOpenRPA.Robot.UIDesktop.UIOSelectorUIOActivity_Run_Dict">
<code class="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><code class="sig-name descname">UIOSelectorUIOActivity_Run_Dict</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inUIOSelector</span></em>, <em class="sig-param"><span class="n">inActionName</span></em>, <em class="sig-param"><span class="n">inArgumentList</span><span class="o">=</span><span class="default_value">None</span></em>, <em class="sig-param"><span class="n">inkwArgumentObject</span><span class="o">=</span><span class="default_value">None</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelectorUIOActivity_Run_Dict"><span class="viewcode-link">[исходный код]</span></a><a class="headerlink" href="#pyOpenRPA.Robot.UIDesktop.UIOSelectorUIOActivity_Run_Dict" title="Ссылка на это определение"></a></dt>
<dd><p>Run the activity in UIO (UI Object)</p>
<dl class="field-list simple">
<dt class="field-odd">Параметры</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>inUIOSelector</strong> UIOSelector - List of items, which contains condition attributes</p></li>
<li><p><strong>inActionName</strong> UIOActivity (name) activity name string from Pywinauto</p></li>
<li><p><strong>inArgumentList</strong> </p></li>
<li><p><strong>inkwArgumentObject</strong> </p></li>
</ul>
</dd>
<dt class="field-even">Результат</dt>
<dd class="field-even"><p></p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt id="pyOpenRPA.Robot.UIDesktop.UIOSelector_Exist_Bool">
<code class="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><code class="sig-name descname">UIOSelector_Exist_Bool</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inUIOSelector</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_Exist_Bool"><span class="viewcode-link">[исходный код]</span></a><a class="headerlink" href="#pyOpenRPA.Robot.UIDesktop.UIOSelector_Exist_Bool" title="Ссылка на это определение"></a></dt>
<dd><p>Check if object is exist by the UIO selector.</p>
<dl class="field-list simple">
<dt class="field-odd">Параметры</dt>
<dd class="field-odd"><p><strong>inUIOSelector</strong> </p>
</dd>
<dt class="field-even">Результат</dt>
<dd class="field-even"><p>True - Object is exist. False - else case</p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt id="pyOpenRPA.Robot.UIDesktop.UIOSelector_FocusHighlight">
<code class="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><code class="sig-name descname">UIOSelector_FocusHighlight</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inUIOSelector</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_FocusHighlight"><span class="viewcode-link">[исходный код]</span></a><a class="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>
<dl class="field-list simple">
<dt class="field-odd">Параметры</dt>
<dd class="field-odd"><p><strong>inUIOSelector</strong> UIOSelector - List of items, which contains condition attributes</p>
</dd>
<dt class="field-even">Результат</dt>
<dd class="field-even"><p></p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt id="pyOpenRPA.Robot.UIDesktop.UIOSelector_GetChildList_UIOList">
<code class="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><code class="sig-name descname">UIOSelector_GetChildList_UIOList</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inUIOSelector</span><span class="o">=</span><span class="default_value">None</span></em>, <em class="sig-param"><span class="n">inBackend</span><span class="o">=</span><span class="default_value">'win32'</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_GetChildList_UIOList"><span class="viewcode-link">[исходный код]</span></a><a class="headerlink" href="#pyOpenRPA.Robot.UIDesktop.UIOSelector_GetChildList_UIOList" title="Ссылка на это определение"></a></dt>
<dd><p>Get list of child UIOs by the parent UIOSelector</p>
<dl class="field-list simple">
<dt class="field-odd">Параметры</dt>
<dd class="field-odd"><ul class="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>
<dt class="field-even">Результат</dt>
<dd class="field-even"><p></p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt id="pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_BitnessInt">
<code class="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><code class="sig-name descname">UIOSelector_Get_BitnessInt</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inSpecificationList</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_Get_BitnessInt"><span class="viewcode-link">[исходный код]</span></a><a class="headerlink" href="#pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_BitnessInt" title="Ссылка на это определение"></a></dt>
<dd><p>Detect process bitness by the UI Object UIO Selector.</p>
<dl class="field-list simple">
<dt class="field-odd">Параметры</dt>
<dd class="field-odd"><p><strong>inSpecificationList</strong> UIOSelector. Example: [{«title»:»notepad»},{«title»:»OK»}]</p>
</dd>
<dt class="field-even">Результат</dt>
<dd class="field-even"><p>int 32 or int 64</p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt id="pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_BitnessStr">
<code class="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><code class="sig-name descname">UIOSelector_Get_BitnessStr</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inSpecificationList</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_Get_BitnessStr"><span class="viewcode-link">[исходный код]</span></a><a class="headerlink" href="#pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_BitnessStr" title="Ссылка на это определение"></a></dt>
<dd><p>Detect process bitness by the UI Object UIO Selector.</p>
<dl class="field-list simple">
<dt class="field-odd">Параметры</dt>
<dd class="field-odd"><p><strong>inSpecificationList</strong> UIOSelector. Example: [{«title»:»notepad»},{«title»:»OK»}]</p>
</dd>
<dt class="field-even">Результат</dt>
<dd class="field-even"><p>str «32» or str «64»</p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt id="pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_UIO">
<code class="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><code class="sig-name descname">UIOSelector_Get_UIO</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inSpecificationList</span></em>, <em class="sig-param"><span class="n">inElement</span><span class="o">=</span><span class="default_value">None</span></em>, <em class="sig-param"><span class="n">inFlagRaiseException</span><span class="o">=</span><span class="default_value">True</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_Get_UIO"><span class="viewcode-link">[исходный код]</span></a><a class="headerlink" href="#pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_UIO" title="Ссылка на это определение"></a></dt>
<dd><p>Get the pywinauto object by the UIO selector.</p>
<dl class="field-list simple">
<dt class="field-odd">Параметры</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>inSpecificationList</strong> </p></li>
<li><p><strong>inElement</strong> </p></li>
<li><p><strong>inFlagRaiseException</strong> </p></li>
</ul>
</dd>
<dt class="field-even">Результат</dt>
<dd class="field-even"><p></p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt id="pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_UIOActivityList">
<code class="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><code class="sig-name descname">UIOSelector_Get_UIOActivityList</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inUIOSelector</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_Get_UIOActivityList"><span class="viewcode-link">[исходный код]</span></a><a class="headerlink" href="#pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_UIOActivityList" title="Ссылка на это определение"></a></dt>
<dd><p>Get the list of the UI object activities</p>
<dl class="field-list simple">
<dt class="field-odd">Параметры</dt>
<dd class="field-odd"><p><strong>inUIOSelector</strong> UIOSelector - List of items, which contains condition attributes</p>
</dd>
<dt class="field-even">Результат</dt>
<dd class="field-even"><p></p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt id="pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_UIOInfo">
<code class="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><code class="sig-name descname">UIOSelector_Get_UIOInfo</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inUIOSelector</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_Get_UIOInfo"><span class="viewcode-link">[исходный код]</span></a><a class="headerlink" href="#pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_UIOInfo" title="Ссылка на это определение"></a></dt>
<dd><p>Get the UIO dict of the attributes</p>
<dl class="field-list simple">
<dt class="field-odd">Параметры</dt>
<dd class="field-odd"><p><strong>inUIOSelector</strong> UIOSelector - List of items, which contains condition attributes</p>
</dd>
<dt class="field-even">Результат</dt>
<dd class="field-even"><p></p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt id="pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_UIOList">
<code class="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><code class="sig-name descname">UIOSelector_Get_UIOList</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inSpecificationList</span></em>, <em class="sig-param"><span class="n">inElement</span><span class="o">=</span><span class="default_value">None</span></em>, <em class="sig-param"><span class="n">inFlagRaiseException</span><span class="o">=</span><span class="default_value">True</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_Get_UIOList"><span class="viewcode-link">[исходный код]</span></a><a class="headerlink" href="#pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_UIOList" title="Ссылка на это определение"></a></dt>
<dd><p>Get the UIO list by the selector</p>
<dl class="field-list simple">
<dt class="field-odd">Параметры</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>inSpecificationList</strong> UIO Selector</p></li>
<li><p><strong>inElement</strong> Входной элемент - показатель, что не требуется выполнять коннект к процессу</p></li>
<li><p><strong>inFlagRaiseException</strong> Флаг True - выкинуть ошибку в случае обнаружении пустого списка</p></li>
</ul>
</dd>
<dt class="field-even">Результат</dt>
<dd class="field-even"><p></p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt id="pyOpenRPA.Robot.UIDesktop.UIOSelector_Highlight">
<code class="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><code class="sig-name descname">UIOSelector_Highlight</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inUIOSelector</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_Highlight"><span class="viewcode-link">[исходный код]</span></a><a class="headerlink" href="#pyOpenRPA.Robot.UIDesktop.UIOSelector_Highlight" title="Ссылка на это определение"></a></dt>
<dd><p>Highlight (draw outline) the element (in app) by the UIO selector.</p>
<dl class="field-list simple">
<dt class="field-odd">Параметры</dt>
<dd class="field-odd"><p><strong>inUIOSelector</strong> UIOSelector - List of items, which contains condition attributes</p>
</dd>
<dt class="field-even">Результат</dt>
<dd class="field-even"><p></p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt id="pyOpenRPA.Robot.UIDesktop.UIOSelector_SafeOtherGet_Process">
<code class="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><code class="sig-name descname">UIOSelector_SafeOtherGet_Process</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inUIOSelector</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_SafeOtherGet_Process"><span class="viewcode-link">[исходный код]</span></a><a class="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>
<dl class="field-list simple">
<dt class="field-odd">Параметры</dt>
<dd class="field-odd"><p><strong>inUIOSelector</strong> UIO Selector of the UI object</p>
</dd>
<dt class="field-even">Результат</dt>
<dd class="field-even"><p>None or process (of the other bitness)</p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt id="pyOpenRPA.Robot.UIDesktop.UIOSelector_SearchChildByMouse_UIO">
<code class="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><code class="sig-name descname">UIOSelector_SearchChildByMouse_UIO</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inElementSpecification</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_SearchChildByMouse_UIO"><span class="viewcode-link">[исходный код]</span></a><a class="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>
<dl class="field-list simple">
<dt class="field-odd">Параметры</dt>
<dd class="field-odd"><p><strong>inElementSpecification</strong> UIOSelector of the UI Object</p>
</dd>
<dt class="field-even">Результат</dt>
<dd class="field-even"><p>pywinauto element wrapper instance or None</p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt id="pyOpenRPA.Robot.UIDesktop.UIOSelector_SearchChildByMouse_UIOTree">
<code class="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><code class="sig-name descname">UIOSelector_SearchChildByMouse_UIOTree</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inUIOSelector</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_SearchChildByMouse_UIOTree"><span class="viewcode-link">[исходный код]</span></a><a class="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>
<dl class="field-list simple">
<dt class="field-odd">Параметры</dt>
<dd class="field-odd"><p><strong>inUIOSelector</strong> UIOSelector of the UI Object</p>
</dd>
<dt class="field-even">Результат</dt>
<dd class="field-even"><p><p>?</p>
</p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt id="pyOpenRPA.Robot.UIDesktop.UIOSelector_TryRestore_Dict">
<code class="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><code class="sig-name descname">UIOSelector_TryRestore_Dict</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inSpecificationList</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelector_TryRestore_Dict"><span class="viewcode-link">[исходный код]</span></a><a class="headerlink" href="#pyOpenRPA.Robot.UIDesktop.UIOSelector_TryRestore_Dict" title="Ссылка на это определение"></a></dt>
<dd><p>Try to restore (maximize) window, if its minimized. (!IMPORTANT! When use UIA framework minimized windows doesnt appear by the UIOSelector. You need to try restore windows and after that try to get UIO)</p>
<dl class="field-list simple">
<dt class="field-odd">Параметры</dt>
<dd class="field-odd"><p><strong>inSpecificationList</strong> UIOSelector - List of items, which contains condition attributes</p>
</dd>
<dt class="field-even">Результат</dt>
<dd class="field-even"><p></p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt id="pyOpenRPA.Robot.UIDesktop.UIOSelectorsSecs_WaitAppear_List">
<code class="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><code class="sig-name descname">UIOSelectorsSecs_WaitAppear_List</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inSpecificationListList</span></em>, <em class="sig-param"><span class="n">inWaitSecs</span></em>, <em class="sig-param"><span class="n">inFlagWaitAllInMoment</span><span class="o">=</span><span class="default_value">False</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelectorsSecs_WaitAppear_List"><span class="viewcode-link">[исходный код]</span></a><a class="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>
<dl class="field-list simple">
<dt class="field-odd">Параметры</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>inSpecificationListList</strong> <p>UIOSelector list.
Example: [</p>
<blockquote>
<div><p>[{«title»:»notepad»},{«title»:»OK»}],
[{«title»:»notepad»},{«title»:»Cancel»}]</p>
</div></blockquote>
<p>]</p>
</p></li>
<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>
<dt class="field-even">Результат</dt>
<dd class="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>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt id="pyOpenRPA.Robot.UIDesktop.UIOSelectorsSecs_WaitDisappear_List">
<code class="sig-prename descclassname">pyOpenRPA.Robot.UIDesktop.</code><code class="sig-name descname">UIOSelectorsSecs_WaitDisappear_List</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inSpecificationListList</span></em>, <em class="sig-param"><span class="n">inWaitSecs</span></em>, <em class="sig-param"><span class="n">inFlagWaitAllInMoment</span><span class="o">=</span><span class="default_value">False</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Robot/UIDesktop.html#UIOSelectorsSecs_WaitDisappear_List"><span class="viewcode-link">[исходный код]</span></a><a class="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>
<dl class="field-list simple">
<dt class="field-odd">Параметры</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>inSpecificationListList</strong> <p>UIOSelector list.
Example: [</p>
<blockquote>
<div><p>[{«title»:»notepad»},{«title»:»OK»}],
[{«title»:»notepad»},{«title»:»Cancel»}]</p>
</div></blockquote>
<p>]</p>
</p></li>
<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>
<dt class="field-even">Результат</dt>
<dd class="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>
<dt class="field-odd">Результат</dt>
<dd class="field-odd"><p></p>
</dd>
</dl>
</dd></dl>
<div class="section" id="references">
<h2>References<a class="headerlink" href="#references" title="Ссылка на этот заголовок"></a></h2>
<p><a class="reference external" href="http://docutils.sourceforge.net/rst.html">reStructuredText</a> <a class="footnote-reference brackets" href="#id3" id="id4">1</a></p>
<dl class="footnote brackets">
<dt class="label" id="id3"><span class="brackets"><a class="fn-backref" href="#id4">1</a></span></dt>
<dd><p><a class="reference external" href="http://docutils.sourceforge.net/rst.html">http://docutils.sourceforge.net/rst.html</a></p>
</dd>
</dl>
<p> .. v1.2.12 replace:: v1.2.12
.. <a href="#id1"><span class="problematic" id="id2">|author|</span></a> replace:: Ivan Maslov &lt;<a class="reference external" href="mailto:ivan&#46;maslov&#37;&#52;&#48;unicodelabs&#46;ru">ivan<span>&#46;</span>maslov<span>&#64;</span>unicodelabs<span>&#46;</span>ru</a>&gt;</p>
<p> .. v1.2.12 replace:: v1.2.12</p>
<p></p>
</div>
</div>
@ -666,7 +227,7 @@ Example: [</p>
<footer>
<div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
<a href="08_HowToUse.html" class="btn btn-neutral float-right" title="8. Как использовать?" accesskey="n" rel="next">Следующая <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
<a href="06_mouse.html" class="btn btn-neutral float-left" title="6. Mouse" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Предыдущая</a>
<a href="06_mouse.html" class="btn btn-neutral float-left" title="6. Функции Mouse" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Предыдущая</a>
</div>
<hr/>

@ -41,8 +41,8 @@
<link rel="index" title="Алфавитный указатель" href="../genindex.html" />
<link rel="search" title="Поиск" href="../search.html" />
<link rel="next" title="9. Зависимости" href="09_Dependencies.html" />
<link rel="prev" title="7. Image" href="07_image.html" />
<link rel="next" title="1. Описание" href="../Studio/01_Studio.html" />
<link rel="prev" title="7. Функции Image" href="07_image.html" />
</head>
<body class="wy-body-for-nav">
@ -91,49 +91,29 @@
<ul>
<li class="toctree-l1"><a class="reference external" href="https://pyopenrpa.ru/wiki/guide/index">Выбрать версию</a></li>
<li class="toctree-l1"><a class="reference internal" href="../01_HowToInstall.html">1. Первый запуск</a></li>
<li class="toctree-l1"><a class="reference internal" href="../03_Copyrights_Contacts.html">2. Права &amp; Контакты</a></li>
<li class="toctree-l1"><a class="reference internal" href="../03_Copyrights_Contacts.html">2. Лицензия &amp; Контакты</a></li>
</ul>
<p class="caption"><span class="caption-text">МОДУЛЬ РОБОТ</span></p>
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="01_Robot.html">1. Описание</a></li>
<li class="toctree-l1"><a class="reference internal" href="02_Defs.html">2. Функции</a></li>
<li class="toctree-l1"><a class="reference internal" href="02_uidesktop.html">2. UIDesktop</a></li>
<li class="toctree-l1"><a class="reference internal" href="03_uiweb.html">3. UIWeb</a></li>
<li class="toctree-l1"><a class="reference internal" href="04_keyboard.html">4. Keyboard</a></li>
<li class="toctree-l1"><a class="reference internal" href="05_clipboard.html">5. Clipboard</a></li>
<li class="toctree-l1"><a class="reference internal" href="06_mouse.html">6. Mouse</a></li>
<li class="toctree-l1"><a class="reference internal" href="07_image.html">7. Image</a></li>
<li class="toctree-l1"><a class="reference internal" href="02_uidesktop.html">2. Функции UIDesktop</a></li>
<li class="toctree-l1"><a class="reference internal" href="03_uiweb.html">3. Функции UIWeb</a></li>
<li class="toctree-l1"><a class="reference internal" href="04_keyboard.html">4. Функции Keyboard</a></li>
<li class="toctree-l1"><a class="reference internal" href="05_clipboard.html">5. Функции Clipboard</a></li>
<li class="toctree-l1"><a class="reference internal" href="06_mouse.html">6. Функции Mouse</a></li>
<li class="toctree-l1"><a class="reference internal" href="07_image.html">7. Функции Image</a></li>
<li class="toctree-l1 current"><a class="current reference internal" href="#">8. Как использовать?</a><ul>
<li class="toctree-l2"><a class="reference internal" href="#how-to-execute-rpa-script">How to execute RPA script</a><ul>
<li class="toctree-l3"><a class="reference internal" href="#create-python-script">Create python script</a></li>
<li class="toctree-l2"><a class="reference internal" href="#id2">Как запустить скрипт робота?</a><ul>
<li class="toctree-l3"><a class="reference internal" href="#python-py">Скрипт Python (файл .py)</a></li>
<li class="toctree-l3"><a class="reference internal" href="#execute-python-script">Execute python script</a></li>
<li class="toctree-l3"><a class="reference internal" href="#execute-in-the-python-x32">Execute in the Python x32</a></li>
<li class="toctree-l3"><a class="reference internal" href="#execute-in-the-python-x64">Execute in the Python x64</a></li>
<li class="toctree-l3"><a class="reference internal" href="#execute-from-cmd-file">Execute from .cmd file</a></li>
<li class="toctree-l3"><a class="reference internal" href="#use-in-studio-script-n-a">Use in studio script (n/a)</a></li>
<li class="toctree-l3"><a class="reference internal" href="#python-x32">Запустить из интерпретатора Python x32</a></li>
<li class="toctree-l3"><a class="reference internal" href="#python-x64">Запустить из интерпретатора Python x64</a></li>
<li class="toctree-l3"><a class="reference internal" href="#cmd">Запустить из под .cmd файла</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="#desktop-app-ui-access-win32-and-ui-automation-dlls">Desktop app UI access (win32 and UI automation dlls)</a><ul>
<li class="toctree-l3"><a class="reference internal" href="#definitions">Definitions</a></li>
<li class="toctree-l3"><a class="reference internal" href="#what-is-uio">What is UIO?</a></li>
<li class="toctree-l3"><a class="reference internal" href="#uioselector-structure-example">UIOSelector structure &amp; example</a></li>
<li class="toctree-l3"><a class="reference internal" href="#the-uidesktop-module-openrpa-robot-uidesktop-py">The UIDesktop module (OpenRPA/Robot/UIDesktop.py)</a></li>
<li class="toctree-l3"><a class="reference internal" href="#id2">The UIDesktop module (OpenRPA/Robot/UIDesktop.py)</a></li>
<li class="toctree-l2"><a class="reference internal" href="#id3">Быстрая навигация</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="#theory-practice-web-app-ui-access-selenium">Theory &amp; practice. WEB app UI access (selenium)</a><ul>
<li class="toctree-l3"><a class="reference internal" href="#about">About</a></li>
<li class="toctree-l3"><a class="reference internal" href="#how-to-use">How to use</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="#theory-practice-keyboard-mouse-manipulation">Theory &amp; practice. Keyboard &amp; mouse manipulation</a></li>
<li class="toctree-l2"><a class="reference internal" href="#theory-practice-screen-capture-image-recognition">Theory &amp; practice. Screen capture &amp; image recognition</a><ul>
<li class="toctree-l3"><a class="reference internal" href="#how-to-automate-image-recognition-on-pc">How to automate image recognition on PC</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="09_Dependencies.html">9. Зависимости</a></li>
</ul>
<p class="caption"><span class="caption-text">МОДУЛЬ СТУДИЯ</span></p>
<ul>
@ -142,20 +122,19 @@
</ul>
<p class="caption"><span class="caption-text">МОДУЛЬ ОРКЕСТРАТОР</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../Orchestrator/01_Orchestrator.html">1. Description</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Orchestrator/02_Defs.html">2. Defs</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Orchestrator/03_gSettingsTemplate.html">3. gSettings Template</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Orchestrator/04_HowToUse.html">4. How to use</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Orchestrator/05_UAC.html">5. UAC - User Access Control</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Orchestrator/06_Defs%20Managers.html">6. Defs Managers</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Orchestrator/01_Orchestrator.html">1. Описание</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Orchestrator/02_Defs.html">2. Функции</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Orchestrator/03_gSettingsTemplate.html">3. Настройки GSettings (шаблон)</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Orchestrator/04_HowToUse.html">4. Как использовать?</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Orchestrator/05_UAC.html">5. Права доступа пользователей UAC</a></li>
</ul>
<p class="caption"><span class="caption-text">МОДУЛЬ АГЕНТ</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../Agent/02_Defs.html">2. Defs</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Agent/02_Defs.html">2. Функции</a></li>
</ul>
<p class="caption"><span class="caption-text">ИНСТРУМЕНТЫ</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../Tools/02_Defs.html">2. Defs StopSafe</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Tools/02_Defs.html">2. Функции StopSafe</a></li>
</ul>
@ -225,201 +204,80 @@
<div class="section" id="id1">
<h1>8. Как использовать?<a class="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>
<div class="section" id="how-to-execute-rpa-script">
<h2>How to execute RPA script<a class="headerlink" href="#how-to-execute-rpa-script" title="Ссылка на этот заголовок"></a></h2>
<p>You can use the robot by the several ways:</p>
<p>Модуль РОБОТ - это ключевое звено, которое отвечает за продуктивную роботизацию процесса. Данный модуль не имеет графический или консольный интерфейс - он подключается в качестве библиотеки в проект робота, что позволяет выполнять операции максимально быстро. А также позволяет с легкостью интегрировать робота в другие проекты.</p>
<div class="section" id="id2">
<h2>Как запустить скрипт робота?<a class="headerlink" href="#id2" title="Ссылка на этот заголовок"></a></h2>
<p>Запустить скрипт робота можно 2-мя способами:</p>
<ul class="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>
<div class="section" id="create-python-script">
<h3>Create python script<a class="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>
<div class="section" id="python-py">
<h3>Скрипт Python (файл .py)<a class="headerlink" href="#python-py" title="Ссылка на этот заголовок"></a></h3>
<p>Чтобы начать использовать модуль робота достаточно выполнить в файле скрипта соответсвующие команды импорта:</p>
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="kn">import</span> <span class="nn">sys</span>
<span class="n">sys</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="s1">&#39;../../&#39;</span><span class="p">)</span>
<span class="kn">import</span> <span class="nn">selenium</span> <span class="c1"># [Web app access](https://gitlab.com/UnicodeLabs/OpenRPA/wikis/05.1.-Theory-&amp;-practice:-Web-app-access-(Chrome,-Firefox,-Opera))&lt;br&gt;</span>
<span class="kn">import</span> <span class="nn">GUI</span> <span class="c1"># [Win32 &amp; UI Automation access](https://gitlab.com/UnicodeLabs/OpenRPA/wikis/05.2.-Theory-&amp;-practice:-Desktop-app-UI-access-(win32-and-UI-automation-dlls)) &lt;br&gt;</span>
<span class="kn">import</span> <span class="nn">pyautogui</span> <span class="c1">#[Screen capture/recognition](https://gitlab.com/UnicodeLabs/OpenRPA/wikis/05.4.-Theory-&amp;-practice:-Screen-capture-&amp;-image-recognition) [#Mouse manipulation](https://gitlab.com/UnicodeLabs/OpenRPA/wikis/05.3.-Theory-&amp;-practice:-Keyboard-&amp;-mouse-manipulation)&lt;br&gt;</span>
<span class="kn">import</span> <span class="nn">cv2</span> <span class="c1"># [Computer vision](https://gitlab.com/UnicodeLabs/OpenRPA/wikis/05.4.-Theory-&amp;-practice:-Screen-capture-&amp;-image-recognition)&lt;br&gt;</span>
<span class="kn">import</span> <span class="nn">keyboard</span> <span class="c1">#[Keyboard manipulation](https://gitlab.com/UnicodeLabs/OpenRPA/wikis/05.3.-Theory-&amp;-practice:-Keyboard-&amp;-mouse-manipulation)&lt;br&gt;</span>
<span class="kn">from</span> <span class="nn">pyOpenRPA.Robot</span> <span class="kn">import</span> <span class="n">UIDesktop</span> <span class="c1"># Взаимодействие с UI объектами приложений</span>
<span class="kn">from</span> <span class="nn">pyOpenRPA.Robot</span> <span class="kn">import</span> <span class="n">UIWeb</span> <span class="c1"># Взаимодействие с UI объектами веб приложений</span>
<span class="kn">from</span> <span class="nn">pyOpenRPA.Robot</span> <span class="kn">import</span> <span class="n">Keyboard</span> <span class="c1"># Взаимодействие с клавиатурой</span>
<span class="kn">from</span> <span class="nn">pyOpenRPA.Robot</span> <span class="kn">import</span> <span class="n">Clipboard</span> <span class="c1"># Взаимодействие с буфером обмена</span>
<span class="kn">from</span> <span class="nn">pyOpenRPA.Robot</span> <span class="kn">import</span> <span class="n">Mouse</span> <span class="c1"># Взаимодействие с мышью</span>
<span class="kn">from</span> <span class="nn">pyOpenRPA.Robot</span> <span class="kn">import</span> <span class="n">Image</span> <span class="c1"># Взаимодействие с графической сессией ОС</span>
</pre></div>
</div>
<p>Описание каждого из этих модулей представлены в разделе «МОДУЛЬ РОБОТ»</p>
</div>
<div class="section" id="execute-python-script">
<h3>Execute python script<a class="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)
- Execute from .cmd file</p>
</div>
<div class="section" id="execute-in-the-python-x32">
<h3>Execute in the Python x32<a class="headerlink" href="#execute-in-the-python-x32" title="Ссылка на этот заголовок"></a></h3>
<p>To execute your python script in x32 bit version just write in command line from x32 python directory:</p>
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">cd</span> <span class="s2">&quot;\OpenRPA\Resources\WPy32-3720\python-3.7.2&quot;</span>
<span class="n">python</span><span class="o">.</span><span class="n">exe</span> <span class="s2">&quot;path to your python script.py&quot;</span>
</pre></div>
</div>
</div>
<div class="section" id="execute-in-the-python-x64">
<h3>Execute in the Python x64<a class="headerlink" href="#execute-in-the-python-x64" title="Ссылка на этот заголовок"></a></h3>
<p>To execute your python script in x32 bit version just write in command line from x32 python directory:</p>
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">cd</span> <span class="s2">&quot;\OpenRPA\Resources\WPy64-3720\python-3.7.2.amd64&quot;</span>
<span class="n">python</span><span class="o">.</span><span class="n">exe</span> <span class="s2">&quot;path to your python script.py&quot;</span>
</pre></div>
</div>
</div>
<div class="section" id="execute-from-cmd-file">
<h3>Execute from .cmd file<a class="headerlink" href="#execute-from-cmd-file" title="Ссылка на этот заголовок"></a></h3>
<p>In order to simplify the execution process you can write several code lines in file with the .cmd extension:</p>
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">cd</span> <span class="o">%~</span><span class="n">dp0</span>
<span class="n">copy</span> <span class="o">/</span><span class="n">Y</span> <span class="o">..</span>\<span class="n">Resources</span>\<span class="n">WPy32</span><span class="o">-</span><span class="mi">3720</span>\<span class="n">python</span><span class="o">-</span><span class="mf">3.7</span><span class="o">.</span><span class="mi">2</span>\<span class="n">python</span><span class="o">.</span><span class="n">exe</span> <span class="o">..</span>\<span class="n">Resources</span>\<span class="n">WPy32</span><span class="o">-</span><span class="mi">3720</span>\<span class="n">python</span><span class="o">-</span><span class="mf">3.7</span><span class="o">.</span><span class="mi">2</span>\<span class="n">OpenRPAOrchestrator</span><span class="o">.</span><span class="n">exe</span>
<span class="o">.</span>\<span class="o">..</span>\<span class="n">Resources</span>\<span class="n">WPy32</span><span class="o">-</span><span class="mi">3720</span>\<span class="n">python</span><span class="o">-</span><span class="mf">3.7</span><span class="o">.</span><span class="mi">2</span>\<span class="n">OpenRPAOrchestrator</span><span class="o">.</span><span class="n">exe</span> <span class="n">orchestratorMain</span><span class="o">.</span><span class="n">py</span>
<span class="n">pause</span> <span class="o">&gt;</span><span class="n">nul</span>
</pre></div>
</div>
</div>
<div class="section" id="use-in-studio-script-n-a">
<h3>Use in studio script (n/a)<a class="headerlink" href="#use-in-studio-script-n-a" title="Ссылка на этот заголовок"></a></h3>
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="kn">import</span> <span class="nn">sys</span>
<span class="n">sys</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="s1">&#39;../../&#39;</span><span class="p">)</span>
<span class="kn">import</span> <span class="nn">GUI</span>
<span class="kn">import</span> <span class="nn">keyboard</span>
<span class="kn">import</span> <span class="nn">subprocess</span>
<span class="kn">import</span> <span class="nn">time</span>
<span class="c1">#Highlight the UI Object in Folder explorer</span>
<span class="n">GUI</span><span class="o">.</span><span class="n">UIOSelector_FocusHighlight</span><span class="p">([{</span><span class="s2">&quot;class_name&quot;</span><span class="p">:</span><span class="s2">&quot;CabinetWClass&quot;</span><span class="p">,</span><span class="s2">&quot;backend&quot;</span><span class="p">:</span><span class="s2">&quot;uia&quot;</span><span class="p">},{</span><span class="s2">&quot;ctrl_index&quot;</span><span class="p">:</span><span class="mi">2</span><span class="p">},{</span><span class="s2">&quot;ctrl_index&quot;</span><span class="p">:</span><span class="mi">0</span><span class="p">},{</span><span class="s2">&quot;ctrl_index&quot;</span><span class="p">:</span><span class="mi">2</span><span class="p">},{</span><span class="s2">&quot;ctrl_index&quot;</span><span class="p">:</span><span class="mi">0</span><span class="p">}])</span>
<span class="c1">#Wait 2 seconds</span>
<span class="n">time</span><span class="o">.</span><span class="n">sleep</span><span class="p">(</span><span class="mi">3</span><span class="p">)</span>
<span class="c1">#Loop: get child element of UI List</span>
<span class="k">for</span> <span class="n">lItem</span> <span class="ow">in</span> <span class="n">GUI</span><span class="o">.</span><span class="n">UIOSelector_Get_UIO</span><span class="p">([{</span><span class="s2">&quot;class_name&quot;</span><span class="p">:</span><span class="s2">&quot;CabinetWClass&quot;</span><span class="p">,</span><span class="s2">&quot;backend&quot;</span><span class="p">:</span><span class="s2">&quot;uia&quot;</span><span class="p">},{</span><span class="s2">&quot;ctrl_index&quot;</span><span class="p">:</span><span class="mi">2</span><span class="p">},{</span><span class="s2">&quot;ctrl_index&quot;</span><span class="p">:</span><span class="mi">0</span><span class="p">},{</span><span class="s2">&quot;ctrl_index&quot;</span><span class="p">:</span><span class="mi">2</span><span class="p">},{</span><span class="s2">&quot;ctrl_index&quot;</span><span class="p">:</span><span class="mi">0</span><span class="p">}])</span><span class="o">.</span><span class="n">children</span><span class="p">():</span>
<span class="nb">print</span><span class="p">(</span><span class="nb">str</span><span class="p">(</span><span class="n">lItem</span><span class="p">))</span>
</pre></div>
</div>
<p>Here you can find the docs and examples of the OpenRPA desktop (GUI) app access.</p>
</div>
</div>
<div class="section" id="desktop-app-ui-access-win32-and-ui-automation-dlls">
<h2>Desktop app UI access (win32 and UI automation dlls)<a class="headerlink" href="#desktop-app-ui-access-win32-and-ui-automation-dlls" title="Ссылка на этот заголовок"></a></h2>
<div class="section" id="definitions">
<h3>Definitions<a class="headerlink" href="#definitions" title="Ссылка на этот заголовок"></a></h3>
<p>pyOpenRPA - это максимально инкапсулированная платформа программной роботизаии RPA. Все необходимые зависимости находятся внутри нее, что позволяет копировать робота между ЭВМ максимально просто.</p>
<p>Вы можете запустить скрипт робота RPA следующими способами:</p>
<ul class="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>UIOTree</strong> - Recursive Dict of Dict … (UI Parent -&gt; Child hierarchy)</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>
<div class="section" id="what-is-uio">
<h3>What is UIO?<a class="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)](<a class="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>
</div>
<div class="section" id="uioselector-structure-example">
<h3>UIOSelector structure &amp; example<a class="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>
<p><strong>Desciption</strong></p>
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span>[
{
&quot;depth_start&quot; :: [int, start from 1] :: the depth index, where to start check the condition list (default 1),
&quot;depth_end&quot; :: [int, start from 1] :: the depth index, where to stop check the condition list (default 1),
&quot;ctrl_index&quot; || &quot;index&quot; :: [int, starts from 0] :: the index of the UIO in parent UIO child list,
&quot;title&quot; :: [str] :: the condition for the UIO attribute *title*,
&quot;title_re&quot; :: [str] :: regular expression (python ver) for the condition for the UIO attribute *title*,
&quot;rich_text&quot; :: [str] :: the condition for the UIO attribute *rich_text*,
&quot;rich_text_re&quot; :: [str] :: regular expression (python ver) for the condition for the UIO attribute *rich_text*,
&quot;class_name&quot; :: [str] :: the condition for the UIO attribute *class_name*,
&quot;class_name_re&quot; :: [str] :: regular expression (python ver) for the condition for the UIO attribute *class_name*,
&quot;friendly_class_name&quot; :: [str] :: the condition for the UIO attribute *friendly_class_name*,
&quot;friendly_class_name_re&quot; :: [str] :: regular expression (python ver) for the condition for the UIO attribute *friendly_class_name*,
&quot;control_type&quot; :: [str] :: the condition for the UIO attribute *control_type*,
&quot;control_type_re&quot; :: [str] :: regular expression (python ver) for the condition for the UIO attribute *control_type*,
&quot;is_enabled&quot; :: [bool] :: the condition for the UIO attribute *is_enabled*. If UI object is enabled on GUI,
&quot;is_visible&quot; :: [bool] :: the condition for the UIO attribute *is_visible*. If UI object is visible on GUI,
&quot;backend&quot; :: [str, &quot;win32&quot; || &quot;uia&quot;] :: the method of UIO extraction (default &quot;win32&quot;). 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 }
]
</pre></div>
</div>
<p><strong>The UIO selector example</strong></p>
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="p">[</span>
<span class="p">{</span><span class="s2">&quot;class_name&quot;</span><span class="p">:</span><span class="s2">&quot;CalcFrame&quot;</span><span class="p">,</span> <span class="s2">&quot;backend&quot;</span><span class="p">:</span><span class="s2">&quot;win32&quot;</span><span class="p">},</span> <span class="c1"># 1-st level UIO specification</span>
<span class="p">{</span><span class="s2">&quot;title&quot;</span><span class="p">:</span><span class="s2">&quot;Hex&quot;</span><span class="p">,</span> <span class="s2">&quot;depth_start&quot;</span><span class="p">:</span><span class="mi">3</span><span class="p">,</span> <span class="s2">&quot;depth_end&quot;</span><span class="p">:</span> <span class="mi">3</span><span class="p">}</span> <span class="c1"># 3-rd level specification (because of attribute depth_start|depth_stop)</span>
<span class="p">]</span>
<div class="section" id="python-x32">
<h3>Запустить из интерпретатора Python x32<a class="headerlink" href="#python-x32" title="Ссылка на этот заголовок"></a></h3>
<p>Для запуска срипта из интерпретатора Python x32 необходимо открыть командную строку (cmd), и выполнить следующие команды:</p>
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">cd</span> <span class="s2">&quot;Resources\WPy32-3720\python-3.7.2&quot;</span> <span class="c1"># Установить рабочую директорию там, где находится интерпретатор Python</span>
<span class="n">python</span><span class="o">.</span><span class="n">exe</span> <span class="s2">&quot;path to your python script.py&quot;</span> <span class="c1"># Запустить интерпретатор Python с файлом скрипта робота &quot;path to your python script.py&quot;</span>
</pre></div>
</div>
</div>
<div class="section" id="the-uidesktop-module-openrpa-robot-uidesktop-py">
<h3>The UIDesktop module (OpenRPA/Robot/UIDesktop.py)<a class="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>
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="c1"># EXAMPLE 1</span>
<span class="kn">from</span> <span class="nn">pyOpenRPA.Robot</span> <span class="kn">import</span> <span class="n">UIDesktop</span>
<span class="n">UIDesktop</span><span class="o">.</span><span class="n">UIOSelector_Get_UIO</span><span class="p">(</span>
<span class="n">inSpecificationList</span><span class="o">=</span><span class="p">[</span>
<span class="p">{</span><span class="s2">&quot;title&quot;</span><span class="p">:</span><span class="s2">&quot;notepad.exe&quot;</span><span class="p">},{</span><span class="s2">&quot;title&quot;</span><span class="p">:</span><span class="s2">&quot;OK&quot;</span><span class="p">}],</span>
<span class="n">inElement</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
<span class="n">inFlagRaiseException</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
<div class="section" id="python-x64">
<h3>Запустить из интерпретатора Python x64<a class="headerlink" href="#python-x64" title="Ссылка на этот заголовок"></a></h3>
<p>Для запуска срипта из интерпретатора Python x64 необходимо открыть командную строку (cmd), и выполнить следующие команды:</p>
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">cd</span> <span class="s2">&quot;Resources\WPy32-3720\python-3.7.2.amd64&quot;</span> <span class="c1"># Установить рабочую директорию там, где находится интерпретатор Python</span>
<span class="n">python</span><span class="o">.</span><span class="n">exe</span> <span class="s2">&quot;path to your python script.py&quot;</span> <span class="c1"># Запустить интерпретатор Python с файлом скрипта робота &quot;path to your python script.py&quot;</span>
</pre></div>
</div>
</div>
<div class="section" id="id2">
<h3>The UIDesktop module (OpenRPA/Robot/UIDesktop.py)<a class="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><a href="#id3"><span class="problematic" id="id4">*</span></a>Naming convention: &lt;InArgument&gt;_&lt;ActivityName&gt;_&lt;OutArgument - if exist&gt;*&lt;br&gt;</p>
</div>
</div>
<div class="section" id="theory-practice-web-app-ui-access-selenium">
<h2>Theory &amp; practice. WEB app UI access (selenium)<a class="headerlink" href="#theory-practice-web-app-ui-access-selenium" title="Ссылка на этот заголовок"></a></h2>
<div class="section" id="about">
<h3>About<a class="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 (<a class="reference external" href="https://selenium-python.readthedocs.io/">https://selenium-python.readthedocs.io/</a>)</p>
</div>
<div class="section" id="how-to-use">
<h3>How to use<a class="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>
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="kn">from</span> <span class="nn">selenium</span> <span class="kn">import</span> <span class="n">webdriver</span>
<span class="kn">from</span> <span class="nn">selenium.webdriver.common.keys</span> <span class="kn">import</span> <span class="n">Keys</span>
<span class="n">driver</span> <span class="o">=</span> <span class="n">webdriver</span><span class="o">.</span><span class="n">Chrome</span><span class="p">()</span>
<span class="n">driver</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">&quot;http://www.python.org&quot;</span><span class="p">)</span>
<span class="k">assert</span> <span class="s2">&quot;Python&quot;</span> <span class="ow">in</span> <span class="n">driver</span><span class="o">.</span><span class="n">title</span>
<span class="n">elem</span> <span class="o">=</span> <span class="n">driver</span><span class="o">.</span><span class="n">find_element_by_name</span><span class="p">(</span><span class="s2">&quot;q&quot;</span><span class="p">)</span>
<span class="n">elem</span><span class="o">.</span><span class="n">clear</span><span class="p">()</span>
<span class="n">elem</span><span class="o">.</span><span class="n">send_keys</span><span class="p">(</span><span class="s2">&quot;pycon&quot;</span><span class="p">)</span>
<span class="n">elem</span><span class="o">.</span><span class="n">send_keys</span><span class="p">(</span><span class="n">Keys</span><span class="o">.</span><span class="n">RETURN</span><span class="p">)</span>
<span class="k">assert</span> <span class="s2">&quot;No results found.&quot;</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">driver</span><span class="o">.</span><span class="n">page_source</span>
<span class="n">driver</span><span class="o">.</span><span class="n">close</span><span class="p">()</span>
<div class="section" id="cmd">
<h3>Запустить из под .cmd файла<a class="headerlink" href="#cmd" title="Ссылка на этот заголовок"></a></h3>
<p>Упростить процесс запуска и свести инициализацию робота к одному нажатию можно с помощью средстве command shell и .cmd файла.</p>
<p>Для этого достаточно выбрать рабочую директорию робота, там создать текстовый .cmd файл, и прописать в нем следующий код:</p>
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">cd</span> <span class="o">%~</span><span class="n">dp0</span> <span class="c1"># Установить рабочую директорую там, где находится этот .cmd файл</span>
<span class="n">copy</span> <span class="o">/</span><span class="n">Y</span> <span class="o">..</span>\<span class="n">Resources</span>\<span class="n">WPy32</span><span class="o">-</span><span class="mi">3720</span>\<span class="n">python</span><span class="o">-</span><span class="mf">3.7</span><span class="o">.</span><span class="mi">2</span>\<span class="n">python</span><span class="o">.</span><span class="n">exe</span> <span class="o">..</span>\<span class="n">Resources</span>\<span class="n">WPy32</span><span class="o">-</span><span class="mi">3720</span>\<span class="n">python</span><span class="o">-</span><span class="mf">3.7</span><span class="o">.</span><span class="mi">2</span>\<span class="n">OpenRPAOrchestrator</span><span class="o">.</span><span class="n">exe</span> <span class="c1"># Выполнить компирование python.exe на другое наименование, чтобы изменить наименование процесса робота в диспетчере задач (без этой операции все роботы будут отображаться в диспетчере задач как python.exe)</span>
<span class="o">.</span>\<span class="o">..</span>\<span class="n">Resources</span>\<span class="n">WPy32</span><span class="o">-</span><span class="mi">3720</span>\<span class="n">python</span><span class="o">-</span><span class="mf">3.7</span><span class="o">.</span><span class="mi">2</span>\<span class="n">OpenRPAOrchestrator</span><span class="o">.</span><span class="n">exe</span> <span class="n">orchestratorMain</span><span class="o">.</span><span class="n">py</span> <span class="c1"># Выполнить инициализацию скрипта робота RPA</span>
<span class="n">pause</span> <span class="o">&gt;</span><span class="n">nul</span> <span class="c1"># Не закрывать окно консоли после завершения работы скрипта робота</span>
</pre></div>
</div>
</div>
</div>
<div class="section" id="theory-practice-keyboard-mouse-manipulation">
<h2>Theory &amp; practice. Keyboard &amp; mouse manipulation<a class="headerlink" href="#theory-practice-keyboard-mouse-manipulation" title="Ссылка на этот заголовок"></a></h2>
</div>
<div class="section" id="theory-practice-screen-capture-image-recognition">
<h2>Theory &amp; practice. Screen capture &amp; image recognition<a class="headerlink" href="#theory-practice-screen-capture-image-recognition" title="Ссылка на этот заголовок"></a></h2>
<div class="section" id="how-to-automate-image-recognition-on-pc">
<h3>How to automate image recognition on PC<a class="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
.. <a href="#id5"><span class="problematic" id="id6">|author|</span></a> replace:: Ivan Maslov &lt;<a class="reference external" href="mailto:ivan&#46;maslov&#37;&#52;&#48;unicodelabs&#46;ru">ivan<span>&#46;</span>maslov<span>&#64;</span>unicodelabs<span>&#46;</span>ru</a>&gt;</p>
<div class="section" id="id3">
<h2>Быстрая навигация<a class="headerlink" href="#id3" title="Ссылка на этот заголовок"></a></h2>
<ul class="simple">
<li><p><a class="reference external" href="https://t.me/pyOpenRPA">Сообщество pyOpenRPA (telegram)</a></p></li>
<li><p><a class="reference external" href="https://tenchat.ru/iMaslov?utm_source=19f2a84f-3268-437f-950c-d987ae42af24">Сообщество pyOpenRPA (tenchat)</a></p></li>
<li><p><a class="reference external" href="https://vk.com/pyopenrpa">Сообщество pyOpenRPA (вконтакте)</a></p></li>
<li><p><a class="reference external" href="https://pyopenrpa.ru/Index/pyOpenRPA_product_service.pdf">Презентация pyOpenRPA</a></p></li>
<li><p><a class="reference external" href="https://pyopenrpa.ru">Портал pyOpenRPA</a></p></li>
<li><p><a class="reference external" href="https://gitlab.com/UnicodeLabs/OpenRPA">Репозиторий pyOpenRPA</a></p></li>
</ul>
<p> .. v1.2.12 replace:: v1.2.12</p>
<p></p>
</div>
</div>
</div>
@ -428,8 +286,8 @@ More docs about selenium you can find here (<a class="reference external" href="
</div>
<footer>
<div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
<a href="09_Dependencies.html" class="btn btn-neutral float-right" title="9. Зависимости" accesskey="n" rel="next">Следующая <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
<a href="07_image.html" class="btn btn-neutral float-left" title="7. Image" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Предыдущая</a>
<a href="../Studio/01_Studio.html" class="btn btn-neutral float-right" title="1. Описание" accesskey="n" rel="next">Следующая <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
<a href="07_image.html" class="btn btn-neutral float-left" title="7. Функции Image" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Предыдущая</a>
</div>
<hr/>

@ -1,258 +0,0 @@
<!DOCTYPE html>
<html class="writer-html5" lang="ru" >
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>9. Зависимости &mdash; документация pyOpenRPA v1.2.12 v1.2.12</title>
<link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
<link rel="shortcut icon" href="../_static/favicon.ico"/>
<!--[if lt IE 9]>
<script src="../_static/js/html5shiv.min.js"></script>
<![endif]-->
<script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
<script src="../_static/jquery.js"></script>
<script src="../_static/underscore.js"></script>
<script src="../_static/doctools.js"></script>
<script src="../_static/translations.js"></script>
<script type="text/javascript" src="../_static/js/theme.js"></script>
<link rel="index" title="Алфавитный указатель" href="../genindex.html" />
<link rel="search" title="Поиск" href="../search.html" />
<link rel="next" title="1. Описание" href="../Studio/01_Studio.html" />
<link rel="prev" title="8. Как использовать?" href="08_HowToUse.html" />
</head>
<body class="wy-body-for-nav">
<div class="wy-grid-for-nav">
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
<div class="wy-side-scroll">
<div class="wy-side-nav-search" >
<a href="../index.html" class="icon icon-home"> pyOpenRPA v1.2.12
</a>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
<input type="text" name="q" placeholder="Поиск в документации" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
</div>
</div>
<div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
<p class="caption"><span class="caption-text">ОБЩЕЕ</span></p>
<ul>
<li class="toctree-l1"><a class="reference external" href="https://pyopenrpa.ru/wiki/guide/index">Выбрать версию</a></li>
<li class="toctree-l1"><a class="reference internal" href="../01_HowToInstall.html">1. Первый запуск</a></li>
<li class="toctree-l1"><a class="reference internal" href="../03_Copyrights_Contacts.html">2. Права &amp; Контакты</a></li>
</ul>
<p class="caption"><span class="caption-text">МОДУЛЬ РОБОТ</span></p>
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="01_Robot.html">1. Описание</a></li>
<li class="toctree-l1"><a class="reference internal" href="02_Defs.html">2. Функции</a></li>
<li class="toctree-l1"><a class="reference internal" href="02_uidesktop.html">2. UIDesktop</a></li>
<li class="toctree-l1"><a class="reference internal" href="03_uiweb.html">3. UIWeb</a></li>
<li class="toctree-l1"><a class="reference internal" href="04_keyboard.html">4. Keyboard</a></li>
<li class="toctree-l1"><a class="reference internal" href="05_clipboard.html">5. Clipboard</a></li>
<li class="toctree-l1"><a class="reference internal" href="06_mouse.html">6. Mouse</a></li>
<li class="toctree-l1"><a class="reference internal" href="07_image.html">7. Image</a></li>
<li class="toctree-l1"><a class="reference internal" href="08_HowToUse.html">8. Как использовать?</a></li>
<li class="toctree-l1 current"><a class="current reference internal" href="#">9. Зависимости</a></li>
</ul>
<p class="caption"><span class="caption-text">МОДУЛЬ СТУДИЯ</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../Studio/01_Studio.html">1. Описание</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Studio/02_HowToUse.html">2. Как использовать?</a></li>
</ul>
<p class="caption"><span class="caption-text">МОДУЛЬ ОРКЕСТРАТОР</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../Orchestrator/01_Orchestrator.html">1. Description</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Orchestrator/02_Defs.html">2. Defs</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Orchestrator/03_gSettingsTemplate.html">3. gSettings Template</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Orchestrator/04_HowToUse.html">4. How to use</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Orchestrator/05_UAC.html">5. UAC - User Access Control</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Orchestrator/06_Defs%20Managers.html">6. Defs Managers</a></li>
</ul>
<p class="caption"><span class="caption-text">МОДУЛЬ АГЕНТ</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../Agent/02_Defs.html">2. Defs</a></li>
</ul>
<p class="caption"><span class="caption-text">ИНСТРУМЕНТЫ</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../Tools/02_Defs.html">2. Defs StopSafe</a></li>
</ul>
</div>
</div>
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
<nav class="wy-nav-top" aria-label="top navigation">
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="../index.html">pyOpenRPA v1.2.12</a>
</nav>
<div class="wy-nav-content">
<div class="rst-content">
<div role="navigation" aria-label="breadcrumbs navigation">
<ul class="wy-breadcrumbs">
<li><a href="../index.html" class="icon icon-home"></a> &raquo;</li>
<li>9. Зависимости</li>
<li class="wy-breadcrumbs-aside">
<a href="../_sources/Robot/09_Dependencies.rst.txt" rel="nofollow"> Просмотреть исходный код страницы</a>
</li>
</ul>
<hr/>
</div>
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody">
<div class="section" id="id1">
<h1>9. Зависимости<a class="headerlink" href="#id1" title="Ссылка на этот заголовок"></a></h1>
<p>Python 3 x32 [psutil, pywinauto, wmi, PIL, keyboard, pyautogui, win32api (pywin32), selenium, openCV, tesseract, requests, lxml, PyMuPDF]
Python 3 x64 [psutil, pywinauto, wmi, PIL, keyboard, pyautogui, win32api (pywin32), selenium, openCV, tesseract, requests, lxml, PyMuPDF]
pywinauto (Windows GUI automation)
Semantic UI CSS framework
JsRender by <a class="reference external" href="https://www.jsviews.com">https://www.jsviews.com</a> (switch to Handlebars)
Handlebars</p>
<p> .. v1.2.12 replace:: v1.2.12
.. <a href="#id2"><span class="problematic" id="id3">|author|</span></a> replace:: Ivan Maslov &lt;<a class="reference external" href="mailto:ivan&#46;maslov&#37;&#52;&#48;unicodelabs&#46;ru">ivan<span>&#46;</span>maslov<span>&#64;</span>unicodelabs<span>&#46;</span>ru</a>&gt;</p>
<p></p>
</div>
</div>
</div>
<footer>
<div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
<a href="../Studio/01_Studio.html" class="btn btn-neutral float-right" title="1. Описание" accesskey="n" rel="next">Следующая <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
<a href="08_HowToUse.html" class="btn btn-neutral float-left" title="8. Как использовать?" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Предыдущая</a>
</div>
<hr/>
<div role="contentinfo">
<p>
&#169; Copyright 2022, ООО &#34;ОПЕН РПА&#34;.
</p>
</div>
Собрано при помощи <a href="https://www.sphinx-doc.org/">Sphinx</a> с использованием
<a href="https://github.com/readthedocs/sphinx_rtd_theme">темы,</a>
предоставленной <a href="https://readthedocs.org">Read the Docs</a>.
</footer>
</div>
</div>
</section>
</div>
<script type="text/javascript">
jQuery(function () {
SphinxRtdTheme.Navigation.enable(true);
});
</script>
</body>
</html>

@ -42,7 +42,7 @@
<link rel="index" title="Алфавитный указатель" href="../genindex.html" />
<link rel="search" title="Поиск" href="../search.html" />
<link rel="next" title="2. Как использовать?" href="02_HowToUse.html" />
<link rel="prev" title="9. Зависимости" href="../Robot/09_Dependencies.html" />
<link rel="prev" title="8. Как использовать?" href="../Robot/08_HowToUse.html" />
</head>
<body class="wy-body-for-nav">
@ -91,42 +91,43 @@
<ul>
<li class="toctree-l1"><a class="reference external" href="https://pyopenrpa.ru/wiki/guide/index">Выбрать версию</a></li>
<li class="toctree-l1"><a class="reference internal" href="../01_HowToInstall.html">1. Первый запуск</a></li>
<li class="toctree-l1"><a class="reference internal" href="../03_Copyrights_Contacts.html">2. Права &amp; Контакты</a></li>
<li class="toctree-l1"><a class="reference internal" href="../03_Copyrights_Contacts.html">2. Лицензия &amp; Контакты</a></li>
</ul>
<p class="caption"><span class="caption-text">МОДУЛЬ РОБОТ</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../Robot/01_Robot.html">1. Описание</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Robot/02_Defs.html">2. Функции</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Robot/02_uidesktop.html">2. UIDesktop</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Robot/03_uiweb.html">3. UIWeb</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Robot/04_keyboard.html">4. Keyboard</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Robot/05_clipboard.html">5. Clipboard</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Robot/06_mouse.html">6. Mouse</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Robot/07_image.html">7. Image</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Robot/02_uidesktop.html">2. Функции UIDesktop</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Robot/03_uiweb.html">3. Функции UIWeb</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Robot/04_keyboard.html">4. Функции Keyboard</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Robot/05_clipboard.html">5. Функции Clipboard</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Robot/06_mouse.html">6. Функции Mouse</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Robot/07_image.html">7. Функции Image</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Robot/08_HowToUse.html">8. Как использовать?</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Robot/09_Dependencies.html">9. Зависимости</a></li>
</ul>
<p class="caption"><span class="caption-text">МОДУЛЬ СТУДИЯ</span></p>
<ul class="current">
<li class="toctree-l1 current"><a class="current reference internal" href="#">1. Описание</a></li>
<li class="toctree-l1 current"><a class="current reference internal" href="#">1. Описание</a><ul>
<li class="toctree-l2"><a class="reference internal" href="#id2">Общее</a></li>
<li class="toctree-l2"><a class="reference internal" href="#id3">Быстрая навигация</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="02_HowToUse.html">2. Как использовать?</a></li>
</ul>
<p class="caption"><span class="caption-text">МОДУЛЬ ОРКЕСТРАТОР</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../Orchestrator/01_Orchestrator.html">1. Description</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Orchestrator/02_Defs.html">2. Defs</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Orchestrator/03_gSettingsTemplate.html">3. gSettings Template</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Orchestrator/04_HowToUse.html">4. How to use</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Orchestrator/05_UAC.html">5. UAC - User Access Control</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Orchestrator/06_Defs%20Managers.html">6. Defs Managers</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Orchestrator/01_Orchestrator.html">1. Описание</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Orchestrator/02_Defs.html">2. Функции</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Orchestrator/03_gSettingsTemplate.html">3. Настройки GSettings (шаблон)</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Orchestrator/04_HowToUse.html">4. Как использовать?</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Orchestrator/05_UAC.html">5. Права доступа пользователей UAC</a></li>
</ul>
<p class="caption"><span class="caption-text">МОДУЛЬ АГЕНТ</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../Agent/02_Defs.html">2. Defs</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Agent/02_Defs.html">2. Функции</a></li>
</ul>
<p class="caption"><span class="caption-text">ИНСТРУМЕНТЫ</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../Tools/02_Defs.html">2. Defs StopSafe</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Tools/02_Defs.html">2. Функции StopSafe</a></li>
</ul>
@ -196,10 +197,28 @@
<div class="section" id="module-studio-description">
<span id="id1"></span><h1>1. Описание<a class="headerlink" href="#module-studio-description" title="Ссылка на этот заголовок"></a></h1>
<p>pyOpenRPA Studio is the executable process.</p>
<p> .. v1.2.12 replace:: v1.2.12
.. <a href="#id2"><span class="problematic" id="id3">|author|</span></a> replace:: Ivan Maslov &lt;<a class="reference external" href="mailto:ivan&#46;maslov&#37;&#52;&#48;unicodelabs&#46;ru">ivan<span>&#46;</span>maslov<span>&#64;</span>unicodelabs<span>&#46;</span>ru</a>&gt;</p>
<div class="section" id="id2">
<h2>Общее<a class="headerlink" href="#id2" title="Ссылка на этот заголовок"></a></h2>
<p>Модуль студии обеспечивает всю необходимую функциональность взаимодействия с UI объектами различных приложений, запущенных в сессии.</p>
<p>В разделе <a class="reference internal" href="02_HowToUse.html#module-studio-how-to-use"><span class="std std-ref">2. Как использовать?</span></a> вы найдете практическое руководство по работе с пользовательским интерфейсом студии, которая отрывается в веб браузере.</p>
<p>Дорогие коллеги!</p>
<p>Мы знаем, что с pyOpenRPA вы сможете существенно улучшить качество вашего бизнеса. Платформа роботизации pyOpenRPA - это разработка, которая дает возможность делать виртуальных сотрудников (программных роботов RPA) выгодными, начиная от эффекта всего в <strong>10 тыс. руб.</strong> И управлять ими будете только Вы!</p>
<p>Если у вас останутся вопросы, то вы всегда можете обратиться в центр поддержки клиентов pyOpenRPA. Контакты: <a class="reference internal" href="../03_Copyrights_Contacts.html#copyrights-contacts"><span class="std std-ref">2. Лицензия &amp; Контакты</span></a></p>
<p>pyOpenRPA - роботы помогут!</p>
</div>
<div class="section" id="id3">
<h2>Быстрая навигация<a class="headerlink" href="#id3" title="Ссылка на этот заголовок"></a></h2>
<ul class="simple">
<li><p><a class="reference external" href="https://t.me/pyOpenRPA">Сообщество pyOpenRPA (telegram)</a></p></li>
<li><p><a class="reference external" href="https://tenchat.ru/iMaslov?utm_source=19f2a84f-3268-437f-950c-d987ae42af24">Сообщество pyOpenRPA (tenchat)</a></p></li>
<li><p><a class="reference external" href="https://vk.com/pyopenrpa">Сообщество pyOpenRPA (вконтакте)</a></p></li>
<li><p><a class="reference external" href="https://pyopenrpa.ru/Index/pyOpenRPA_product_service.pdf">Презентация pyOpenRPA</a></p></li>
<li><p><a class="reference external" href="https://pyopenrpa.ru">Портал pyOpenRPA</a></p></li>
<li><p><a class="reference external" href="https://gitlab.com/UnicodeLabs/OpenRPA">Репозиторий pyOpenRPA</a></p></li>
</ul>
<p> .. v1.2.12 replace:: v1.2.12</p>
<p></p>
</div>
</div>
@ -209,7 +228,7 @@
<footer>
<div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
<a href="02_HowToUse.html" class="btn btn-neutral float-right" title="2. Как использовать?" accesskey="n" rel="next">Следующая <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
<a href="../Robot/09_Dependencies.html" class="btn btn-neutral float-left" title="9. Зависимости" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Предыдущая</a>
<a href="../Robot/08_HowToUse.html" class="btn btn-neutral float-left" title="8. Как использовать?" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Предыдущая</a>
</div>
<hr/>

@ -41,7 +41,7 @@
<link rel="index" title="Алфавитный указатель" href="../genindex.html" />
<link rel="search" title="Поиск" href="../search.html" />
<link rel="next" title="1. Description" href="../Orchestrator/01_Orchestrator.html" />
<link rel="next" title="1. Описание" href="../Orchestrator/01_Orchestrator.html" />
<link rel="prev" title="1. Описание" href="01_Studio.html" />
</head>
@ -91,65 +91,65 @@
<ul>
<li class="toctree-l1"><a class="reference external" href="https://pyopenrpa.ru/wiki/guide/index">Выбрать версию</a></li>
<li class="toctree-l1"><a class="reference internal" href="../01_HowToInstall.html">1. Первый запуск</a></li>
<li class="toctree-l1"><a class="reference internal" href="../03_Copyrights_Contacts.html">2. Права &amp; Контакты</a></li>
<li class="toctree-l1"><a class="reference internal" href="../03_Copyrights_Contacts.html">2. Лицензия &amp; Контакты</a></li>
</ul>
<p class="caption"><span class="caption-text">МОДУЛЬ РОБОТ</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../Robot/01_Robot.html">1. Описание</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Robot/02_Defs.html">2. Функции</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Robot/02_uidesktop.html">2. UIDesktop</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Robot/03_uiweb.html">3. UIWeb</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Robot/04_keyboard.html">4. Keyboard</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Robot/05_clipboard.html">5. Clipboard</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Robot/06_mouse.html">6. Mouse</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Robot/07_image.html">7. Image</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Robot/02_uidesktop.html">2. Функции UIDesktop</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Robot/03_uiweb.html">3. Функции UIWeb</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Robot/04_keyboard.html">4. Функции Keyboard</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Robot/05_clipboard.html">5. Функции Clipboard</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Robot/06_mouse.html">6. Функции Mouse</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Robot/07_image.html">7. Функции Image</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Robot/08_HowToUse.html">8. Как использовать?</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Robot/09_Dependencies.html">9. Зависимости</a></li>
</ul>
<p class="caption"><span class="caption-text">МОДУЛЬ СТУДИЯ</span></p>
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="01_Studio.html">1. Описание</a></li>
<li class="toctree-l1 current"><a class="current reference internal" href="#">2. Как использовать?</a><ul>
<li class="toctree-l2"><a class="reference internal" href="#content">Content</a></li>
<li class="toctree-l2"><a class="reference internal" href="#how-to-run">How to run</a></li>
<li class="toctree-l2"><a class="reference internal" href="#ui-description">UI Description</a><ul>
<li class="toctree-l3"><a class="reference internal" href="#gui-screenshot-1">GUI Screenshot 1</a></li>
<li class="toctree-l3"><a class="reference internal" href="#gui-screenshot-2">GUI Screenshot 2</a></li>
<li class="toctree-l2"><a class="reference internal" href="#general">Общее</a></li>
<li class="toctree-l2"><a class="reference internal" href="#how-to-run">Как запустить?</a></li>
<li class="toctree-l2"><a class="reference internal" href="#ui">Описание UI студии</a><ul>
<li class="toctree-l3"><a class="reference internal" href="#id4">Скриншот 1</a></li>
<li class="toctree-l3"><a class="reference internal" href="#id5">Скриншот 2</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="#how-to-extract-ui-tree">How to extract UI tree</a><ul>
<li class="toctree-l3"><a class="reference internal" href="#action-click-the-button-expand">Action: Click the button «Expand»</a></li>
<li class="toctree-l3"><a class="reference internal" href="#result">Result</a></li>
<li class="toctree-l3"><a class="reference internal" href="#how-to-search-ui-object-by-mouse-hover">How to search UI object by mouse hover</a></li>
<li class="toctree-l3"><a class="reference internal" href="#action-click-the-button-mouse-search">Action: Click the button «Mouse search»</a></li>
<li class="toctree-l3"><a class="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>
<li class="toctree-l3"><a class="reference internal" href="#result-the-interested-ui-object-will-be-shown-in-ui-tree-viewer">Result: The interested UI object will be shown in <code class="docutils literal notranslate"><span class="pre">UI</span> <span class="pre">tree</span> <span class="pre">viewer</span></code></a></li>
<li class="toctree-l2"><a class="reference internal" href="#how-to-extract-ui-tree">Извлечь UI дерево</a><ul>
<li class="toctree-l3"><a class="reference internal" href="#expand">Действие: Нажать по кнопке «Expand»</a></li>
<li class="toctree-l3"><a class="reference internal" href="#id7">Итог</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="#how-to-extract-ui-object-properties">How to extract UI object properties</a><ul>
<li class="toctree-l3"><a class="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>
<li class="toctree-l3"><a class="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 <code class="docutils literal notranslate"><span class="pre">Selected</span> <span class="pre">UI</span> <span class="pre">object</span> <span class="pre">property</span> <span class="pre">list</span></code></a></li>
<li class="toctree-l2"><a class="reference internal" href="#how-to-search-ui-object-by-mouse-hover">Поиск UI объекта по наведению мыши</a><ul>
<li class="toctree-l3"><a class="reference internal" href="#mouse-search">Действие: Нажать кнопку «Mouse search»</a></li>
<li class="toctree-l3"><a class="reference internal" href="#ui-ctrl-3">Действие: Навести курсор мыши на UI объект, который интересует и зажать клавишу «Ctrl» на 3 секунды</a></li>
<li class="toctree-l3"><a class="reference internal" href="#ui-ui-tree-viewer">Итог: Интересующий UI объект будет отображен в <code class="docutils literal notranslate"><span class="pre">UI</span> <span class="pre">tree</span> <span class="pre">viewer</span></code></a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="#how-to-extract-ui-object-properties">Извлечь свойства UI объекта</a><ul>
<li class="toctree-l3"><a class="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>
<li class="toctree-l3"><a class="reference internal" href="#ui-selected-ui-object-property-list">Итог: Свойства UI объекта будут отображены в <code class="docutils literal notranslate"><span class="pre">Selected</span> <span class="pre">UI</span> <span class="pre">object</span> <span class="pre">property</span> <span class="pre">list</span></code></a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="#id10">Быстрая навигация</a></li>
</ul>
</li>
</ul>
<p class="caption"><span class="caption-text">МОДУЛЬ ОРКЕСТРАТОР</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../Orchestrator/01_Orchestrator.html">1. Description</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Orchestrator/02_Defs.html">2. Defs</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Orchestrator/03_gSettingsTemplate.html">3. gSettings Template</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Orchestrator/04_HowToUse.html">4. How to use</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Orchestrator/05_UAC.html">5. UAC - User Access Control</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Orchestrator/06_Defs%20Managers.html">6. Defs Managers</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Orchestrator/01_Orchestrator.html">1. Описание</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Orchestrator/02_Defs.html">2. Функции</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Orchestrator/03_gSettingsTemplate.html">3. Настройки GSettings (шаблон)</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Orchestrator/04_HowToUse.html">4. Как использовать?</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Orchestrator/05_UAC.html">5. Права доступа пользователей UAC</a></li>
</ul>
<p class="caption"><span class="caption-text">МОДУЛЬ АГЕНТ</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../Agent/02_Defs.html">2. Defs</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Agent/02_Defs.html">2. Функции</a></li>
</ul>
<p class="caption"><span class="caption-text">ИНСТРУМЕНТЫ</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../Tools/02_Defs.html">2. Defs StopSafe</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Tools/02_Defs.html">2. Функции StopSafe</a></li>
</ul>
@ -217,109 +217,105 @@
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody">
<div class="section" id="id1">
<h1>2. Как использовать?<a class="headerlink" href="#id1" title="Ссылка на этот заголовок"></a></h1>
<div class="section" id="content">
<h2>Content<a class="headerlink" href="#content" title="Ссылка на этот заголовок"></a></h2>
<div class="section" id="module-studio-how-to-use">
<span id="id1"></span><h1>2. Как использовать?<a class="headerlink" href="#module-studio-how-to-use" title="Ссылка на этот заголовок"></a></h1>
<div class="section" id="general">
<span id="id2"></span><h2>Общее<a class="headerlink" href="#general" title="Ссылка на этот заголовок"></a></h2>
<ul class="simple">
<li><p><a class="reference external" href="#how-to-run">How to run</a></p></li>
<li><p><a class="reference external" href="#ui-description">UI Description</a></p></li>
<li><p><a class="reference external" href="#how-to-extract-ui-tree">How to extract UI tree</a></p></li>
<li><p><a class="reference external" href="#how-to-search-ui-object-by-mouse-hover">How to search UI object by mouse
hover</a></p></li>
<li><p><a class="reference external" href="#how-to-extract-ui-object-properties">How to extract UI object
properties</a></p></li>
<li><p><a class="reference external" href="#how-to-run">Как запустить?</a></p></li>
<li><p><a class="reference external" href="#ui-description">Описание UI студии</a></p></li>
<li><p><a class="reference external" href="#how-to-extract-ui-tree">Извлечь UI дерево</a></p></li>
<li><p><a class="reference external" href="#how-to-search-ui-object-by-mouse-hover">Поиск UI объекта по наведению мыши</a></p></li>
<li><p><a class="reference external" href="#how-to-extract-ui-object-properties">Извлечь свойства UI объекта</a></p></li>
</ul>
</div>
<div class="section" id="how-to-run">
<h2>How to run<a class="headerlink" href="#how-to-run" title="Ссылка на этот заголовок"></a></h2>
<span id="id3"></span><h2>Как запустить?<a class="headerlink" href="#how-to-run" title="Ссылка на этот заголовок"></a></h2>
<ul class="simple">
<li><p>For OS x32</p></li>
<li><p>Run (double click): OpenRPA_32.cmd (for OS x32)</p></li>
<li><p>For OS x64</p></li>
<li><p>Run (double click): OpenRPA_64.cmd (for OS x64)</p></li>
<li><p>Wait text «running server» in console. Default browser will be open
automatically</p></li>
<li><p><strong>Attention!</strong> The studio tool does not support the Internet explorer
(any version) for GUI rendering (lol)</p></li>
<li><p>Запустить файл StudiopyOpenRPA.Studio_x64.cmd</p></li>
<li><p>Ожидать текст в окне консоли: «running server». Браузер, установленный по умолчанию откроется автоматически</p></li>
<li><p><strong>!ВНИМАНИЕ!</strong> Студия поддерживает все версии браузеров, кроме Internet Explorer.</p></li>
</ul>
<img alt="504b98f76747f63900a2943532a946bb.png" src="img/504b98f76747f63900a2943532a946bb.png" />
</div>
<div class="section" id="ui-description">
<h2>UI Description<a class="headerlink" href="#ui-description" title="Ссылка на этот заголовок"></a></h2>
<p><strong>The studio tool GUI contains of:</strong></p>
<div class="section" id="ui">
<span id="ui-description"></span><h2>Описание UI студии<a class="headerlink" href="#ui" title="Ссылка на этот заголовок"></a></h2>
<p><strong>Интерфейс (UI) студии состоит из следующих компонентов:</strong></p>
<ol class="arabic simple">
<li><p>UI tree viewer</p></li>
<li><p>Selected UI object hierarchy list</p></li>
<li><p>Selected UI object property list</p></li>
<li><p>UIO selector editor</p></li>
<li><p>UIO action panel</p></li>
<li><p>Another Python activity panel</p></li>
<li><p>Action/activity list</p></li>
<li><p>Обозреватель UI дерева</p></li>
<li><p>Обозреватель иерархии выбранного UI объекта</p></li>
<li><p>Обозреватель свойств выбранного уровня UI объекта</p></li>
<li><p>Редактор UIO селектора</p></li>
<li><p>Панель активностей над UIO объектом</p></li>
<li><p>Панель других Python активностей</p></li>
<li><p>Список активностей</p></li>
</ol>
<p><em>Look it on the GUI screenshots are listed below</em></p>
<div class="section" id="gui-screenshot-1">
<h3>GUI Screenshot 1<a class="headerlink" href="#gui-screenshot-1" title="Ссылка на этот заголовок"></a></h3>
<p><em>Ниже представлены скриншоты студии</em></p>
<div class="section" id="id4">
<h3>Скриншот 1<a class="headerlink" href="#id4" title="Ссылка на этот заголовок"></a></h3>
<img alt="504b98f76747f63900a2943532a946bb.png" src="img/d3d6ad14a7e50843bd89d2b14a092fee.png" />
</div>
<div class="section" id="gui-screenshot-2">
<h3>GUI Screenshot 2<a class="headerlink" href="#gui-screenshot-2" title="Ссылка на этот заголовок"></a></h3>
<div class="section" id="id5">
<h3>Скриншот 2<a class="headerlink" href="#id5" title="Ссылка на этот заголовок"></a></h3>
<img alt="65b7d51c0a5b21e6b27dc23d4062d3ca.png" src="img/65b7d51c0a5b21e6b27dc23d4062d3ca.png" />
</div>
</div>
<div class="section" id="how-to-extract-ui-tree">
<h2>How to extract UI tree<a class="headerlink" href="#how-to-extract-ui-tree" title="Ссылка на этот заголовок"></a></h2>
<p>In order to extract the UI tree do the following: in <code class="docutils literal notranslate"><span class="pre">UI</span> <span class="pre">tree</span> <span class="pre">viewer</span></code>
choose the object you are interested and click the button «Expand». ##</p>
<div class="section" id="action-click-the-button-expand">
<h3>Action: Click the button «Expand»<a class="headerlink" href="#action-click-the-button-expand" title="Ссылка на этот заголовок"></a></h3>
<span id="id6"></span><h2>Извлечь UI дерево<a class="headerlink" href="#how-to-extract-ui-tree" title="Ссылка на этот заголовок"></a></h2>
<p>Чтобы извлечь дерево пользовательского интерфейса выполните следующие действия: в <code class="docutils literal notranslate"><span class="pre">UI</span> <span class="pre">Tree</span> <span class="pre">viewer</span></code> выбрать интересующий UI объект и нажать кнопку <code class="docutils literal notranslate"><span class="pre">Expand</span></code>.</p>
<div class="section" id="expand">
<h3>Действие: Нажать по кнопке «Expand»<a class="headerlink" href="#expand" title="Ссылка на этот заголовок"></a></h3>
<img alt="6effc376ff6ea928840674bd744caced.png" src="img/6effc376ff6ea928840674bd744caced.png" />
</div>
<div class="section" id="result">
<h3>Result<a class="headerlink" href="#result" title="Ссылка на этот заголовок"></a></h3>
<div class="section" id="id7">
<h3>Итог<a class="headerlink" href="#id7" title="Ссылка на этот заголовок"></a></h3>
<img alt="18b9ab36126c8c32168bf5bbb9330701.png" src="img/18b9ab36126c8c32168bf5bbb9330701.png" />
<hr class="docutils" />
</div>
<div class="section" id="how-to-search-ui-object-by-mouse-hover">
<h3>How to search UI object by mouse hover<a class="headerlink" href="#how-to-search-ui-object-by-mouse-hover" title="Ссылка на этот заголовок"></a></h3>
<p>In order to search UI object do the
following: in <code class="docutils literal notranslate"><span class="pre">UI</span> <span class="pre">tree</span> <span class="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 <code class="docutils literal notranslate"><span class="pre">UI</span> <span class="pre">tree</span> <span class="pre">viewer</span></code>.</p>
</div>
<div class="section" id="action-click-the-button-mouse-search">
<h3>Action: Click the button «Mouse search»<a class="headerlink" href="#action-click-the-button-mouse-search" title="Ссылка на этот заголовок"></a></h3>
<div class="section" id="how-to-search-ui-object-by-mouse-hover">
<span id="id8"></span><h2>Поиск UI объекта по наведению мыши<a class="headerlink" href="#how-to-search-ui-object-by-mouse-hover" title="Ссылка на этот заголовок"></a></h2>
<p>Чтобы выполнить поиск UI объекта пользовательского интерфейса, необходимо в <code class="docutils literal notranslate"><span class="pre">UI</span> <span class="pre">tree</span> <span class="pre">viewer</span></code> выбрать родительский UI объект, в котором вы хотите выполнить поиск, и нажать кнопку <code class="docutils literal notranslate"><span class="pre">Mouse</span> <span class="pre">search</span></code>.</p>
<p>Будет активирован режим поиск UI объекта по курсору мыши. Наведите курсор мыши на интересующий вас объект пользовательского интерфейса и дождитесь, когда студия выделит объект пользовательского интерфейса. После выделения цветов удерживайте клавишу «Ctrl» и подождите 3 секунды. Интересующий UI объект будет показан в <code class="docutils literal notranslate"><span class="pre">UI</span> <span class="pre">tree</span> <span class="pre">viewer</span></code>.</p>
<div class="section" id="mouse-search">
<h3>Действие: Нажать кнопку «Mouse search»<a class="headerlink" href="#mouse-search" title="Ссылка на этот заголовок"></a></h3>
<img alt="84d7e4de0c840631f87cf7b325b53ad8.png" src="img/84d7e4de0c840631f87cf7b325b53ad8.png" />
</div>
<div class="section" id="action-turn-mouse-on-the-ui-object-you-are-interested-and-hold-the-ctrl-key-for-3-seconds">
<h3>Action: Turn mouse on the UI object you are interested and hold the «Ctrl» key for 3 seconds<a class="headerlink" href="#action-turn-mouse-on-the-ui-object-you-are-interested-and-hold-the-ctrl-key-for-3-seconds" title="Ссылка на этот заголовок"></a></h3>
<div class="section" id="ui-ctrl-3">
<h3>Действие: Навести курсор мыши на UI объект, который интересует и зажать клавишу «Ctrl» на 3 секунды<a class="headerlink" href="#ui-ctrl-3" title="Ссылка на этот заголовок"></a></h3>
<img alt="b7c38d622bf5b7afa5b26d1686d7302a.png" src="img/b7c38d622bf5b7afa5b26d1686d7302a.png" />
</div>
<div class="section" id="result-the-interested-ui-object-will-be-shown-in-ui-tree-viewer">
<h3>Result: The interested UI object will be shown in <code class="docutils literal notranslate"><span class="pre">UI</span> <span class="pre">tree</span> <span class="pre">viewer</span></code><a class="headerlink" href="#result-the-interested-ui-object-will-be-shown-in-ui-tree-viewer" title="Ссылка на этот заголовок"></a></h3>
<div class="section" id="ui-ui-tree-viewer">
<h3>Итог: Интересующий UI объект будет отображен в <code class="docutils literal notranslate"><span class="pre">UI</span> <span class="pre">tree</span> <span class="pre">viewer</span></code><a class="headerlink" href="#ui-ui-tree-viewer" title="Ссылка на этот заголовок"></a></h3>
<img alt="629bbf4db2c01b9c640194230949fcd2.png" src="img/629bbf4db2c01b9c640194230949fcd2.png" />
</div>
</div>
<div class="section" id="how-to-extract-ui-object-properties">
<h2>How to extract UI object properties<a class="headerlink" href="#how-to-extract-ui-object-properties" title="Ссылка на этот заголовок"></a></h2>
<p>In order to extract UI object properties do the following: in
<code class="docutils literal notranslate"><span class="pre">Selected</span> <span class="pre">UI</span> <span class="pre">object</span> <span class="pre">hierarchy</span> <span class="pre">list</span></code> choose the UI object you are
interested and click it. The UI object property list will be shown in
<code class="docutils literal notranslate"><span class="pre">Selected</span> <span class="pre">UI</span> <span class="pre">object</span> <span class="pre">property</span> <span class="pre">list</span></code></p>
<div class="section" id="action-choose-the-ui-object-you-are-interested-and-click-it">
<h3>Action: Choose the UI object you are interested and click it<a class="headerlink" href="#action-choose-the-ui-object-you-are-interested-and-click-it" title="Ссылка на этот заголовок"></a></h3>
<span id="id9"></span><h2>Извлечь свойства UI объекта<a class="headerlink" href="#how-to-extract-ui-object-properties" title="Ссылка на этот заголовок"></a></h2>
<p>Чтобы извлечь свойства UI объекта, необходимо в
<code class="docutils literal notranslate"><span class="pre">Selected</span> <span class="pre">UI</span> <span class="pre">object</span> <span class="pre">hierarchy</span> <span class="pre">list</span></code> выбрать интересующий UI объект и щелкнуть по нему. Список свойств UI объекта будет отображен в <code class="docutils literal notranslate"><span class="pre">Selected</span> <span class="pre">UI</span> <span class="pre">object</span> <span class="pre">property</span> <span class="pre">list</span></code></p>
<div class="section" id="choose-the-ui-object-you-are-interested-and-click-it">
<h3>Действие: Choose the UI object you are interested and click it<a class="headerlink" href="#choose-the-ui-object-you-are-interested-and-click-it" title="Ссылка на этот заголовок"></a></h3>
<img alt="2c27be5bdde20b5d062cbb40e74eaec5.png" src="img/2c27be5bdde20b5d062cbb40e74eaec5.png" />
</div>
<div class="section" id="result-the-ui-object-property-list-will-be-shown-in-selected-ui-object-property-list">
<h3>Result: The UI object property list will be shown in <code class="docutils literal notranslate"><span class="pre">Selected</span> <span class="pre">UI</span> <span class="pre">object</span> <span class="pre">property</span> <span class="pre">list</span></code><a class="headerlink" href="#result-the-ui-object-property-list-will-be-shown-in-selected-ui-object-property-list" title="Ссылка на этот заголовок"></a></h3>
<div class="section" id="ui-selected-ui-object-property-list">
<h3>Итог: Свойства UI объекта будут отображены в <code class="docutils literal notranslate"><span class="pre">Selected</span> <span class="pre">UI</span> <span class="pre">object</span> <span class="pre">property</span> <span class="pre">list</span></code><a class="headerlink" href="#ui-selected-ui-object-property-list" title="Ссылка на этот заголовок"></a></h3>
<img alt="f235ae29099a713e0246cd574ac3a17c.png" src="img/f235ae29099a713e0246cd574ac3a17c.png" />
<p> .. v1.2.12 replace:: v1.2.12
.. <a href="#id2"><span class="problematic" id="id3">|author|</span></a> replace:: Ivan Maslov &lt;<a class="reference external" href="mailto:ivan&#46;maslov&#37;&#52;&#48;unicodelabs&#46;ru">ivan<span>&#46;</span>maslov<span>&#64;</span>unicodelabs<span>&#46;</span>ru</a>&gt;</p>
<p></p>
</div>
</div>
<div class="section" id="id10">
<h2>Быстрая навигация<a class="headerlink" href="#id10" title="Ссылка на этот заголовок"></a></h2>
<ul class="simple">
<li><p><a class="reference external" href="https://t.me/pyOpenRPA">Сообщество pyOpenRPA (telegram)</a></p></li>
<li><p><a class="reference external" href="https://tenchat.ru/iMaslov?utm_source=19f2a84f-3268-437f-950c-d987ae42af24">Сообщество pyOpenRPA (tenchat)</a></p></li>
<li><p><a class="reference external" href="https://vk.com/pyopenrpa">Сообщество pyOpenRPA (вконтакте)</a></p></li>
<li><p><a class="reference external" href="https://pyopenrpa.ru/Index/pyOpenRPA_product_service.pdf">Презентация pyOpenRPA</a></p></li>
<li><p><a class="reference external" href="https://pyopenrpa.ru">Портал pyOpenRPA</a></p></li>
<li><p><a class="reference external" href="https://gitlab.com/UnicodeLabs/OpenRPA">Репозиторий pyOpenRPA</a></p></li>
</ul>
<p> .. v1.2.12 replace:: v1.2.12</p>
<p></p>
</div>
</div>
@ -328,7 +324,7 @@ interested and click it. The UI object property list will be shown in
</div>
<footer>
<div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
<a href="../Orchestrator/01_Orchestrator.html" class="btn btn-neutral float-right" title="1. Description" accesskey="n" rel="next">Следующая <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
<a href="../Orchestrator/01_Orchestrator.html" class="btn btn-neutral float-right" title="1. Описание" accesskey="n" rel="next">Следующая <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
<a href="01_Studio.html" class="btn btn-neutral float-left" title="1. Описание" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Предыдущая</a>
</div>

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save