You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
ORPA-pyOpenRPA/Wiki/RUS_Guide/markdown/Robot/02_uidesktop.md

16 KiB

2. UIDesktop

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:

| Get_OSBitnessInt()

| Detect OS bitness.

| | PWASpecification_Get_PWAApplication(…)

        | #Backend selection - attribute «backend» («win32» || «uia») in 1-st list element

                                                                                                                                                                                         |

| PWASpecification_Get_UIO(…)

                   | #Backend def selection - attribute «backend» («win32» || «uia») in 1-st list element #old name - GetControl

                                                                                                                                                              |

| UIOSelectorSecs_WaitAppear_Bool(…)

            | Wait for UI object will appear in GUI for inWaitSecs seconds.

                                                                                                                                                                                                            |

| UIOSelectorSecs_WaitDisappear_Bool(…)

         | Wait for UI object will disappear in GUI for inWaitSecs seconds.

                                                                                                                                                                                                         |

| UIOSelectorUIOActivity_Run_Dict(…[, …])

       | Run the activity in UIO (UI Object)

                                                                                                                                                                                                                                      |

| UIOSelector_Exist_Bool(inUIOSelector)

         | Check if object is exist by the UIO selector.

                                                                                                                                                                                                                            |

| UIOSelector_FocusHighlight(inUIOSelector)

     | Set focus and highlight (draw outline) the element (in app) by the UIO selector.

                                                                                                                                                                                         |

| UIOSelector_GetChildList_UIOList([…])

         | Get list of child UIOs by the parent UIOSelector

                                                                                                                                                                                                                        |

| UIOSelector_Get_BitnessInt(inSpecificationList)

| Detect process bitness by the UI Object UIO Selector.

                                                                                                                                                                                                                    |

| UIOSelector_Get_BitnessStr(inSpecificationList)

| Detect process bitness by the UI Object UIO Selector.

                                                                                                                                                                                                                    |

| UIOSelector_Get_UIO(inSpecificationList[, …])

 | Get the pywinauto object by the UIO selector.

                                                                                                                                                                                                                            |

| UIOSelector_Get_UIOActivityList(inUIOSelector)

| Get the list of the UI object activities

                                                                                                                                                                                                                                 |

| UIOSelector_Get_UIOInfo(inUIOSelector)

        | Get the UIO dict of the attributes

                                                                                                                                                                                                                                       |

| UIOSelector_Get_UIOList(inSpecificationList)

  | Get the UIO list by the selector

                                                                                                                                                                                                                                         |

| UIOSelector_Highlight(inUIOSelector)

          | Highlight (draw outline) the element (in app) by the UIO selector.

                                                                                                                                                                                                       |

| UIOSelector_SafeOtherGet_Process(inUIOSelector)

| Safe get other process or None if destination app is the other/same bitness

                                                                                                                                                                                              |

| UIOSelector_SearchChildByMouse_UIO(…)

         | UIOSelector (see description on the top of the document) #old name - AutomationSearchMouseElement

                                                                                                                                                                        |

| UIOSelector_SearchChildByMouse_UIOTree(…)

     | !!!!Safe call is included (you can set activity and UIDesktop will choose the bitness and return the result)!!!!!

                                                                                                                                                        |

| UIOSelector_TryRestore_Dict(inSpecificationList)

| Try to restore (maximize) window, if its minimized.

                                                                                                                                                                                                                     |

| UIOSelectorsSecs_WaitAppear_List(…[, …])

      | Wait for many UI object will appear in GUI for inWaitSecs seconds.

                                                                                                                                                                                                       |

| UIOSelectorsSecs_WaitDisappear_List(…[, …])

   | Wait for many UI object will disappear in GUI for inWaitSecs seconds.

                                                                                                                                                                                                    |

pyOpenRPA.Robot.UIDesktop.Get_OSBitnessInt()

Detect OS bitness.

  • Результат

    int 32 or int 64

pyOpenRPA.Robot.UIDesktop.PWASpecification_Get_PWAApplication(inControlSpecificationArray)

#Backend selection - attribute «backend» («win32» || «uia») in 1-st list element

  • Параметры

    inControlSpecificationArray List of dict, dict in pywinauto.find_windows notation

  • Результат

    process application object

pyOpenRPA.Robot.UIDesktop.PWASpecification_Get_UIO(inControlSpecificationArray)

#Backend def selection - attribute «backend» («win32» || «uia») in 1-st list element #old name - GetControl

  • Параметры

    inControlSpecificationArray List of dict, dict in pywinauto.find_windows notation

  • Результат

    list of UIO object

pyOpenRPA.Robot.UIDesktop.UIOSelectorSecs_WaitAppear_Bool(inSpecificationList, inWaitSecs)

Wait for UI object will appear in GUI for inWaitSecs seconds.

  • Параметры

    • inSpecificationList UIOSelector. Example: [{«title»:»notepad»},{«title»:»OK»}]

    • inWaitSecs Float value (seconds) for wait UI element appear in GUI

  • Результат

    True - UI object will appear. False - else case

pyOpenRPA.Robot.UIDesktop.UIOSelectorSecs_WaitDisappear_Bool(inSpecificationList, inWaitSecs)

Wait for UI object will disappear in GUI for inWaitSecs seconds.

  • Параметры

    • inSpecificationList UIOSelector. Example: [{«title»:»notepad»},{«title»:»OK»}]

    • inWaitSecs Float value (seconds) for wait UI element disappear in GUI

  • Результат

    True - UI object will disappear. False - else case

pyOpenRPA.Robot.UIDesktop.UIOSelectorUIOActivity_Run_Dict(inUIOSelector, inActionName, inArgumentList=None, inkwArgumentObject=None)

Run the activity in UIO (UI Object)

  • Параметры

    • inUIOSelector UIOSelector - List of items, which contains condition attributes

    • inActionName UIOActivity (name) activity name string from Pywinauto

    • inArgumentList

    • inkwArgumentObject

  • Результат

pyOpenRPA.Robot.UIDesktop.UIOSelector_Exist_Bool(inUIOSelector)

Check if object is exist by the UIO selector.

  • Параметры

    inUIOSelector

  • Результат

    True - Object is exist. False - else case

pyOpenRPA.Robot.UIDesktop.UIOSelector_FocusHighlight(inUIOSelector)

Set focus and highlight (draw outline) the element (in app) by the UIO selector.

  • Параметры

    inUIOSelector UIOSelector - List of items, which contains condition attributes

  • Результат

pyOpenRPA.Robot.UIDesktop.UIOSelector_GetChildList_UIOList(inUIOSelector=None, inBackend='win32')

Get list of child UIOs by the parent UIOSelector

  • Параметры

    • inUIOSelector UIOSelector - List of items, which contains condition attributes

    • inBackend «win32» or «uia»

  • Результат

pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_BitnessInt(inSpecificationList)

Detect process bitness by the UI Object UIO Selector.

  • Параметры

    inSpecificationList UIOSelector. Example: [{«title»:»notepad»},{«title»:»OK»}]

  • Результат

    int 32 or int 64

pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_BitnessStr(inSpecificationList)

Detect process bitness by the UI Object UIO Selector.

  • Параметры

    inSpecificationList UIOSelector. Example: [{«title»:»notepad»},{«title»:»OK»}]

  • Результат

    str «32» or str «64»

pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_UIO(inSpecificationList, inElement=None, inFlagRaiseException=True)

Get the pywinauto object by the UIO selector.

  • Параметры

    • inSpecificationList

    • inElement

    • inFlagRaiseException

  • Результат

pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_UIOActivityList(inUIOSelector)

Get the list of the UI object activities

  • Параметры

    inUIOSelector UIOSelector - List of items, which contains condition attributes

  • Результат

pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_UIOInfo(inUIOSelector)

Get the UIO dict of the attributes

  • Параметры

    inUIOSelector UIOSelector - List of items, which contains condition attributes

  • Результат

pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_UIOList(inSpecificationList, inElement=None, inFlagRaiseException=True)

Get the UIO list by the selector

  • Параметры

    • inSpecificationList UIO Selector

    • inElement Входной элемент - показатель, что не требуется выполнять коннект к процессу

    • inFlagRaiseException Флаг True - выкинуть ошибку в случае обнаружении пустого списка

  • Результат

pyOpenRPA.Robot.UIDesktop.UIOSelector_Highlight(inUIOSelector)

Highlight (draw outline) the element (in app) by the UIO selector.

  • Параметры

    inUIOSelector UIOSelector - List of items, which contains condition attributes

  • Результат

pyOpenRPA.Robot.UIDesktop.UIOSelector_SafeOtherGet_Process(inUIOSelector)

Safe get other process or None if destination app is the other/same bitness

  • Параметры

    inUIOSelector UIO Selector of the UI object

  • Результат

    None or process (of the other bitness)

pyOpenRPA.Robot.UIDesktop.UIOSelector_SearchChildByMouse_UIO(inElementSpecification)

UIOSelector (see description on the top of the document) #old name - AutomationSearchMouseElement

  • Параметры

    inElementSpecification UIOSelector of the UI Object

  • Результат

    pywinauto element wrapper instance or None

pyOpenRPA.Robot.UIDesktop.UIOSelector_SearchChildByMouse_UIOTree(inUIOSelector)

!!!!Safe call is included (you can set activity and UIDesktop will choose the bitness and return the result)!!!!!

  • Параметры

    inUIOSelector UIOSelector of the UI Object

  • Результат

    ?

pyOpenRPA.Robot.UIDesktop.UIOSelector_TryRestore_Dict(inSpecificationList)

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)

  • Параметры

    inSpecificationList UIOSelector - List of items, which contains condition attributes

  • Результат

pyOpenRPA.Robot.UIDesktop.UIOSelectorsSecs_WaitAppear_List(inSpecificationListList, inWaitSecs, inFlagWaitAllInMoment=False)

Wait for many UI object will appear in GUI for inWaitSecs seconds.

  • Параметры

    • 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

  • Результат

    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)

Wait for many UI object will disappear in GUI for inWaitSecs seconds.

  • Параметры

    • 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.

  • Результат

    List of index, which UI object UIO will be disappeared. Example: [1] # Disappear only UI object with UIO selector: [{«title»:»notepad»},{«title»:»Cancel»}]

  • Результат

References

reStructuredText

	.. v1.2.12 replace:: v1.2.12
	.. 
|author|

replace:: Ivan Maslov <ivan.maslov@unicodelabs.ru>