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 OpenRPA.
The OpenRPA 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
### Execute in the Python x32
To execute your python script in x32 bit version just write in command line from x32 python directory:
```
cd "\OpenRPA\Resources\WPy32-3720\python-3.7.2"
python.exe "path to your python script.py"
```
### Execute in the Python x64
To execute your python script in x32 bit version just write in command line from x32 python directory:
```
cd "\OpenRPA\Resources\WPy64-3720\python-3.7.2.amd64"
python.exe "path to your python script.py"
```
### Execute from .cmd file
In order to simplify the execution process you can write several code lines in file with the .cmd extension:
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():
**UIOActivity** - Activity of the UIO (UI object) from the Pywinauto module<br>
**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](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.
### UIOSelector structure & example
<aname=”UIOSelector_Structure_Examples”></a>
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**
```
``
```
```
`
```
[
{
“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.
### 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 :) ).