From 349687fe45f0cd9fde1beb6f97c3b244ff579703 Mon Sep 17 00:00:00 2001 From: Ivan Maslov Date: Wed, 15 Jun 2022 18:38:29 +0300 Subject: [PATCH] tab fixes, docs minor changes --- Sources/GuideSphinx/Robot/06_mouse.rst | 2 +- Sources/pyOpenRPA/Robot/Keyboard.py | 28 ++--- Sources/pyOpenRPA/Robot/Mouse.py | 44 +++---- Sources/pyOpenRPA/Robot/UIDesktop.py | 151 +++++++++++++------------ 4 files changed, 113 insertions(+), 112 deletions(-) diff --git a/Sources/GuideSphinx/Robot/06_mouse.rst b/Sources/GuideSphinx/Robot/06_mouse.rst index ca52389d..dab54f67 100644 --- a/Sources/GuideSphinx/Robot/06_mouse.rst +++ b/Sources/GuideSphinx/Robot/06_mouse.rst @@ -23,7 +23,7 @@ How to use both x32 and x64 python processes (it can be helpfully, if another ap # Now you can use pyOpenRPA with both bitness. -.. automodule:: pyOpenRPA.Robot.UIDesktop +.. automodule:: pyOpenRPA.Robot.Mouse :members: :autosummary: diff --git a/Sources/pyOpenRPA/Robot/Keyboard.py b/Sources/pyOpenRPA/Robot/Keyboard.py index 52497621..d6cbacc5 100644 --- a/Sources/pyOpenRPA/Robot/Keyboard.py +++ b/Sources/pyOpenRPA/Robot/Keyboard.py @@ -185,7 +185,7 @@ def Write(inTextStr:str, inDelayFloat:float=0, inRestoreStateAfterBool:bool=True :type inRestoreStateAfterBool: bool, опциональный :param inExactBool: Печатает все знаки как явный unicode. Необязательный параметр :type inExactBool: bool, опциональный - :param inWaitAfterSecFloat: Количество секунд, которые ожидать после выполнения операции. По умолчанию установлено в настройках модуля Keyboard (базовое значение 0.4) + :param inWaitAfterSecFloat: Количество секунд, которые ожидать после выполнения операции. По умолчанию установлено в настройках модуля Keyboard (базовое значение 0.4) :type inWaitAfterSecFloat: float, опциональный """ write(text=inTextStr, delay=inDelayFloat, restore_state_after=inRestoreStateAfterBool, exact=inExactBool) @@ -207,7 +207,7 @@ def HotkeyCombination(*inKeyList, inDelaySecFloat = 0.3,inWaitAfterSecFloat:floa :param inKeyList: Список клавиш для одновременного нажатия. Перечень клавиш см. в разделе "Коды клавиш". Пример: KEY_HOT_CTRL_LEFT,KEY_ENG_A :param inDelaySecFloat: Интервал между нажатиями. Необходим в связи с тем, что операционной системе требуется время на реакцию на нажатие клавиш, по умолчанию: 0.3 :type inDelaySecFloat: float, опциональный - :param inWaitAfterSecFloat: Количество секунд, которые ожидать после выполнения операции. По умолчанию установлено в настройках модуля Keyboard (базовое значение 0.4) + :param inWaitAfterSecFloat: Количество секунд, которые ожидать после выполнения операции. По умолчанию установлено в настройках модуля Keyboard (базовое значение 0.4) :type inWaitAfterSecFloat: float, опциональный """ for l_key_item in inKeyList: @@ -235,7 +235,7 @@ def HotkeyCtrlA_CtrlC(inWaitAfterSecFloat:float=0.4) -> None: from pyOpenRPA.Robot import Keyboard Keyboard.HotkeyCtrlA_CtrlC() # Отправить команды: выделить все, скопировать в буфер обмена - :param inWaitAfterSecFloat: Количество секунд, которые ожидать после выполнения операции. По умолчанию установлено в настройках модуля Keyboard (базовое значение 0.4) + :param inWaitAfterSecFloat: Количество секунд, которые ожидать после выполнения операции. По умолчанию установлено в настройках модуля Keyboard (базовое значение 0.4) :type inWaitAfterSecFloat: float, опциональный """ HotkeyCombination(KEY_HOT_CTRL_LEFT,KEY_ENG_A) # Ctrl + a @@ -245,7 +245,7 @@ def HotkeyCtrlA_CtrlC(inWaitAfterSecFloat:float=0.4) -> None: def Send(inKeyInt:int, inDoPressBool:bool=True, inDoReleaseBool:bool=True,inWaitAfterSecFloat:float=WAIT_AFTER_SEC_FLOAT) -> None: """ Имитация нажатия/отпускания любой физической клавиши. Посылает событие в операционную систему, которые выполняет нажатие и отпускание данной клавиши - + ВНИМАНИЕ! ПРИ ПОПЫТКЕ ПЕЧАТИ ТЕКСТА БУДЕТ УЧИТЫВАТЬ ТЕКУЩУЮ РАСКЛАДКУ КЛАВИАТУРЫ. ДЛЯ ПЕЧАТИ ТЕКСТА ИСПОЛЬЗУЙ Write! .. code-block:: python @@ -260,16 +260,16 @@ def Send(inKeyInt:int, inDoPressBool:bool=True, inDoReleaseBool:bool=True,inWait :type inDoPressBool: bool, опциональный :param inDoReleaseBool: Выполнить событие отпускания клавиши, По умолчанию True :type inDoReleaseBool: bool, опциональный - :param inWaitAfterSecFloat: Количество секунд, которые ожидать после выполнения операции. По умолчанию установлено в настройках модуля Keyboard (базовое значение 0.4) + :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 @@ -280,16 +280,16 @@ def Up(inKeyInt:int, inWaitAfterSecFloat:float=WAIT_AFTER_SEC_FLOAT) -> None: :param inKeyInt: Перечень клавиш см. в разделе "Коды клавиш". Пример: KEY_HOT_CTRL_LEFT, KEY_ENG_A :type inKeyInt: int - :param inWaitAfterSecFloat: Количество секунд, которые ожидать после выполнения операции. По умолчанию установлено в настройках модуля Keyboard (базовое значение 0.4) + :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 @@ -300,7 +300,7 @@ def Down(inKeyInt:int, inWaitAfterSecFloat:float=WAIT_AFTER_SEC_FLOAT) -> None: :param inKeyInt: Перечень клавиш см. в разделе "Коды клавиш". Пример: KEY_HOT_CTRL_LEFT, KEY_ENG_A :type inKeyInt: int - :param inWaitAfterSecFloat: Количество секунд, которые ожидать после выполнения операции. По умолчанию установлено в настройках модуля Keyboard (базовое значение 0.4) + :param inWaitAfterSecFloat: Количество секунд, которые ожидать после выполнения операции. По умолчанию установлено в настройках модуля Keyboard (базовое значение 0.4) :type inWaitAfterSecFloat: float, опциональный """ send(hotkey=inKeyInt, do_press=True, do_release=False) @@ -309,7 +309,7 @@ def Down(inKeyInt:int, inWaitAfterSecFloat:float=WAIT_AFTER_SEC_FLOAT) -> None: def IsDown(inKeyInt:int) -> bool: """ Проверить, опущена ли клавиша. Вернет True если опущена; False если поднята. - + ВНИМАНИЕ! ПРИ ПОПЫТКЕ ПЕЧАТИ ТЕКСТА БУДЕТ УЧИТЫВАТЬ ТЕКУЩУЮ РАСКЛАДКУ КЛАВИАТУРЫ. ДЛЯ ПЕЧАТИ ТЕКСТА ИСПОЛЬЗУЙ Write! .. code-block:: python @@ -321,7 +321,7 @@ def IsDown(inKeyInt:int) -> bool: :param inKeyInt: Перечень клавиш см. в разделе "Коды клавиш". Пример: KEY_HOT_CTRL_LEFT, KEY_ENG_A :type inKeyInt: int """ - return is_pressed(inKeyInt) + return is_pressed(inKeyInt) def Wait(inKeyInt:int,inWaitAfterSecFloat:float=WAIT_AFTER_SEC_FLOAT): """Блокирует осуществление программы, пока данная обозначенная клавиша не будет нажата. @@ -335,7 +335,7 @@ def Wait(inKeyInt:int,inWaitAfterSecFloat:float=WAIT_AFTER_SEC_FLOAT): :param inKeyInt: Перечень клавиш см. в разделе "Коды клавиш". Пример: KEY_HOT_CTRL_LEFT,KEY_ENG_A :type inKeyInt: int - :param inWaitAfterSecFloat: Количество секунд, которые ожидать после выполнения операции. По умолчанию установлено в настройках модуля Keyboard (базовое значение 0.4) + :param inWaitAfterSecFloat: Количество секунд, которые ожидать после выполнения операции. По умолчанию установлено в настройках модуля Keyboard (базовое значение 0.4) :type inWaitAfterSecFloat: float, опциональный """ wait(hotkey=inKeyInt) diff --git a/Sources/pyOpenRPA/Robot/Mouse.py b/Sources/pyOpenRPA/Robot/Mouse.py index f1905908..e693a900 100644 --- a/Sources/pyOpenRPA/Robot/Mouse.py +++ b/Sources/pyOpenRPA/Robot/Mouse.py @@ -7,8 +7,8 @@ def Click(inXInt:int=None, inYInt:int=None, inClickCountInt:int=1, inIntervalSec """Нажатие (вниз) кнопки мыши и затем немедленно выпуск (вверх) её. Допускается следующая параметризация. Если не указаны inXInt и inYInt - клик производится по месту нахождения указателя мыши. !ВНИМАНИЕ! Отсчет координат inXInt, inYInt начинается с левого верхнего края рабочей области (экрана). - - .. code-block:: python + + .. code-block:: python # Mouse: Взаимодействие с мышью from pyOpenRPA.Robot import Mouse @@ -26,7 +26,7 @@ def Click(inXInt:int=None, inYInt:int=None, inClickCountInt:int=1, inIntervalSec :type inButtonStr: str, опциональный :param inMoveDurationSecFloat: Время перемещения указателя мыши, По умолчанию 0.0 (моментальное перемещение) :type inMoveDurationSecFloat: float, опциональный - :param inWaitAfterSecFloat: Количество секунд, которые ожидать после выполнения операции. По умолчанию установлено в настройках модуля Mouse (базовое значение 0.4) + :param inWaitAfterSecFloat: Количество секунд, которые ожидать после выполнения операции. По умолчанию установлено в настройках модуля Mouse (базовое значение 0.4) :type inWaitAfterSecFloat: float, опциональный """ click(x=inXInt, y=inYInt, clicks=inClickCountInt, interval=inIntervalSecFloat, button=inButtonStr, duration=inMoveDurationSecFloat) @@ -37,7 +37,7 @@ def ClickDouble(inXInt:int=None, inYInt:int=None, inWaitAfterSecFloat:float=WAIT !ВНИМАНИЕ! Отсчет координат inXInt, inYInt начинается с левого верхнего края рабочей области (экрана). - .. code-block:: python + .. code-block:: python # Mouse: Взаимодействие с мышью from pyOpenRPA.Robot import Mouse @@ -47,9 +47,9 @@ def ClickDouble(inXInt:int=None, inYInt:int=None, inWaitAfterSecFloat:float=WAIT :type inXInt: int, опциональный :param inYInt: Целевая позиция указателя мыши по оси Y (вертикальная ось). :type inYInt: int, опциональный - :param inButtonStr: Номер кнопки, которую требуется нажать. Возможные варианты: 'left', 'middle', 'right' или 1, 2, 3. В остальных случаях инициирует исключение ValueError. По умолчанию 'left' + :param inButtonStr: Номер кнопки, которую требуется нажать. Возможные варианты: 'left', 'middle', 'right' или 1, 2, 3. В остальных случаях инициирует исключение ValueError. По умолчанию 'left' :type inButtonStr: str, опциональный - :param inWaitAfterSecFloat: Количество секунд, которые ожидать после выполнения операции. По умолчанию установлено в настройках модуля Mouse (базовое значение 0.4) + :param inWaitAfterSecFloat: Количество секунд, которые ожидать после выполнения операции. По умолчанию установлено в настройках модуля Mouse (базовое значение 0.4) :type inWaitAfterSecFloat: float, опциональный """ doubleClick(x=inXInt, y=inYInt) @@ -60,7 +60,7 @@ def Down(inXInt:int=None, inYInt:int=None, inButtonStr:str='left', inWaitAfterSe !ВНИМАНИЕ! Отсчет координат inXInt, inYInt начинается с левого верхнего края рабочей области (экрана). - .. code-block:: python + .. code-block:: python # Mouse: Взаимодействие с мышью from pyOpenRPA.Robot import Mouse @@ -70,9 +70,9 @@ def Down(inXInt:int=None, inYInt:int=None, inButtonStr:str='left', inWaitAfterSe :type inXInt: int, опциональный :param inYInt: Целевая позиция указателя мыши по оси Y (вертикальная ось). :type inYInt: int, опциональный - :param inButtonStr: Номер кнопки, которую требуется нажать. Возможные варианты: 'left', 'middle', 'right' или 1, 2, 3. В остальных случаях инициирует исключение ValueError. По умолчанию 'left' + :param inButtonStr: Номер кнопки, которую требуется нажать. Возможные варианты: 'left', 'middle', 'right' или 1, 2, 3. В остальных случаях инициирует исключение ValueError. По умолчанию 'left' :type inButtonStr: str, опциональный - :param inWaitAfterSecFloat: Количество секунд, которые ожидать после выполнения операции. По умолчанию установлено в настройках модуля Mouse (базовое значение 0.4) + :param inWaitAfterSecFloat: Количество секунд, которые ожидать после выполнения операции. По умолчанию установлено в настройках модуля Mouse (базовое значение 0.4) :type inWaitAfterSecFloat: float, опциональный """ mouseDown(x=inXInt, y=inYInt, button = inButtonStr) @@ -83,7 +83,7 @@ def Up(inXInt:int=None, inYInt:int=None, inButtonStr:str='left', inWaitAfterSecF !ВНИМАНИЕ! Отсчет координат inXInt, inYInt начинается с левого верхнего края рабочей области. - .. code-block:: python + .. code-block:: python # Mouse: Взаимодействие с мышью from pyOpenRPA.Robot import Mouse @@ -93,9 +93,9 @@ def Up(inXInt:int=None, inYInt:int=None, inButtonStr:str='left', inWaitAfterSecF :type inXInt: int, опциональный :param inYInt: Целевая позиция указателя мыши по оси Y (вертикальная ось). :type inYInt: int, опциональный - :param inButtonStr: Номер кнопки, которую требуется поднять. Возможные варианты: 'left', 'middle', 'right' или 1, 2, 3. В остальных случаях инициирует исключение ValueError. По умолчанию 'left' + :param inButtonStr: Номер кнопки, которую требуется поднять. Возможные варианты: 'left', 'middle', 'right' или 1, 2, 3. В остальных случаях инициирует исключение ValueError. По умолчанию 'left' :type inButtonStr: str, опциональный - :param inWaitAfterSecFloat: Количество секунд, которые ожидать после выполнения операции. По умолчанию установлено в настройках модуля Mouse (базовое значение 0.4) + :param inWaitAfterSecFloat: Количество секунд, которые ожидать после выполнения операции. По умолчанию установлено в настройках модуля Mouse (базовое значение 0.4) :type inWaitAfterSecFloat: float, опциональный """ mouseUp(x=inXInt, y=inYInt, button = inButtonStr) @@ -106,7 +106,7 @@ def MoveTo(inXInt=None, inYInt=None, inMoveDurationSecFloat:float=0.0, inWaitAft !ВНИМАНИЕ! Отсчет координат inXInt, inYInt начинается с левого верхнего края рабочей области (экрана). - .. code-block:: python + .. code-block:: python # Mouse: Взаимодействие с мышью from pyOpenRPA.Robot import Mouse @@ -118,55 +118,55 @@ def MoveTo(inXInt=None, inYInt=None, inMoveDurationSecFloat:float=0.0, inWaitAft :type inYInt: int, опциональный :param inMoveDurationSecFloat: Время перемещения указателя мыши, По умолчанию 0.0 (моментальное перемещение) :type inMoveDurationSecFloat: float, опциональный - :param inWaitAfterSecFloat: Количество секунд, которые ожидать после выполнения операции. По умолчанию установлено в настройках модуля Mouse (базовое значение 0.4) + :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 + .. 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: Количество щелчок колеса мыши, которое требуется !вертикально! прокрутить. Аргумент может принимать как положительное (прокрутка вниз), так и отрицательное (прокрутка вверх) значения + :param inScrollClickCountInt: Количество щелчок колеса мыши, которое требуется !вертикально! прокрутить. Аргумент может принимать как положительное (прокрутка вниз), так и отрицательное (прокрутка вверх) значения :type inScrollClickCountInt: int, обязательный :param inXInt: Целевая позиция указателя мыши по оси X (горизонтальная ось). :type inXInt: int, опциональный :param inYInt: Целевая позиция указателя мыши по оси Y (вертикальная ось). :type inYInt: int, опциональный - :param inWaitAfterSecFloat: Количество секунд, которые ожидать после выполнения операции. По умолчанию установлено в настройках модуля Mouse (базовое значение 0.4) + :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 + .. 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: Количество щелчок колеса мыши, которое требуется !горизонтально! прокрутить. Аргумент может принимать как положительное (прокрутка вправо), так и отрицательное (прокрутка влево) значения + :param inScrollClickCountInt: Количество щелчок колеса мыши, которое требуется !горизонтально! прокрутить. Аргумент может принимать как положительное (прокрутка вправо), так и отрицательное (прокрутка влево) значения :type inScrollClickCountInt: int, обязательный :param inXInt: Целевая позиция указателя мыши по оси X (горизонтальная ось). :type inXInt: int, опциональный :param inYInt: Целевая позиция указателя мыши по оси Y (вертикальная ось). :type inYInt: int, опциональный - :param inWaitAfterSecFloat: Количество секунд, которые ожидать после выполнения операции. По умолчанию установлено в настройках модуля Mouse (базовое значение 0.4) + :param inWaitAfterSecFloat: Количество секунд, которые ожидать после выполнения операции. По умолчанию установлено в настройках модуля Mouse (базовое значение 0.4) :type inWaitAfterSecFloat: float, опциональный """ hscroll(inScrollClickCountInt, x=inXInt, y=inYInt) diff --git a/Sources/pyOpenRPA/Robot/UIDesktop.py b/Sources/pyOpenRPA/Robot/UIDesktop.py index 78ddd23b..7afd5f3c 100644 --- a/Sources/pyOpenRPA/Robot/UIDesktop.py +++ b/Sources/pyOpenRPA/Robot/UIDesktop.py @@ -103,23 +103,23 @@ mDefaultPywinautoBackend="win32" #old:PywinautoExtElementsGet def UIOSelector_Get_UIOList (inSpecificationList,inElement=None,inFlagRaiseException=True): ''' - Получить список UIO объектов по UIO селектору - - .. code-block:: python + Получить список UIO объектов по UIO селектору + + .. code-block:: python # UIDesktop: Взаимодействие с UI объектами приложений from pyOpenRPA.Robot import UIDesktop - # 1С: UIO Селектор выбора базы - lDemoBaseUIOSelector = [{"title":"Запуск 1С:Предприятия","class_name":"V8TopLevelFrameTaxiStarter","backend":"uia"},{"title":"DEMO", "depth_start": 5, "depth_end": 5}] + # 1С: UIO Селектор выбора базы + lDemoBaseUIOSelector = [{"title":"Запуск 1С:Предприятия","class_name":"V8TopLevelFrameTaxiStarter","backend":"uia"},{"title":"DEMO", "depth_start": 5, "depth_end": 5}] lDemoBaseUIOList = UIDesktop.UIOSelector_Get_UIOList(lDemoBaseUIOSelector) #Получить список UIO объектов, которые удовлетворяют требованиям UIO селектора. В нашем примере либо [], либо [UIO объект] :param inSpecificationList: UIO Селектор, который определяет критерии поиска UI элементов - :type inSpecificationList: list, обязательный + :type inSpecificationList: list, обязательный :param inElement: Родительский элемент, от которого выполнить поиск UIO объектов по заданному UIO селектору. Если аргумент не задан, платформа выполнит поиск UIO объектов среди всех доступных приложений windows, которые запущены на текущей сессии :type inElement: UIO объект, опциональный - :param inFlagRaiseException: True - формировать ошибку exception, если платформа не обнаружина ни одного UIO объекта по заданному UIO селектору. False - обратный случай. По умолчанию True + :param inFlagRaiseException: True - формировать ошибку exception, если платформа не обнаружина ни одного UIO объекта по заданному UIO селектору. False - обратный случай. По умолчанию True :type inFlagRaiseException: bool, опциональный - :return: Список UIO объектов, которые удовлетворяют условиям UIO селектора + :return: Список UIO объектов, которые удовлетворяют условиям UIO селектора ''' #Создать копию входного листа, чтобы не менять массив в других верхнеуровневых функциях inSpecificationList=copy.deepcopy(inSpecificationList) @@ -246,23 +246,23 @@ def UIOSelector_Get_UIOList (inSpecificationList,inElement=None,inFlagRaiseExcep #old:PywinautoExtElementGet def UIOSelector_Get_UIO (inSpecificationList,inElement=None,inFlagRaiseException=True): ''' - Получить список UIO объект по UIO селектору. Если критериям UIO селектора удовлетворяет несколько UIO объектов - вернуть первый из списка - - .. code-block:: python + Получить список UIO объект по UIO селектору. Если критериям UIO селектора удовлетворяет несколько UIO объектов - вернуть первый из списка + + .. code-block:: python # UIDesktop: Взаимодействие с UI объектами приложений from pyOpenRPA.Robot import UIDesktop - # 1С: UIO Селектор выбора базы - lDemoBaseUIOSelector = [{"title":"Запуск 1С:Предприятия","class_name":"V8TopLevelFrameTaxiStarter","backend":"uia"},{"title":"DEMO", "depth_start": 5, "depth_end": 5}] + # 1С: UIO Селектор выбора базы + lDemoBaseUIOSelector = [{"title":"Запуск 1С:Предприятия","class_name":"V8TopLevelFrameTaxiStarter","backend":"uia"},{"title":"DEMO", "depth_start": 5, "depth_end": 5}] lDemoBaseUIOList = UIDesktop.UIOSelector_Get_UIO(lDemoBaseUIOSelector) #Получить 1-й UIO объект, которые удовлетворяет требованиям UIO селектора. В нашем примере либо None, либо UIO объект :param inSpecificationList: UIO Селектор, который определяет критерии поиска UI элементов - :type inSpecificationList: list, обязательный + :type inSpecificationList: list, обязательный :param inElement: Родительский элемент, от которого выполнить поиск UIO объектов по заданному UIO селектору. Если аргумент не задан, платформа выполнит поиск UIO объектов среди всех доступных приложений windows, которые запущены на текущей сессии :type inElement: UIO объект, опциональный - :param inFlagRaiseException: True - формировать ошибку exception, если платформа не обнаружина ни одного UIO объекта по заданному UIO селектору. False - обратный случай. По умолчанию True + :param inFlagRaiseException: True - формировать ошибку exception, если платформа не обнаружина ни одного UIO объекта по заданному UIO селектору. False - обратный случай. По умолчанию True :type inFlagRaiseException: bool, опциональный - :return: UIO объект, которые удовлетворяют условиям UIO селектора, или None + :return: UIO объект, которые удовлетворяют условиям UIO селектора, или None ''' lResult=None #Получить родительский объект если на вход ничего не поступило @@ -273,25 +273,25 @@ def UIOSelector_Get_UIO (inSpecificationList,inElement=None,inFlagRaiseException if lResult is None and inFlagRaiseException: raise pywinauto.findwindows.ElementNotFoundError("Robot can't find element by the UIOSelector") return lResult - + #old:- def UIOSelector_Exist_Bool (inUIOSelector): ''' - Проверить существование хотя бы 1-го UIO объекта по заданному UIO селектору - - !ВНИМАНИЕ! ДАННАЯ ФУНКЦИОНАЛЬНОСТЬ В АВТОМАТИЧЕСКОМ РЕЖИМЕ ПОДДЕРЖИВАЕТ ВСЕ РАЗРЯДНОСТИ ПРИЛОЖЕНИЙ (32|64), КОТОРЫЕ ЗАПУЩЕНЫ В СЕСИИ. PYTHON x64 ИМЕЕТ ВОЗМОЖНОСТЬ ВЗЗАИМОДЕЙСТВИЯ С x32 UIO ОБЪЕКТАМИ, НО МЫ РЕКОМЕНДУЕМ ДОПОЛНИТЕЛЬНО ИСПОЛЬЗОВАТЬ ИНТЕРПРЕТАТОР PYTHON x32 (ПОДРОБНЕЕ СМ. ФУНКЦИЮ Configure()) - - .. code-block:: python + Проверить существование хотя бы 1-го UIO объекта по заданному UIO селектору + + !ВНИМАНИЕ! ДАННАЯ ФУНКЦИОНАЛЬНОСТЬ В АВТОМАТИЧЕСКОМ РЕЖИМЕ ПОДДЕРЖИВАЕТ ВСЕ РАЗРЯДНОСТИ ПРИЛОЖЕНИЙ (32|64), КОТОРЫЕ ЗАПУЩЕНЫ В СЕСИИ. PYTHON x64 ИМЕЕТ ВОЗМОЖНОСТЬ ВЗЗАИМОДЕЙСТВИЯ С x32 UIO ОБЪЕКТАМИ, НО МЫ РЕКОМЕНДУЕМ ДОПОЛНИТЕЛЬНО ИСПОЛЬЗОВАТЬ ИНТЕРПРЕТАТОР PYTHON x32 (ПОДРОБНЕЕ СМ. ФУНКЦИЮ Configure()) + + .. code-block:: python # UIDesktop: Взаимодействие с UI объектами приложений from pyOpenRPA.Robot import UIDesktop - # 1С: UIO Селектор выбора базы - lDemoBaseUIOSelector = [{"title":"Запуск 1С:Предприятия","class_name":"V8TopLevelFrameTaxiStarter","backend":"uia"},{"title":"DEMO", "depth_start": 5, "depth_end": 5}] + # 1С: UIO Селектор выбора базы + lDemoBaseUIOSelector = [{"title":"Запуск 1С:Предприятия","class_name":"V8TopLevelFrameTaxiStarter","backend":"uia"},{"title":"DEMO", "depth_start": 5, "depth_end": 5}] lDemoBaseUIOExistBool = UIDesktop.UIOSelector_Exist_Bool(lDemoBaseUIOSelector) # Получить булевый результат проверки существования UIO объекта :param inUIOSelector: UIO Селектор, который определяет критерии поиска UIO объектов - :type inUIOSelector: list, обязательный - :return: True - существует хотя бы 1 UIO объект. False - не существует ни одного UIO объекта по заданному UIO селектору + :type inUIOSelector: list, обязательный + :return: True - существует хотя бы 1 UIO объект. False - не существует ни одного UIO объекта по заданному UIO селектору ''' lResult=False #Check the bitness @@ -320,22 +320,22 @@ def UIOSelector_Exist_Bool (inUIOSelector): #old: - def UIOSelectorsSecs_WaitAppear_List (inSpecificationListList,inWaitSecs=86400.0,inFlagWaitAllInMoment=False): ''' - Ожидать появление хотя бы 1-го / всех UIO объектов по заданным UIO селекторам - - !ВНИМАНИЕ! ДАННАЯ ФУНКЦИОНАЛЬНОСТЬ В АВТОМАТИЧЕСКОМ РЕЖИМЕ ПОДДЕРЖИВАЕТ ВСЕ РАЗРЯДНОСТИ ПРИЛОЖЕНИЙ (32|64), КОТОРЫЕ ЗАПУЩЕНЫ В СЕСИИ. PYTHON x64 ИМЕЕТ ВОЗМОЖНОСТЬ ВЗЗАИМОДЕЙСТВИЯ С x32 UIO ОБЪЕКТАМИ, НО МЫ РЕКОМЕНДУЕМ ДОПОЛНИТЕЛЬНО ИСПОЛЬЗОВАТЬ ИНТЕРПРЕТАТОР PYTHON x32 (ПОДРОБНЕЕ СМ. ФУНКЦИЮ Configure()) - - .. code-block:: python + Ожидать появление хотя бы 1-го / всех UIO объектов по заданным UIO селекторам + + !ВНИМАНИЕ! ДАННАЯ ФУНКЦИОНАЛЬНОСТЬ В АВТОМАТИЧЕСКОМ РЕЖИМЕ ПОДДЕРЖИВАЕТ ВСЕ РАЗРЯДНОСТИ ПРИЛОЖЕНИЙ (32|64), КОТОРЫЕ ЗАПУЩЕНЫ В СЕСИИ. PYTHON x64 ИМЕЕТ ВОЗМОЖНОСТЬ ВЗЗАИМОДЕЙСТВИЯ С x32 UIO ОБЪЕКТАМИ, НО МЫ РЕКОМЕНДУЕМ ДОПОЛНИТЕЛЬНО ИСПОЛЬЗОВАТЬ ИНТЕРПРЕТАТОР PYTHON x32 (ПОДРОБНЕЕ СМ. ФУНКЦИЮ Configure()) + + .. code-block:: python # UIDesktop: Взаимодействие с UI объектами приложений from pyOpenRPA.Robot import UIDesktop - # 1С: UIO Селектор выбора базы - lDemoBaseUIOSelector = [{"title":"Запуск 1С:Предприятия","class_name":"V8TopLevelFrameTaxiStarter","backend":"uia"},{"title":"DEMO", "depth_start": 5, "depth_end": 5}] + # 1С: UIO Селектор выбора базы + lDemoBaseUIOSelector = [{"title":"Запуск 1С:Предприятия","class_name":"V8TopLevelFrameTaxiStarter","backend":"uia"},{"title":"DEMO", "depth_start": 5, "depth_end": 5}] lNotepadOKSelector = [{"title":"notepad"},{"title":"OK"}] lNotepadCancelSelector = [{"title":"notepad"},{"title":"Cancel"}] lDemoBaseUIOExistList = UIDesktop.UIOSelectorsSecs_WaitAppear_List([lDemoBaseUIOSelector, lNotepadOKSelector, lNotepadCancelSelector]) # Ожидать появление UIO объекта :param inSpecificationListList: Список UIO селекторов, которые определяют критерии поиска UIO объектов - Пример: [ + Пример: [ [{"title":"notepad"},{"title":"OK"}], [{"title":"notepad"},{"title":"Cancel"}] ] @@ -343,7 +343,7 @@ def UIOSelectorsSecs_WaitAppear_List (inSpecificationListList,inWaitSecs=86400.0 :param inWaitSecs: Количество секунд, которые отвести на ожидание UIO объектов. По умолчанию 24 часа (86400 секунд) :type inWaitSecs: float, необязательный :param inFlagWaitAllInMoment: True - Ожидать до того момента, пока не появятся все запрашиваемые UIO объекты на рабочей области - :return: Список индексов, которые указывают на номер входящих UIO селекторов, которые были обнаружены на рабочей области. Пример: [0,2] + :return: Список индексов, которые указывают на номер входящих UIO селекторов, которые были обнаружены на рабочей области. Пример: [0,2] ''' lResultFlag=False lSecsSleep = 1 #Настроечный параметр @@ -378,22 +378,22 @@ def UIOSelectorsSecs_WaitAppear_List (inSpecificationListList,inWaitSecs=86400.0 #old: - def UIOSelectorsSecs_WaitDisappear_List (inSpecificationListList,inWaitSecs=86400.0,inFlagWaitAllInMoment=False): ''' - Ожидать исчезновение хотя бы 1-го / всех UIO объектов по заданным UIO селекторам - - !ВНИМАНИЕ! ДАННАЯ ФУНКЦИОНАЛЬНОСТЬ В АВТОМАТИЧЕСКОМ РЕЖИМЕ ПОДДЕРЖИВАЕТ ВСЕ РАЗРЯДНОСТИ ПРИЛОЖЕНИЙ (32|64), КОТОРЫЕ ЗАПУЩЕНЫ В СЕСИИ. PYTHON x64 ИМЕЕТ ВОЗМОЖНОСТЬ ВЗЗАИМОДЕЙСТВИЯ С x32 UIO ОБЪЕКТАМИ, НО МЫ РЕКОМЕНДУЕМ ДОПОЛНИТЕЛЬНО ИСПОЛЬЗОВАТЬ ИНТЕРПРЕТАТОР PYTHON x32 (ПОДРОБНЕЕ СМ. ФУНКЦИЮ Configure()) - - .. code-block:: python + Ожидать исчезновение хотя бы 1-го / всех UIO объектов по заданным UIO селекторам + + !ВНИМАНИЕ! ДАННАЯ ФУНКЦИОНАЛЬНОСТЬ В АВТОМАТИЧЕСКОМ РЕЖИМЕ ПОДДЕРЖИВАЕТ ВСЕ РАЗРЯДНОСТИ ПРИЛОЖЕНИЙ (32|64), КОТОРЫЕ ЗАПУЩЕНЫ В СЕСИИ. PYTHON x64 ИМЕЕТ ВОЗМОЖНОСТЬ ВЗЗАИМОДЕЙСТВИЯ С x32 UIO ОБЪЕКТАМИ, НО МЫ РЕКОМЕНДУЕМ ДОПОЛНИТЕЛЬНО ИСПОЛЬЗОВАТЬ ИНТЕРПРЕТАТОР PYTHON x32 (ПОДРОБНЕЕ СМ. ФУНКЦИЮ Configure()) + + .. code-block:: python # UIDesktop: Взаимодействие с UI объектами приложений from pyOpenRPA.Robot import UIDesktop - # 1С: UIO Селектор выбора базы - lDemoBaseUIOSelector = [{"title":"Запуск 1С:Предприятия","class_name":"V8TopLevelFrameTaxiStarter","backend":"uia"},{"title":"DEMO", "depth_start": 5, "depth_end": 5}] + # 1С: UIO Селектор выбора базы + lDemoBaseUIOSelector = [{"title":"Запуск 1С:Предприятия","class_name":"V8TopLevelFrameTaxiStarter","backend":"uia"},{"title":"DEMO", "depth_start": 5, "depth_end": 5}] lNotepadOKSelector = [{"title":"notepad"},{"title":"OK"}] lNotepadCancelSelector = [{"title":"notepad"},{"title":"Cancel"}] lDemoBaseUIOExistList = UIDesktop.UIOSelectorsSecs_WaitDisappear_List([lDemoBaseUIOSelector, lNotepadOKSelector, lNotepadCancelSelector]) # Ожидать исчезновение UIO объектов :param inSpecificationListList: Список UIO селекторов, которые определяют критерии поиска UIO объектов - Пример: [ + Пример: [ [{"title":"notepad"},{"title":"OK"}], [{"title":"notepad"},{"title":"Cancel"}] ] @@ -401,7 +401,7 @@ def UIOSelectorsSecs_WaitDisappear_List (inSpecificationListList,inWaitSecs=8640 :param inWaitSecs: Количество секунд, которые отвести на ожидание исчезновения UIO объектов. По умолчанию 24 часа (86400 секунд) :type inWaitSecs: float, необязательный :param inFlagWaitAllInMoment: True - Ожидать до того момента, пока не исчезнут все запрашиваемые UIO объекты на рабочей области - :return: Список индексов, которые указывают на номер входящих UIO селекторов, которые были обнаружены на рабочей области. Пример: [0,2] + :return: Список индексов, которые указывают на номер входящих UIO селекторов, которые были обнаружены на рабочей области. Пример: [0,2] ''' lResultFlag=False @@ -437,23 +437,23 @@ def UIOSelectorsSecs_WaitDisappear_List (inSpecificationListList,inWaitSecs=8640 #old: - def UIOSelectorSecs_WaitAppear_Bool (inSpecificationList,inWaitSecs): ''' - Ожидать появление 1-го UIO объекта по заданному UIO селектору - - !ВНИМАНИЕ! ДАННАЯ ФУНКЦИОНАЛЬНОСТЬ В АВТОМАТИЧЕСКОМ РЕЖИМЕ ПОДДЕРЖИВАЕТ ВСЕ РАЗРЯДНОСТИ ПРИЛОЖЕНИЙ (32|64), КОТОРЫЕ ЗАПУЩЕНЫ В СЕСИИ. PYTHON x64 ИМЕЕТ ВОЗМОЖНОСТЬ ВЗЗАИМОДЕЙСТВИЯ С x32 UIO ОБЪЕКТАМИ, НО МЫ РЕКОМЕНДУЕМ ДОПОЛНИТЕЛЬНО ИСПОЛЬЗОВАТЬ ИНТЕРПРЕТАТОР PYTHON x32 (ПОДРОБНЕЕ СМ. ФУНКЦИЮ Configure()) - - .. code-block:: python + Ожидать появление 1-го UIO объекта по заданному UIO селектору + + !ВНИМАНИЕ! ДАННАЯ ФУНКЦИОНАЛЬНОСТЬ В АВТОМАТИЧЕСКОМ РЕЖИМЕ ПОДДЕРЖИВАЕТ ВСЕ РАЗРЯДНОСТИ ПРИЛОЖЕНИЙ (32|64), КОТОРЫЕ ЗАПУЩЕНЫ В СЕСИИ. PYTHON x64 ИМЕЕТ ВОЗМОЖНОСТЬ ВЗЗАИМОДЕЙСТВИЯ С x32 UIO ОБЪЕКТАМИ, НО МЫ РЕКОМЕНДУЕМ ДОПОЛНИТЕЛЬНО ИСПОЛЬЗОВАТЬ ИНТЕРПРЕТАТОР PYTHON x32 (ПОДРОБНЕЕ СМ. ФУНКЦИЮ Configure()) + + .. code-block:: python # UIDesktop: Взаимодействие с UI объектами приложений from pyOpenRPA.Robot import UIDesktop - # 1С: UIO Селектор выбора базы - lDemoBaseUIOSelector = [{"title":"Запуск 1С:Предприятия","class_name":"V8TopLevelFrameTaxiStarter","backend":"uia"},{"title":"DEMO", "depth_start": 5, "depth_end": 5}] + # 1С: UIO Селектор выбора базы + lDemoBaseUIOSelector = [{"title":"Запуск 1С:Предприятия","class_name":"V8TopLevelFrameTaxiStarter","backend":"uia"},{"title":"DEMO", "depth_start": 5, "depth_end": 5}] lDemoBaseUIOExistBool = UIDesktop.UIOSelectorSecs_WaitAppear_Bool(lDemoBaseUIOSelector) # Ожидать появление UIO объекта :param inSpecificationList: UIO селектор, который определяет критерии поиска UIO объекта :type inSpecificationList: list, обязательный :param inWaitSecs: Количество секунд, которые отвести на ожидание UIO объекта. По умолчанию 24 часа (86400 секунд) :type inWaitSecs: float, необязательный - :return: True - UIO объект был обнаружен. False - обратная ситуациая + :return: True - UIO объект был обнаружен. False - обратная ситуациая ''' lWaitAppearList=UIOSelectorsSecs_WaitAppear_List([inSpecificationList],inWaitSecs) lResult=False @@ -464,23 +464,23 @@ def UIOSelectorSecs_WaitAppear_Bool (inSpecificationList,inWaitSecs): #old name - - def UIOSelectorSecs_WaitDisappear_Bool (inSpecificationList,inWaitSecs): ''' - Ожидать исчезновение 1-го UIO объекта по заданному UIO селектору - - !ВНИМАНИЕ! ДАННАЯ ФУНКЦИОНАЛЬНОСТЬ В АВТОМАТИЧЕСКОМ РЕЖИМЕ ПОДДЕРЖИВАЕТ ВСЕ РАЗРЯДНОСТИ ПРИЛОЖЕНИЙ (32|64), КОТОРЫЕ ЗАПУЩЕНЫ В СЕСИИ. PYTHON x64 ИМЕЕТ ВОЗМОЖНОСТЬ ВЗЗАИМОДЕЙСТВИЯ С x32 UIO ОБЪЕКТАМИ, НО МЫ РЕКОМЕНДУЕМ ДОПОЛНИТЕЛЬНО ИСПОЛЬЗОВАТЬ ИНТЕРПРЕТАТОР PYTHON x32 (ПОДРОБНЕЕ СМ. ФУНКЦИЮ Configure()) - - .. code-block:: python + Ожидать исчезновение 1-го UIO объекта по заданному UIO селектору + + !ВНИМАНИЕ! ДАННАЯ ФУНКЦИОНАЛЬНОСТЬ В АВТОМАТИЧЕСКОМ РЕЖИМЕ ПОДДЕРЖИВАЕТ ВСЕ РАЗРЯДНОСТИ ПРИЛОЖЕНИЙ (32|64), КОТОРЫЕ ЗАПУЩЕНЫ В СЕСИИ. PYTHON x64 ИМЕЕТ ВОЗМОЖНОСТЬ ВЗЗАИМОДЕЙСТВИЯ С x32 UIO ОБЪЕКТАМИ, НО МЫ РЕКОМЕНДУЕМ ДОПОЛНИТЕЛЬНО ИСПОЛЬЗОВАТЬ ИНТЕРПРЕТАТОР PYTHON x32 (ПОДРОБНЕЕ СМ. ФУНКЦИЮ Configure()) + + .. code-block:: python # UIDesktop: Взаимодействие с UI объектами приложений from pyOpenRPA.Robot import UIDesktop - # 1С: UIO Селектор выбора базы - lDemoBaseUIOSelector = [{"title":"Запуск 1С:Предприятия","class_name":"V8TopLevelFrameTaxiStarter","backend":"uia"},{"title":"DEMO", "depth_start": 5, "depth_end": 5}] + # 1С: UIO Селектор выбора базы + lDemoBaseUIOSelector = [{"title":"Запуск 1С:Предприятия","class_name":"V8TopLevelFrameTaxiStarter","backend":"uia"},{"title":"DEMO", "depth_start": 5, "depth_end": 5}] lDemoBaseUIOExistBool = UIDesktop.UIOSelectorSecs_WaitDisappear_Bool(lDemoBaseUIOSelector) # Ожидать исчезновение UIO объекта :param inSpecificationList: UIO селектор, который определяет критерии поиска UIO объекта :type inSpecificationList: list, обязательный :param inWaitSecs: Количество секунд, которые отвести на исчезновение UIO объекта. По умолчанию 24 часа (86400 секунд) :type inWaitSecs: float, необязательный - :return: True - UIO объект был обнаружен. False - обратная ситуациая + :return: True - UIO объект был обнаружен. False - обратная ситуациая ''' lWaitDisappearList=UIOSelectorsSecs_WaitDisappear_List([inSpecificationList],inWaitSecs) lResult=False @@ -491,19 +491,19 @@ def UIOSelectorSecs_WaitDisappear_Bool (inSpecificationList,inWaitSecs): #old: - def UIOSelector_Get_BitnessInt (inSpecificationList): ''' - Определить разрядность приложения по UIO селектору. Вернуть результат в формате целого числа (64 или 32) + Определить разрядность приложения по UIO селектору. Вернуть результат в формате целого числа (64 или 32) - .. code-block:: python + .. code-block:: python # UIDesktop: Взаимодействие с UI объектами приложений from pyOpenRPA.Robot import UIDesktop - # 1С: UIO Селектор выбора базы - lDemoBaseUIOSelector = [{"title":"Запуск 1С:Предприятия","class_name":"V8TopLevelFrameTaxiStarter","backend":"uia"},{"title":"DEMO", "depth_start": 5, "depth_end": 5}] + # 1С: UIO Селектор выбора базы + lDemoBaseUIOSelector = [{"title":"Запуск 1С:Предприятия","class_name":"V8TopLevelFrameTaxiStarter","backend":"uia"},{"title":"DEMO", "depth_start": 5, "depth_end": 5}] lDemoBaseBitInt = UIDesktop.UIOSelector_Get_BitnessInt(lDemoBaseUIOSelector) # Определить разрядность приложения, в котором обнаружен UIO объект по селектору :param inSpecificationList: UIO селектор, который определяет критерии поиска UIO объекта :type inSpecificationList: list, обязательный - :return: None - UIO объект не обнаружен; 64 (int) - разрядность приложения равна 64 битам; 32 (int) - разрядность приложения равна 32 битам + :return: None - UIO объект не обнаружен; 64 (int) - разрядность приложения равна 64 битам; 32 (int) - разрядность приложения равна 32 битам ''' lResult=None #Получить объект Application (Для проверки разрядности) @@ -517,21 +517,21 @@ def UIOSelector_Get_BitnessInt (inSpecificationList): #old: - def UIOSelector_Get_BitnessStr (inSpecificationList): - ''' - Определить разрядность приложения по UIO селектору. Вернуть результат в формате строки ("64" или "32") + """ + Определить разрядность приложения по UIO селектору. Вернуть результат в формате строки ("64" или "32") - .. code-block:: python + .. code-block:: python # UIDesktop: Взаимодействие с UI объектами приложений from pyOpenRPA.Robot import UIDesktop - # 1С: UIO Селектор выбора базы - lDemoBaseUIOSelector = [{"title":"Запуск 1С:Предприятия","class_name":"V8TopLevelFrameTaxiStarter","backend":"uia"},{"title":"DEMO", "depth_start": 5, "depth_end": 5}] + # 1С: UIO Селектор выбора базы + lDemoBaseUIOSelector = [{"title":"Запуск 1С:Предприятия","class_name":"V8TopLevelFrameTaxiStarter","backend":"uia"},{"title":"DEMO", "depth_start": 5, "depth_end": 5}] lDemoBaseBitStr = UIDesktop.UIOSelector_Get_BitnessStr(lDemoBaseUIOSelector) # Определить разрядность приложения, в котором обнаружен UIO объект по селектору :param inSpecificationList: UIO селектор, который определяет критерии поиска UIO объекта :type inSpecificationList: list, обязательный - :return: None - UIO объект не обнаружен; "64" (str) - разрядность приложения равна 64 битам; "32" (str) - разрядность приложения равна 32 битам - ''' + :return: None - UIO объект не обнаружен; "64" (str) - разрядность приложения равна 64 битам; "32" (str) - разрядность приложения равна 32 битам + """ lResult=None #Получить объект Application (Для проверки разрядности) lRootElement=PWASpecification_Get_PWAApplication(inSpecificationList) @@ -545,13 +545,14 @@ def UIOSelector_Get_BitnessStr (inSpecificationList): #old: - def Get_OSBitnessInt (): ''' - Определить разрядность робота, в котором запускается данная функция + Определить разрядность робота, в котором запускается данная функция - .. code-block:: python + .. code-block:: python from pyOpenRPA.Robot import UIDesktop lRobotBitInt = UIDesktop.Get_OSBitnessInt() # Определить разрядность робота, в котором была вызвана это функция - :return: 64 (int) - разрядность приложения равна 64 битам; 32 (int) - разрядность приложения равна 32 битам + + :return: 64 (int) - разрядность приложения равна 64 битам; 32 (int) - разрядность приложения равна 32 битам ''' lResult=32 if pywinauto.sysinfo.is_x64_OS():