2. Defs¶
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)
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.
Functions:
Detect OS bitness. |
|
#Backend selection - attribute “backend” (“win32” || “uia”) in 1-st list element |
|
#Backend def selection - attribute “backend” (“win32” || “uia”) in 1-st list element #old name - GetControl |
|
Wait for UI object will appear in GUI for inWaitSecs seconds. |
|
Wait for UI object will disappear in GUI for inWaitSecs seconds. |
|
|
Run the activity in UIO (UI Object) |
|
Check if object is exist by the UIO selector. |
|
Set focus and highlight (draw outline) the element (in app) by the UIO selector. |
Get list of child UIO’s by the parent UIOSelector |
|
|
Detect process bitness by the UI Object UIO Selector. |
|
Detect process bitness by the UI Object UIO Selector. |
|
Get the pywinauto object by the UIO selector. |
|
Get the list of the UI object activities |
|
Get the UIO dict of the attributes |
|
Get the UIO list by the selector |
|
Highlight (draw outline) the element (in app) by the UIO selector. |
|
Safe get other process or None if destination app is the other/same bitness |
UIOSelector (see description on the top of the document) #old name - AutomationSearchMouseElement |
|
!!!!Safe call is included (you can set activity and UIDesktop will choose the bitness and return the result)!!!!! |
|
|
Try to restore (maximize) window, if it’s minimized. |
|
Wait for many UI object will appear in GUI for inWaitSecs seconds. |
Wait for many UI object will disappear in GUI for inWaitSecs seconds. |
-
pyOpenRPA.Robot.UIDesktop.
PWASpecification_Get_PWAApplication
(inControlSpecificationArray)[source]¶ #Backend selection - attribute “backend” (“win32” || “uia”) in 1-st list element
- Parameters
inControlSpecificationArray – List of dict, dict in pywinauto.find_windows notation
- Returns
process application object
-
pyOpenRPA.Robot.UIDesktop.
PWASpecification_Get_UIO
(inControlSpecificationArray)[source]¶ #Backend def selection - attribute “backend” (“win32” || “uia”) in 1-st list element #old name - GetControl
- Parameters
inControlSpecificationArray – List of dict, dict in pywinauto.find_windows notation
- Returns
list of UIO object
-
pyOpenRPA.Robot.UIDesktop.
UIOSelectorSecs_WaitAppear_Bool
(inSpecificationList, inWaitSecs)[source]¶ Wait for UI object will appear in GUI for inWaitSecs seconds.
- Parameters
inSpecificationList – UIOSelector. Example: [{“title”:”notepad”},{“title”:”OK”}]
inWaitSecs – Float value (seconds) for wait UI element appear in GUI
- Returns
True - UI object will appear. False - else case
-
pyOpenRPA.Robot.UIDesktop.
UIOSelectorSecs_WaitDisappear_Bool
(inSpecificationList, inWaitSecs)[source]¶ Wait for UI object will disappear in GUI for inWaitSecs seconds.
- Parameters
inSpecificationList – UIOSelector. Example: [{“title”:”notepad”},{“title”:”OK”}]
inWaitSecs – Float value (seconds) for wait UI element disappear in GUI
- Returns
True - UI object will disappear. False - else case
-
pyOpenRPA.Robot.UIDesktop.
UIOSelectorUIOActivity_Run_Dict
(inUIOSelector, inActionName, inArgumentList=None, inkwArgumentObject=None)[source]¶ Run the activity in UIO (UI Object)
- Parameters
inUIOSelector – UIOSelector - List of items, which contains condition attributes
inActionName – UIOActivity (name) activity name string from Pywinauto
inArgumentList –
inkwArgumentObject –
- Returns
-
pyOpenRPA.Robot.UIDesktop.
UIOSelector_Exist_Bool
(inUIOSelector)[source]¶ Check if object is exist by the UIO selector.
- Parameters
inUIOSelector –
- Returns
True - Object is exist. False - else case
-
pyOpenRPA.Robot.UIDesktop.
UIOSelector_FocusHighlight
(inUIOSelector)[source]¶ Set focus and highlight (draw outline) the element (in app) by the UIO selector.
- Parameters
inUIOSelector – UIOSelector - List of items, which contains condition attributes
- Returns
-
pyOpenRPA.Robot.UIDesktop.
UIOSelector_GetChildList_UIOList
(inUIOSelector=None, inBackend='win32')[source]¶ Get list of child UIO’s by the parent UIOSelector
- Parameters
inUIOSelector – UIOSelector - List of items, which contains condition attributes
inBackend – “win32” or “uia”
- Returns
-
pyOpenRPA.Robot.UIDesktop.
UIOSelector_Get_BitnessInt
(inSpecificationList)[source]¶ Detect process bitness by the UI Object UIO Selector.
- Parameters
inSpecificationList – UIOSelector. Example: [{“title”:”notepad”},{“title”:”OK”}]
- Returns
int 32 or int 64
-
pyOpenRPA.Robot.UIDesktop.
UIOSelector_Get_BitnessStr
(inSpecificationList)[source]¶ Detect process bitness by the UI Object UIO Selector.
- Parameters
inSpecificationList – UIOSelector. Example: [{“title”:”notepad”},{“title”:”OK”}]
- Returns
str “32” or str “64”
-
pyOpenRPA.Robot.UIDesktop.
UIOSelector_Get_UIO
(inSpecificationList, inElement=None, inFlagRaiseException=True)[source]¶ Get the pywinauto object by the UIO selector.
- Parameters
inSpecificationList –
inElement –
inFlagRaiseException –
- Returns
-
pyOpenRPA.Robot.UIDesktop.
UIOSelector_Get_UIOActivityList
(inUIOSelector)[source]¶ Get the list of the UI object activities
- Parameters
inUIOSelector – UIOSelector - List of items, which contains condition attributes
- Returns
-
pyOpenRPA.Robot.UIDesktop.
UIOSelector_Get_UIOInfo
(inUIOSelector)[source]¶ Get the UIO dict of the attributes
- Parameters
inUIOSelector – UIOSelector - List of items, which contains condition attributes
- Returns
-
pyOpenRPA.Robot.UIDesktop.
UIOSelector_Get_UIOList
(inSpecificationList, inElement=None, inFlagRaiseException=True)[source]¶ Get the UIO list by the selector
- Parameters
inSpecificationList – UIO Selector
inElement – Входной элемент - показатель, что не требуется выполнять коннект к процессу
inFlagRaiseException – Флаг True - выкинуть ошибку в случае обнаружении пустого списка
- Returns
-
pyOpenRPA.Robot.UIDesktop.
UIOSelector_Highlight
(inUIOSelector)[source]¶ Highlight (draw outline) the element (in app) by the UIO selector.
- Parameters
inUIOSelector – UIOSelector - List of items, which contains condition attributes
- Returns
-
pyOpenRPA.Robot.UIDesktop.
UIOSelector_SafeOtherGet_Process
(inUIOSelector)[source]¶ Safe get other process or None if destination app is the other/same bitness
- Parameters
inUIOSelector – UIO Selector of the UI object
- Returns
None or process (of the other bitness)
-
pyOpenRPA.Robot.UIDesktop.
UIOSelector_SearchChildByMouse_UIO
(inElementSpecification)[source]¶ UIOSelector (see description on the top of the document) #old name - AutomationSearchMouseElement
- Parameters
inElementSpecification – UIOSelector of the UI Object
- Returns
pywinauto element wrapper instance or None
-
pyOpenRPA.Robot.UIDesktop.
UIOSelector_SearchChildByMouse_UIOTree
(inUIOSelector)[source]¶ !!!!Safe call is included (you can set activity and UIDesktop will choose the bitness and return the result)!!!!!
- Parameters
inUIOSelector – UIOSelector of the UI Object
- Returns
?
-
pyOpenRPA.Robot.UIDesktop.
UIOSelector_TryRestore_Dict
(inSpecificationList)[source]¶ Try to restore (maximize) window, if it’s minimized. (!IMPORTANT! When use UIA framework minimized windows doesn’t appear by the UIOSelector. You need to try restore windows and after that try to get UIO)
- Parameters
inSpecificationList – UIOSelector - List of items, which contains condition attributes
- Returns
-
pyOpenRPA.Robot.UIDesktop.
UIOSelectorsSecs_WaitAppear_List
(inSpecificationListList, inWaitSecs, inFlagWaitAllInMoment=False)[source]¶ Wait for many UI object will appear in GUI for inWaitSecs seconds.
- Parameters
inSpecificationListList –
UIOSelector list. Example: [
[{“title”:”notepad”},{“title”:”OK”}], [{“title”:”notepad”},{“title”:”Cancel”}]
]
inWaitSecs – Float value (seconds) for wait UI element appear in GUI
inFlagWaitAllInMoment – True - Wait all UI objects from the UIOSelector list to be appeared
- Returns
List of index, which UI object UIO will be appeared. Example: [1] # Appear only UI object with UIO selector: [{“title”:”notepad”},{“title”:”Cancel”}]
-
pyOpenRPA.Robot.UIDesktop.
UIOSelectorsSecs_WaitDisappear_List
(inSpecificationListList, inWaitSecs, inFlagWaitAllInMoment=False)[source]¶ Wait for many UI object will disappear in GUI for inWaitSecs seconds.
- Parameters
inSpecificationListList –
UIOSelector list. Example: [
[{“title”:”notepad”},{“title”:”OK”}], [{“title”:”notepad”},{“title”:”Cancel”}]
]
inWaitSecs – Float value (seconds) for wait UI element disappear in GUI
inFlagWaitAllInMoment – True - Wait all UI objects from the UIOSelector list to be disappeared.
- Returns
List of index, which UI object UIO will be disappeared. Example: [1] # Disappear only UI object with UIO selector: [{“title”:”notepad”},{“title”:”Cancel”}]
- Returns