UIDesktop wiki in progress, fix Mouse module after docs

dev-linux
Ivan Maslov 2 years ago
parent 7866c29480
commit 671c5ecaa1

@ -30,7 +30,7 @@ def Click(inXInt:int=None, inYInt:int=None, inClickCountInt:int=1, inIntervalSec
:type inWaitAfterSecFloat: float, опциональный :type inWaitAfterSecFloat: float, опциональный
""" """
click(x=inXInt, y=inYInt, clicks=inClickCountInt, interval=inIntervalSecFloat, button=inButtonStr, duration=inMoveDurationSecFloat) click(x=inXInt, y=inYInt, clicks=inClickCountInt, interval=inIntervalSecFloat, button=inButtonStr, duration=inMoveDurationSecFloat)
time.sleep(inWaitAfterSecFloat) time.sleep(inWaitAfterSecFloat)
def ClickDouble(inXInt:int=None, inYInt:int=None, inWaitAfterSecFloat:float=WAIT_AFTER_SEC_FLOAT): def ClickDouble(inXInt:int=None, inYInt:int=None, inWaitAfterSecFloat:float=WAIT_AFTER_SEC_FLOAT):
"""Двойное нажатие левой клавиши мыши. Данное действие аналогично вызову функции (см. ниже). """Двойное нажатие левой клавиши мыши. Данное действие аналогично вызову функции (см. ниже).
@ -53,7 +53,7 @@ def ClickDouble(inXInt:int=None, inYInt:int=None, inWaitAfterSecFloat:float=WAIT
:type inWaitAfterSecFloat: float, опциональный :type inWaitAfterSecFloat: float, опциональный
""" """
doubleClick(x=inXInt, y=inYInt) doubleClick(x=inXInt, y=inYInt)
time.sleep(inWaitAfterSecFloat) time.sleep(inWaitAfterSecFloat)
def Down(inXInt:int=None, inYInt:int=None, inButtonStr:str='left', inWaitAfterSecFloat:float=WAIT_AFTER_SEC_FLOAT): 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, после чего нажать (вниз) клавишу мыши и не отпускать до выполнения соответсвующей команды (см. Up). Если координаты inXInt, inYInt не переданы - нажатие происходит на тех координатах X/Y, на которых указатель мыши находится.
@ -76,7 +76,7 @@ def Down(inXInt:int=None, inYInt:int=None, inButtonStr:str='left', inWaitAfterSe
:type inWaitAfterSecFloat: float, опциональный :type inWaitAfterSecFloat: float, опциональный
""" """
mouseDown(x=inXInt, y=inYInt, button = inButtonStr) mouseDown(x=inXInt, y=inYInt, button = inButtonStr)
time.sleep(inWaitAfterSecFloat) time.sleep(inWaitAfterSecFloat)
def Up(inXInt:int=None, inYInt:int=None, inButtonStr:str='left', inWaitAfterSecFloat:float=WAIT_AFTER_SEC_FLOAT): def Up(inXInt:int=None, inYInt:int=None, inButtonStr:str='left', inWaitAfterSecFloat:float=WAIT_AFTER_SEC_FLOAT):
"""Отпустить (вверх) клавишу мыши. Если координаты inXInt, inYInt не переданы - нажатие происходит на тех координатах X/Y, на которых указатель мыши находится. """Отпустить (вверх) клавишу мыши. Если координаты inXInt, inYInt не переданы - нажатие происходит на тех координатах X/Y, на которых указатель мыши находится.
@ -99,7 +99,7 @@ def Up(inXInt:int=None, inYInt:int=None, inButtonStr:str='left', inWaitAfterSecF
:type inWaitAfterSecFloat: float, опциональный :type inWaitAfterSecFloat: float, опциональный
""" """
mouseUp(x=inXInt, y=inYInt, button = inButtonStr) mouseUp(x=inXInt, y=inYInt, button = inButtonStr)
time.sleep(inWaitAfterSecFloat) time.sleep(inWaitAfterSecFloat)
def MoveTo(inXInt=None, inYInt=None, inMoveDurationSecFloat:float=0.0, inWaitAfterSecFloat:float=WAIT_AFTER_SEC_FLOAT): def MoveTo(inXInt=None, inYInt=None, inMoveDurationSecFloat:float=0.0, inWaitAfterSecFloat:float=WAIT_AFTER_SEC_FLOAT):
"""Переместить указатель мыши на позицию inXInt, inYInt за время inMoveDurationSecFloat. """Переместить указатель мыши на позицию inXInt, inYInt за время inMoveDurationSecFloat.
@ -122,7 +122,7 @@ def MoveTo(inXInt=None, inYInt=None, inMoveDurationSecFloat:float=0.0, inWaitAft
:type inWaitAfterSecFloat: float, опциональный :type inWaitAfterSecFloat: float, опциональный
""" """
moveTo(x=inXInt, y=inYInt, duration=inMoveDurationSecFloat) moveTo(x=inXInt, y=inYInt, duration=inMoveDurationSecFloat)
time.sleep(inWaitAfterSecFloat) time.sleep(inWaitAfterSecFloat)
def ScrollVertical(inScrollClickCountInt, inXInt=None, inYInt=None, inWaitAfterSecFloat:float=WAIT_AFTER_SEC_FLOAT): def ScrollVertical(inScrollClickCountInt, inXInt=None, inYInt=None, inWaitAfterSecFloat:float=WAIT_AFTER_SEC_FLOAT):
"""Переместить указатель мыши на позицию inXInt, inYInt и выполнить вертикальную прокрутку (скроллинг) колесом мыши на количество щелчков inScrollClickCountInt. """Переместить указатель мыши на позицию inXInt, inYInt и выполнить вертикальную прокрутку (скроллинг) колесом мыши на количество щелчков inScrollClickCountInt.
@ -146,7 +146,7 @@ def ScrollVertical(inScrollClickCountInt, inXInt=None, inYInt=None, inWaitAfterS
:type inWaitAfterSecFloat: float, опциональный :type inWaitAfterSecFloat: float, опциональный
""" """
vscroll(inScrollClickCountInt, x=inXInt, y=inYInt) vscroll(inScrollClickCountInt, x=inXInt, y=inYInt)
time.sleep(inWaitAfterSecFloat) time.sleep(inWaitAfterSecFloat)
def ScrollHorizontal(inScrollClickCountInt, inXInt=None, inYInt=None, inWaitAfterSecFloat:float=WAIT_AFTER_SEC_FLOAT): def ScrollHorizontal(inScrollClickCountInt, inXInt=None, inYInt=None, inWaitAfterSecFloat:float=WAIT_AFTER_SEC_FLOAT):
"""!ТОЛЬКО ДЛЯ LINUX! Переместить указатель мыши на позицию inXInt, inYInt и выполнить горизонтальную прокрутку (скроллинг) виртуальным колесом мыши на количество щелчков inScrollClickCountInt. """!ТОЛЬКО ДЛЯ LINUX! Переместить указатель мыши на позицию inXInt, inYInt и выполнить горизонтальную прокрутку (скроллинг) виртуальным колесом мыши на количество щелчков inScrollClickCountInt.
@ -170,4 +170,4 @@ def ScrollHorizontal(inScrollClickCountInt, inXInt=None, inYInt=None, inWaitAfte
:type inWaitAfterSecFloat: float, опциональный :type inWaitAfterSecFloat: float, опциональный
""" """
hscroll(inScrollClickCountInt, x=inXInt, y=inYInt) hscroll(inScrollClickCountInt, x=inXInt, y=inYInt)
time.sleep(inWaitAfterSecFloat) time.sleep(inWaitAfterSecFloat)

@ -316,30 +316,34 @@ def UIOSelector_Exist_Bool (inUIOSelector):
else: else:
lResult = lPIPEResponseDict["Result"] lResult = lPIPEResponseDict["Result"]
return lResult return lResult
################################################################################################# #old: -
#Wait for UIO is appear (at least one of them or all at the same time) def UIOSelectorsSecs_WaitAppear_List (inSpecificationListList,inWaitSecs=86400.0,inFlagWaitAllInMoment=False):
#inSpecificationListList - List of the UIOSelector
#inWaitSecs - Время ожидания объекта в секундах
#inFlagWaitAllInMoment - доп. условие - ожидать появление всех UIOSelector одновременно
#return: [0,1,2] - index of UIOSpecification, which is appear
#old name - -
#####Внимание#####
##Функция ожидания появления элементов (тк элементы могут быть недоступны, неизвестно в каком фреймворке каждый из них может появиться)
def UIOSelectorsSecs_WaitAppear_List (inSpecificationListList,inWaitSecs,inFlagWaitAllInMoment=False):
''' '''
Wait for many UI object will appear in GUI for inWaitSecs seconds. Ожидать появление хотя бы 1-го / всех UIO объектов по заданным UIO селекторам
!ВНИМАНИЕ! ДАННАЯ ФУНКЦИОНАЛЬНОСТЬ В АВТОМАТИЧЕСКОМ РЕЖИМЕ ПОДДЕРЖИВАЕТ ВСЕ РАЗРЯДНОСТИ ПРИЛОЖЕНИЙ (32|64), КОТОРЫЕ ЗАПУЩЕНЫ В СЕСИИ. PYTHON x64 ИМЕЕТ ВОЗМОЖНОСТЬ ВЗЗАИМОДЕЙСТВИЯ С x32 UIO ОБЪЕКТАМИ, НО МЫ РЕКОМЕНДУЕМ ДОПОЛНИТЕЛЬНО ИСПОЛЬЗОВАТЬ ИНТЕРПРЕТАТОР PYTHON x32 (ПОДРОБНЕЕ СМ. ФУНКЦИЮ Configure())
.. code-block:: python
:param inSpecificationListList: UIOSelector list. # UIDesktop: Взаимодействие с UI объектами приложений
Example: [ from pyOpenRPA.Robot import UIDesktop
# 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":"OK"}],
[{"title":"notepad"},{"title":"Cancel"}] [{"title":"notepad"},{"title":"Cancel"}]
] ]
:param inWaitSecs: Float value (seconds) for wait UI element appear in GUI :type inSpecificationListList: list, обязательный
:param inFlagWaitAllInMoment: True - Wait all UI objects from the UIOSelector list to be appeared :param inWaitSecs: Количество секунд, которые отвести на ожидание UIO объектов. По умолчанию 24 часа (86400 секунд)
:return: List of index, which UI object UIO will be appeared. Example: [1] # Appear only UI object with UIO selector: [{"title":"notepad"},{"title":"Cancel"}] :type inWaitSecs: float, необязательный
:param inFlagWaitAllInMoment: True - Ожидать до того момента, пока не появятся все запрашиваемые UIO объекты на рабочей области
:return: Список индексов, которые указывают на номер входящих UIO селекторов, которые были обнаружены на рабочей области. Пример: [0,2]
''' '''
lResultFlag=False lResultFlag=False
lSecsSleep = 1 #Настроечный параметр lSecsSleep = 1 #Настроечный параметр
@ -370,29 +374,36 @@ def UIOSelectorsSecs_WaitAppear_List (inSpecificationListList,inWaitSecs,inFlagW
lSecsDone=lSecsDone+lSecsSleep lSecsDone=lSecsDone+lSecsSleep
time.sleep(lSecsSleep) time.sleep(lSecsSleep)
return lResultList return lResultList
#################################################################################################
#Wait for UIO is Disappear (at least one of them or all at the same time) #old: -
#inSpecificationListList - List of the UIOSelector def UIOSelectorsSecs_WaitDisappear_List (inSpecificationListList,inWaitSecs=86400.0,inFlagWaitAllInMoment=False):
#inWaitSecs - Время ожидания пропажи объекта в секундах
#inFlagWaitAllInMoment - доп. условие - ожидать пропажу всех UIOSelector одновременно
#return: [0,1,2] - index of UIOSpecification, which is Disappear
#old name - -
#####Внимание#####
##Функция ожидания пропажи элементов (тк элементы могут быть недоступны, неизвестно в каком фреймворке каждый из них может появиться)
def UIOSelectorsSecs_WaitDisappear_List (inSpecificationListList,inWaitSecs,inFlagWaitAllInMoment=False):
''' '''
Wait for many UI object will disappear in GUI for inWaitSecs seconds. Ожидать исчезновение хотя бы 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}]
lNotepadOKSelector = [{"title":"notepad"},{"title":"OK"}]
lNotepadCancelSelector = [{"title":"notepad"},{"title":"Cancel"}]
lDemoBaseUIOExistList = UIDesktop.UIOSelectorsSecs_WaitDisappear_List([lDemoBaseUIOSelector, lNotepadOKSelector, lNotepadCancelSelector]) # Ожидать исчезновение UIO объектов
:param inSpecificationListList: UIOSelector list. :param inSpecificationListList: Список UIO селекторов, которые определяют критерии поиска UIO объектов
Example: [ Пример: [
[{"title":"notepad"},{"title":"OK"}], [{"title":"notepad"},{"title":"OK"}],
[{"title":"notepad"},{"title":"Cancel"}] [{"title":"notepad"},{"title":"Cancel"}]
] ]
:param inWaitSecs: Float value (seconds) for wait UI element disappear in GUI :type inSpecificationListList: list, обязательный
:param inFlagWaitAllInMoment: True - Wait all UI objects from the UIOSelector list to be disappeared. :param inWaitSecs: Количество секунд, которые отвести на ожидание исчезновения UIO объектов. По умолчанию 24 часа (86400 секунд)
:return: List of index, which UI object UIO will be disappeared. Example: [1] # Disappear only UI object with UIO selector: [{"title":"notepad"},{"title":"Cancel"}] :type inWaitSecs: float, необязательный
:return: :param inFlagWaitAllInMoment: True - Ожидать до того момента, пока не исчезнут все запрашиваемые UIO объекты на рабочей области
:return: Список индексов, которые указывают на номер входящих UIO селекторов, которые были обнаружены на рабочей области. Пример: [0,2]
''' '''
lResultFlag=False lResultFlag=False
lSecsSleep = 1 #Настроечный параметр lSecsSleep = 1 #Настроечный параметр
lSecsDone = 0 lSecsDone = 0
@ -422,56 +433,77 @@ def UIOSelectorsSecs_WaitDisappear_List (inSpecificationListList,inWaitSecs,inFl
lSecsDone=lSecsDone+lSecsSleep lSecsDone=lSecsDone+lSecsSleep
time.sleep(lSecsSleep) time.sleep(lSecsSleep)
return lResultList return lResultList
#################################################################################################
#Wait for UIO is appear (at least one of them or all at the same time) #old: -
#inSpecificationList - UIOSelector
#inWaitSecs - Время ожидания объекта в секундах
#return: Bool - True - UIO is appear
#old name - -
def UIOSelectorSecs_WaitAppear_Bool (inSpecificationList,inWaitSecs): def UIOSelectorSecs_WaitAppear_Bool (inSpecificationList,inWaitSecs):
''' '''
Wait for UI object will appear in GUI for inWaitSecs seconds. Ожидать появление 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}]
lDemoBaseUIOExistBool = UIDesktop.UIOSelectorSecs_WaitAppear_Bool(lDemoBaseUIOSelector) # Ожидать появление UIO объекта
:param inSpecificationList: UIOSelector. Example: [{"title":"notepad"},{"title":"OK"}] :param inSpecificationList: UIO селектор, который определяет критерии поиска UIO объекта
:param inWaitSecs: Float value (seconds) for wait UI element appear in GUI :type inSpecificationList: list, обязательный
:return: True - UI object will appear. False - else case :param inWaitSecs: Количество секунд, которые отвести на ожидание UIO объекта. По умолчанию 24 часа (86400 секунд)
:type inWaitSecs: float, необязательный
:return: True - UIO объект был обнаружен. False - обратная ситуациая
''' '''
lWaitAppearList=UIOSelectorsSecs_WaitAppear_List([inSpecificationList],inWaitSecs) lWaitAppearList=UIOSelectorsSecs_WaitAppear_List([inSpecificationList],inWaitSecs)
lResult=False lResult=False
if len(lWaitAppearList)>0: if len(lWaitAppearList)>0:
lResult=True lResult=True
return lResult return lResult
#################################################################################################
#Wait for UIO is disappear (at least one of them or all at the same time)
#inSpecificationList - UIOSelector
#inWaitSecs - Время ожидания пропажи объекта в секундах
#return: Bool - True - UIO is Disappear
#old name - - #old name - -
def UIOSelectorSecs_WaitDisappear_Bool (inSpecificationList,inWaitSecs): def UIOSelectorSecs_WaitDisappear_Bool (inSpecificationList,inWaitSecs):
''' '''
Wait for UI object will disappear in GUI for inWaitSecs seconds. Ожидать исчезновение 1-го UIO объекта по заданному UIO селектору
!ВНИМАНИЕ! ДАННАЯ ФУНКЦИОНАЛЬНОСТЬ В АВТОМАТИЧЕСКОМ РЕЖИМЕ ПОДДЕРЖИВАЕТ ВСЕ РАЗРЯДНОСТИ ПРИЛОЖЕНИЙ (32|64), КОТОРЫЕ ЗАПУЩЕНЫ В СЕСИИ. PYTHON x64 ИМЕЕТ ВОЗМОЖНОСТЬ ВЗЗАИМОДЕЙСТВИЯ С x32 UIO ОБЪЕКТАМИ, НО МЫ РЕКОМЕНДУЕМ ДОПОЛНИТЕЛЬНО ИСПОЛЬЗОВАТЬ ИНТЕРПРЕТАТОР PYTHON x32 (ПОДРОБНЕЕ СМ. ФУНКЦИЮ Configure())
.. code-block:: python
:param inSpecificationList: UIOSelector. # UIDesktop: Взаимодействие с UI объектами приложений
Example: [{"title":"notepad"},{"title":"OK"}] from pyOpenRPA.Robot import UIDesktop
:param inWaitSecs: Float value (seconds) for wait UI element disappear in GUI # 1С: UIO Селектор выбора базы
:return: True - UI object will disappear. False - else case 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 - обратная ситуациая
''' '''
lWaitDisappearList=UIOSelectorsSecs_WaitDisappear_List([inSpecificationList],inWaitSecs) lWaitDisappearList=UIOSelectorsSecs_WaitDisappear_List([inSpecificationList],inWaitSecs)
lResult=False lResult=False
if len(lWaitDisappearList)>0: if len(lWaitDisappearList)>0:
lResult=True lResult=True
return lResult return lResult
#################################################################################################
#Get process bitness (32 or 64) #old: -
#inSpecificationList - UIOSelector
#old name - None
#return None (if Process not found), int 32, or int 64
def UIOSelector_Get_BitnessInt (inSpecificationList): def UIOSelector_Get_BitnessInt (inSpecificationList):
''' '''
Detect process bitness by the UI Object UIO Selector. Определить разрядность приложения по UIO селектору. Вернуть результат в формате целого числа (64 или 32)
.. 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}]
lDemoBaseBitInt = UIDesktop.UIOSelector_Get_BitnessInt(lDemoBaseUIOSelector) # Определить разрядность приложения, в котором обнаружен UIO объект по селектору
:param inSpecificationList: UIOSelector. Example: [{"title":"notepad"},{"title":"OK"}] :param inSpecificationList: UIO селектор, который определяет критерии поиска UIO объекта
:return: int 32 or int 64 :type inSpecificationList: list, обязательный
:return: None - UIO объект не обнаружен; 64 (int) - разрядность приложения равна 64 битам; 32 (int) - разрядность приложения равна 32 битам
''' '''
lResult=None lResult=None
#Получить объект Application (Для проверки разрядности) #Получить объект Application (Для проверки разрядности)
@ -482,17 +514,23 @@ def UIOSelector_Get_BitnessInt (inSpecificationList):
else: else:
lResult=32 lResult=32
return lResult return lResult
#################################################################################################
#Get process bitness ("32" or "64") #old: -
#inSpecificationList - UIOSelector
#old name - None
#return None (if Process not found), int 32, or int 64
def UIOSelector_Get_BitnessStr (inSpecificationList): def UIOSelector_Get_BitnessStr (inSpecificationList):
''' '''
Detect process bitness by the UI Object UIO Selector. Определить разрядность приложения по UIO селектору. Вернуть результат в формате строки ("64" или "32")
:param inSpecificationList: UIOSelector. Example: [{"title":"notepad"},{"title":"OK"}] .. code-block:: python
:return: str "32" or str "64"
# 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}]
lDemoBaseBitStr = UIDesktop.UIOSelector_Get_BitnessStr(lDemoBaseUIOSelector) # Определить разрядность приложения, в котором обнаружен UIO объект по селектору
:param inSpecificationList: UIO селектор, который определяет критерии поиска UIO объекта
:type inSpecificationList: list, обязательный
:return: None - UIO объект не обнаружен; "64" (str) - разрядность приложения равна 64 битам; "32" (str) - разрядность приложения равна 32 битам
''' '''
lResult=None lResult=None
#Получить объект Application (Для проверки разрядности) #Получить объект Application (Для проверки разрядности)
@ -503,15 +541,17 @@ def UIOSelector_Get_BitnessStr (inSpecificationList):
else: else:
lResult="32" lResult="32"
return lResult return lResult
#################################################################################################
#Get OS bitness (32 or 64) #old: -
#old name - None
#return int 32, or int 64
def Get_OSBitnessInt (): def Get_OSBitnessInt ():
''' '''
Detect OS bitness. Определить разрядность робота, в котором запускается данная функция
.. code-block:: python
:return: int 32 or int 64 from pyOpenRPA.Robot import UIDesktop
lRobotBitInt = UIDesktop.Get_OSBitnessInt() # Определить разрядность робота, в котором была вызвана это функция
:return: 64 (int) - разрядность приложения равна 64 битам; 32 (int) - разрядность приложения равна 32 битам
''' '''
lResult=32 lResult=32
if pywinauto.sysinfo.is_x64_OS(): if pywinauto.sysinfo.is_x64_OS():

Loading…
Cancel
Save