Update sphinx doc in Orchestrator and in UIDesktop

Orchestrator autodoc 80%
Robot UIDesktop 30%
dev-linux
Ivan Maslov 4 years ago
parent 970518ac8d
commit d7eafa90c3

@ -4,23 +4,8 @@ Powerfull OpenSource RPA tool for business (based on python 3). Best perfomance
## Donate ## Donate
pyOpenRPA is absolutely non-commercial project. [Please donate some money if this project is important for you. Link to online donations.](https://money.yandex.ru/to/4100115560661986) pyOpenRPA is absolutely non-commercial project. [Please donate some money if this project is important for you. Link to online donations.](https://money.yandex.ru/to/4100115560661986)
## Road map
- Wiki
- ENG - in progress (see content below), plan date 31.08.2020
- Translate page Theory & practice: Desktop app in english [done 19.08.2020]
- Create page Theory & practice: Keyboard & mouse manipulation [plan 31.08.2020]
- RUS - next step
- Tutorial
- ENG - next step
- RUS - in progress (see content below), plan date 18.09.2020
- Dev actions
- Refactoring the arguments in UIDesktop.py (only in new branch pyOpenRPA version. For backward compatibility purpose), plan date -
## Wiki ## Wiki
In wiki you can find: In wiki you can find:
- [About pyOpenRPA, library dependencies and licensing](Wiki/01.-About-OpenRPA,-library-dependencies-and-licensing.md)
- [Architecture (Studio, Robot, Orchestrator)](Wiki/02.-Architecture-(Studio,-Robot,-Orchestrator).md)
- [How to install (system requirements)](Wiki/03.-How-to-install-(system-requirements).md)
- [Tool Studio: How to use](Wiki/04.1.-Tool-Studio.-How-to-use.md) - [Tool Studio: How to use](Wiki/04.1.-Tool-Studio.-How-to-use.md)
- [Tool Robot: How to use](Wiki/04.2.-Tool-Robot.-How-to-use.md) - [Tool Robot: How to use](Wiki/04.2.-Tool-Robot.-How-to-use.md)
- Tool Orchestrator: How to use - Tool Orchestrator: How to use
@ -45,13 +30,5 @@ Skype: MegaFinder<br>
Facebook: https://www.facebook.com/RU.Ivan.Maslov<br> Facebook: https://www.facebook.com/RU.Ivan.Maslov<br>
LinkedIn: https://www.linkedin.com/in/RU-IvanMaslov/ LinkedIn: https://www.linkedin.com/in/RU-IvanMaslov/
# Dependencies
* Python 3 x32 [psutil, pywinauto, wmi, PIL, keyboard, pyautogui, win32api (pywin32), selenium, openCV, tesseract, requests, lxml, PyMuPDF]
* Python 3 x64 [psutil, pywinauto, wmi, PIL, keyboard, pyautogui, win32api (pywin32), selenium, openCV, tesseract, requests, lxml, PyMuPDF]
* pywinauto (Windows GUI automation)
* Semantic UI CSS framework
* JsRender by https://www.jsviews.com (switch to Handlebars)
* Handlebars
#License #License
Under the MIT license (absolutely free) Under the MIT license (absolutely free)

@ -0,0 +1,29 @@
####################################
1. How to install
####################################
Are you ready to install the OpenRPA solution on your machine?<br>
Ok, we start. <br>
**Do the following operations:**
- Download the OpenRPA package from master branch on GitLab [Download ZIP](https://gitlab.com/UnicodeLabs/OpenRPA/-/archive/master/OpenRPA-master.zip)
- Unzip the package
**Installation has been completed :)**
**************************************************
How to check installation
**************************************************
- Run portable python (built in the OpenRPA)
- x32 python (OpenRPA\Resources\WPy32-3720\python-3.7.2\python.exe)
- x64 python (OpenRPA\Resources\WPy64-3720\python-3.7.2.amd64\python.exe)
**The OpenRPA has been successfully installed if the portable python 3.7.2 was started without any exceptions (see screenshot).**
![image](uploads/cb5dec8cecafa7d64f6cd14b2672acce/image.png)
**************************************************
System requirements
**************************************************
- OS Windows 7+
- Need Windows package KB2999226 if use windows Vista/7/8/8.1/Server 2008/Server 2012 [Download package](https://support.microsoft.com/ru-ru/help/2999226)
- For OpenCV: OS Windows 7/8/8/10 only (no Windows Server)

@ -0,0 +1,13 @@
####################################
2. Roadmap
####################################
- Guide
- - ENG - in progress (see content below), plan date 31.08.2020 (failed), new plan date march 2021
- - RUS - queue
- Tutorial
- - ENG - queue
- - RUS - queue
- Dev actions
Refactoring the arguments in UIDesktop.py (only in new branch pyOpenRPA version. For backward compatibility purpose), plan date -

@ -0,0 +1,32 @@
####################################
3. Copyrights & Contacts
####################################
pyOpenRPA is created by Ivan Maslov (Russia).
Use it absolutely for free!
My purpose is to create #IT4Business models all over the world.
If you need IT help feel free to contact me (prefer e-mail or skype).
Thank you!
**************************************************
Ivan Maslov (founder)
**************************************************
E-mail: Ivan.Maslov@UnicodeLabs.ru
Skype: MegaFinder
Facebook: https://www.facebook.com/RU.Ivan.Maslov
LinkedIn: https://www.linkedin.com/in/RU-IvanMaslov/
**************************************************
3-rd party components license dependencies
**************************************************
WinPython 3.7.1 32-bit & 64-bit, license MIT (https://github.com/winpython/winpython)
Selenium v..., license Apache 2.0
pywinauto 0.6.5, license BSD 3-Clause (https://github.com/pywinauto/pywinauto)
Semantic UI ..., license MIT (https://github.com/Semantic-Org/Semantic-UI)
PyAutoGUI ..., license BSD 3-Clause (https://github.com/asweigart/pyautogui)
keyboard ..., license MIT (https://github.com/boppreh/keyboard)
OpenCV ...
pywin32

@ -0,0 +1,71 @@
####################################
3. How to start
####################################
# Content
- [About](#about)
- [How to use](#how-to-use)
- [Create python script](#create-python-script)
- [Execute python script](#execute-python-script)
# About
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.
# How to use
You can use the robot by the several ways:
- In Python script
- In Studio script (n/a)
## Create python script
In order to use robot just add Robot tool folder in work directory and add line "import GUI" in your script.
### Example
> import sys <br>
> sys.path.append('../../')<br>
> import selenium [#Web app access](https://gitlab.com/UnicodeLabs/OpenRPA/wikis/05.1.-Theory-&-practice:-Web-app-access-(Chrome,-Firefox,-Opera))<br>
> import GUI [#Win32 & UI Automation access](https://gitlab.com/UnicodeLabs/OpenRPA/wikis/05.2.-Theory-&-practice:-Desktop-app-UI-access-(win32-and-UI-automation-dlls)) <br>
> import pyautogui [#Screen capture/recognition](https://gitlab.com/UnicodeLabs/OpenRPA/wikis/05.4.-Theory-&-practice:-Screen-capture-&-image-recognition) [#Mouse manipulation](https://gitlab.com/UnicodeLabs/OpenRPA/wikis/05.3.-Theory-&-practice:-Keyboard-&-mouse-manipulation)<br>
> import cv2 [#Computer vision](https://gitlab.com/UnicodeLabs/OpenRPA/wikis/05.4.-Theory-&-practice:-Screen-capture-&-image-recognition)<br>
> import keyboard [#Keyboard manipulation](https://gitlab.com/UnicodeLabs/OpenRPA/wikis/05.3.-Theory-&-practice:-Keyboard-&-mouse-manipulation)<br>
## Execute python script
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 (\OpenRPA\Resources\WPy32-3720\python-3.7.2)
- Execute in python x64 (\OpenRPA\Resources\WPy64-3720\python-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: <br>
> cd "\OpenRPA\Resources\WPy32-3720\python-3.7.2"<br>
> python.exe "path to your python script.py"<br>
### Execute in the Python x64
To execute your python script in x32 bit version just write in command line from x32 python directory: <br>
> cd "\OpenRPA\Resources\WPy64-3720\python-3.7.2.amd64"<br>
> python.exe "path to your python script.py"<br>
### Execute from .cmd file
In order to simplify the execution process you can write several code lines in file with the .cmd extansion: <br>
> cd %~dp0
> copy /Y ..\Resources\WPy32-3720\python-3.7.2\python.exe ..\Resources\WPy32-3720\python-3.7.2\OpenRPAOrchestrator.exe
> .\..\Resources\WPy32-3720\python-3.7.2\OpenRPAOrchestrator.exe orchestratorMain.py
> pause >nul
## Use in studio script (n/a)
> import sys <br>
> sys.path.append('../../')<br>
> import GUI<br>
> import keyboard<br>
> import subprocess<br>
> import time<br>
>
> #Highlight the UI Object in Folder explorer<br>
> GUI.UIOSelector_FocusHighlight([{"class_name":"CabinetWClass","backend":"uia"},{"ctrl_index":2},{"ctrl_index":0},{"ctrl_index":2},{"ctrl_index":0}])<br>
>
>#Wait 2 seconds<br>
>time.sleep(3)<br>
>
>#Loop: get child element of UI List<br>
>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():<br>
> &nbsp; &nbsp; &nbsp; &nbsp; print(str(lItem))<br>

@ -0,0 +1,10 @@
####################################
4. Dependencies
####################################
Python 3 x32 [psutil, pywinauto, wmi, PIL, keyboard, pyautogui, win32api (pywin32), selenium, openCV, tesseract, requests, lxml, PyMuPDF]
Python 3 x64 [psutil, pywinauto, wmi, PIL, keyboard, pyautogui, win32api (pywin32), selenium, openCV, tesseract, requests, lxml, PyMuPDF]
pywinauto (Windows GUI automation)
Semantic UI CSS framework
JsRender by https://www.jsviews.com (switch to Handlebars)
Handlebars

@ -1,5 +1,5 @@
************************ ************************
Description 1. Description
************************ ************************
pyOpenRPA Studio is the executable process. pyOpenRPA Studio is the executable process.

@ -0,0 +1,107 @@
####################################
2. How to use
####################################
Content
=======
- `How to run <#how-to-run>`__
- `UI Description <#ui-description>`__
- `How to extract UI tree <#how-to-extract-ui-tree>`__
- `How to search UI object by mouse
hover <#how-to-search-ui-object-by-mouse-hover>`__
- `How to extract UI object
properties <#how-to-extract-ui-object-properties>`__
How to run
==========
- For OS x32
- Run (double click): OpenRPA\_32.cmd (for OS x32)
- For OS x64
- Run (double click): OpenRPA\_64.cmd (for OS x64)
- Wait text "running server" in console. Default browser will be open
automatically
- **Attention!** The studio tool does not support the Internet explorer
(any version) for GUI rendering (lol) |image|
UI Description
==============
**The studio tool GUI contains of:** - 1. UI tree viewer - 2. Selected
UI object hierarchy list - 3. Selected UI object property list - 4. UIO
selector editor - 5. UIO action panel - 6. Another Python activity panel
- 7. Action/activity list
*Look it on the GUI screenshots are listed below*
GUI Screenshot 1
----------------
.. figure:: uploads/d3d6ad14a7e50843bd89d2b14a092fee/image.png
:alt: image
image
GUI Screenshot 2
----------------
.. figure:: uploads/65b7d51c0a5b21e6b27dc23d4062d3ca/image.png
:alt: image
image
How to extract UI tree
======================
In order to extract the UI tree do the following: in ``UI tree viewer``
choose the object you are interested and click the button "Expand". ##
Action: Click the button "Expand" |image| ## Result |image| # How to
search UI object by mouse hover In order to search UI object do the
following: in ``UI tree viewer`` choose the parent object, where you are
want to search UI object, and click the button "Mouse search". The mouse
search mode will start. Turn mouse on the UI object you are interested
and wait when the studio will highlight the UI object. After the
hightlight hold the "Ctrl" key and wait 3 seconds. The interested UI
object will be shown in ``UI tree viewer``.
Action: Click the button "Mouse search"
---------------------------------------
.. figure:: uploads/84d7e4de0c840631f87cf7b325b53ad8/image.png
:alt: image
image
Action: Turn mouse on the UI object you are interested and hold the "Ctrl" key for 3 seconds
--------------------------------------------------------------------------------------------
.. figure:: uploads/b7c38d622bf5b7afa5b26d1686d7302a/image.png
:alt: image
image
Result: The interested UI object will be shown in ``UI tree viewer``
--------------------------------------------------------------------
.. figure:: uploads/629bbf4db2c01b9c640194230949fcd2/image.png
:alt: image
image
How to extract UI object properties
===================================
In order to extract UI object properties do the following: in
``Selected UI object hierarchy list`` choose the UI object you are
interested and click it. The UI object property list will be shown in
``Selected UI object property list`` ## Action: Choose the UI object you
are interested and click it |image|
Result: The UI object property list will be shown in ``Selected UI object property list``
-----------------------------------------------------------------------------------------
.. figure:: uploads/f235ae29099a713e0246cd574ac3a17c/image.png
:alt: image
image
.. |image| image:: uploads/504b98f76747f63900a2943532a946bb/image.png
.. |image| image:: uploads/6effc376ff6ea928840674bd744caced/image.png
.. |image| image:: uploads/18b9ab36126c8c32168bf5bbb9330701/image.png
.. |image| image:: uploads/2c27be5bdde20b5d062cbb40e74eaec5/image.png

@ -19,7 +19,7 @@ sys.path.insert(0, os.path.abspath(r'..'))
# -- Project information ----------------------------------------------------- # -- Project information -----------------------------------------------------
project = 'pyOpenRPA' project = 'pyOpenRPA'
copyright = '2020, Ivan Maslov' copyright = '2021, Ivan Maslov'
author = 'Ivan Maslov' author = 'Ivan Maslov'
# The full version, including alpha/beta/rc tags # The full version, including alpha/beta/rc tags

@ -3,9 +3,98 @@
You can adapt this file completely to your liking, but it should at least You can adapt this file completely to your liking, but it should at least
contain the root `toctree` directive. contain the root `toctree` directive.
Welcome to pyOpenRPA's documentation! Welcome to pyOpenRPA's wiki
===================================== =====================================
**************************************************
About
**************************************************
Dear RPA-tors. Let me congratulate you with great change in the RPA world. The first enterprise level open source RPA platform is here!
The pyOpenRPA - free, fast and reliable
Powerfull OpenSource RPA tool for business (based on python 3). Best perfomance and absolutely free!
The pyOpenRPA is based on Python and using well known OpenSource solutions such as Selenium, OpenCV, Win32, UI automation and others. Thanks to it we were able to create consolidated platform with all possible features.
The pyOpenRPA is distributed under the MIT license which allows you to use it in any way you want and any time you need without any restrictions.
At the time of this writing the pyOpenRPA is successfully using in several big Russian companies. Companies in which it was decided to develop own RPA division with no dependencies on expensive licenses.
**************************************************
Structure
**************************************************
## The OpenRPA has 3 main tools:
- Studio
- Robot
- Orchestrator
## Description
`Studio`
___
Studio tool has been developed to help RPA-tors to create the robot algorythms.<br>
___
**Features**
- Run actions
- Create visual algorythms of the robot
- Desktop app: Analyze desktop app ui tree
- Desktop app: Search desktop app ui by mouse
- Desktop app: Generate & edit the UIO Selector
___
`Robot`
___
The Robot tool is the core of any action execution in OpenRPA. All action from algorythms are perfoming by the Robot tool. It looks like a console process without graphic user interface.
___
**Features**
- Based on Python (killer feature)
- Support Win32 GUI framework (desktop app)
- Support UI automation framework (desktop app)
- Support Selenium (web app)
- Support PyAutoGUI (screen capture & mouse)
- Support OpenCV (computer vision)
___
`Orchestrator`
___
The Orchestrator tool has been developed to maintain robot infrastructure (2+ robots algorythm).
___
**Features**
- Start/Stop robot algorythm
- Robot scheduler
- Remote machine screenshot viewer
- Remote machine cmd shell
- Remote machine logs storage
___
**************************************************
Guide
**************************************************
In wiki you can find:
in QUEUE
Theory & practice: Web app access (Chrome, Firefox, Opera)
Theory & practice: Desktop app UI access (win32 and UI automation dlls)
Theory & practice: Keyboard & mouse manipulation
Theory & practice: Screen capture & image recognition
**************************************************
Tutorials
**************************************************
[ENG]
Content in progress
[RUS]
Перейти в раздел туториалов
**************************************************
Donate
**************************************************
pyOpenRPA is absolutely non-commercial project.
Please donate some $ if pyOpenRPA project is actual for you. Link to online donations.
https://money.yandex.ru/to/4100115560661986
**************************************************
Content
**************************************************
.. toctree:: .. toctree::
:maxdepth: 2 :maxdepth: 2
:caption: GENERAL :caption: GENERAL

@ -1,4 +1,4 @@
# Sphinx build info version 1 # Sphinx build info version 1
# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. # This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
config: b242bb7d21650146bd8bbd75ad743c60 config: 4684de90a0b3a55bab26cddd161e3220
tags: 645f666f9bcd5a90fca523b33c5a78b7 tags: 645f666f9bcd5a90fca523b33c5a78b7

@ -0,0 +1,258 @@
<!DOCTYPE html>
<html class="writer-html5" lang="en" >
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>1. How to install &mdash; pyOpenRPA v1.2.0 documentation</title>
<link rel="stylesheet" href="_static/css/theme.css" type="text/css" />
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
<!--[if lt IE 9]>
<script src="_static/js/html5shiv.min.js"></script>
<![endif]-->
<script type="text/javascript" id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script>
<script src="_static/jquery.js"></script>
<script src="_static/underscore.js"></script>
<script src="_static/doctools.js"></script>
<script type="text/javascript" src="_static/js/theme.js"></script>
<link rel="index" title="Index" href="genindex.html" />
<link rel="search" title="Search" href="search.html" />
<link rel="next" title="2. Roadmap" href="02_RoadMap.html" />
<link rel="prev" title="Welcome to pyOpenRPAs wiki" href="index.html" />
</head>
<body class="wy-body-for-nav">
<div class="wy-grid-for-nav">
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
<div class="wy-side-scroll">
<div class="wy-side-nav-search" >
<a href="index.html" class="icon icon-home"> pyOpenRPA
</a>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="search.html" method="get">
<input type="text" name="q" placeholder="Search docs" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
</div>
</div>
<div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
<p class="caption"><span class="caption-text">GENERAL</span></p>
<ul class="current">
<li class="toctree-l1 current"><a class="current reference internal" href="#">1. How to install</a><ul>
<li class="toctree-l2"><a class="reference internal" href="#how-to-check-installation">How to check installation</a></li>
<li class="toctree-l2"><a class="reference internal" href="#system-requirements">System requirements</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="02_RoadMap.html">2. Roadmap</a></li>
<li class="toctree-l1"><a class="reference internal" href="03_Copyrights_Contacts.html">3. Copyrights &amp; Contacts</a></li>
</ul>
<p class="caption"><span class="caption-text">ROBOT</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="Robot/01_Robot.html">1. Description</a></li>
<li class="toctree-l1"><a class="reference internal" href="Robot/02_Defs.html">2. Defs</a></li>
<li class="toctree-l1"><a class="reference internal" href="Robot/03_HowToStart.html">3. How to start</a></li>
<li class="toctree-l1"><a class="reference internal" href="Robot/04_Dependencies.html">4. Dependencies</a></li>
</ul>
<p class="caption"><span class="caption-text">STUDIO</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="Studio/01_Studio.html">1. Description</a></li>
<li class="toctree-l1"><a class="reference internal" href="Studio/02_HowToUse.html">2. How to use</a></li>
</ul>
<p class="caption"><span class="caption-text">ORCHESTRATOR</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="Orchestrator/01_Orchestrator.html">1. Description</a></li>
<li class="toctree-l1"><a class="reference internal" href="Orchestrator/02_Defs.html">2. Defs</a></li>
<li class="toctree-l1"><a class="reference internal" href="Orchestrator/03_gSettingsTemplate.html">3. gSettings Template</a></li>
<li class="toctree-l1"><a class="reference internal" href="Orchestrator/04_HowToStart.html">4. How to start process</a></li>
</ul>
</div>
</div>
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
<nav class="wy-nav-top" aria-label="top navigation">
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="index.html">pyOpenRPA</a>
</nav>
<div class="wy-nav-content">
<div class="rst-content">
<div role="navigation" aria-label="breadcrumbs navigation">
<ul class="wy-breadcrumbs">
<li><a href="index.html" class="icon icon-home"></a> &raquo;</li>
<li>1. How to install</li>
<li class="wy-breadcrumbs-aside">
<a href="_sources/01_HowToInstall.rst.txt" rel="nofollow"> View page source</a>
</li>
</ul>
<hr/>
</div>
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody">
<div class="section" id="how-to-install">
<h1>1. How to install<a class="headerlink" href="#how-to-install" title="Permalink to this headline"></a></h1>
<p>Are you ready to install the OpenRPA solution on your machine?&lt;br&gt;</p>
<p>Ok, we start. &lt;br&gt;
<strong>Do the following operations:</strong>
- Download the OpenRPA package from master branch on GitLab [Download ZIP](<a class="reference external" href="https://gitlab.com/UnicodeLabs/OpenRPA/-/archive/master/OpenRPA-master.zip">https://gitlab.com/UnicodeLabs/OpenRPA/-/archive/master/OpenRPA-master.zip</a>)
- Unzip the package</p>
<p><strong>Installation has been completed :)</strong></p>
<div class="section" id="how-to-check-installation">
<h2>How to check installation<a class="headerlink" href="#how-to-check-installation" title="Permalink to this headline"></a></h2>
<ul class="simple">
<li><p>Run portable python (built in the OpenRPA)
- x32 python (OpenRPAResourcesWPy32-3720python-3.7.2python.exe)
- x64 python (OpenRPAResourcesWPy64-3720python-3.7.2.amd64python.exe)</p></li>
</ul>
<p><strong>The OpenRPA has been successfully installed if the portable python 3.7.2 was started without any exceptions (see screenshot).</strong>
![image](uploads/cb5dec8cecafa7d64f6cd14b2672acce/image.png)</p>
</div>
<div class="section" id="system-requirements">
<h2>System requirements<a class="headerlink" href="#system-requirements" title="Permalink to this headline"></a></h2>
<ul class="simple">
<li><p>OS Windows 7+
- Need Windows package KB2999226 if use windows Vista/7/8/8.1/Server 2008/Server 2012 [Download package](<a class="reference external" href="https://support.microsoft.com/ru-ru/help/2999226">https://support.microsoft.com/ru-ru/help/2999226</a>)</p></li>
<li><p>For OpenCV: OS Windows 7/8/8/10 only (no Windows Server)</p></li>
</ul>
</div>
</div>
</div>
</div>
<footer>
<div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
<a href="02_RoadMap.html" class="btn btn-neutral float-right" title="2. Roadmap" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
<a href="index.html" class="btn btn-neutral float-left" title="Welcome to pyOpenRPAs wiki" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
</div>
<hr/>
<div role="contentinfo">
<p>
&#169; Copyright 2021, Ivan Maslov.
</p>
</div>
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
<a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
provided by <a href="https://readthedocs.org">Read the Docs</a>.
</footer>
</div>
</div>
</section>
</div>
<script type="text/javascript">
jQuery(function () {
SphinxRtdTheme.Navigation.enable(true);
});
</script>
</body>
</html>

@ -0,0 +1,252 @@
<!DOCTYPE html>
<html class="writer-html5" lang="en" >
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>2. Roadmap &mdash; pyOpenRPA v1.2.0 documentation</title>
<link rel="stylesheet" href="_static/css/theme.css" type="text/css" />
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
<!--[if lt IE 9]>
<script src="_static/js/html5shiv.min.js"></script>
<![endif]-->
<script type="text/javascript" id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script>
<script src="_static/jquery.js"></script>
<script src="_static/underscore.js"></script>
<script src="_static/doctools.js"></script>
<script type="text/javascript" src="_static/js/theme.js"></script>
<link rel="index" title="Index" href="genindex.html" />
<link rel="search" title="Search" href="search.html" />
<link rel="next" title="3. Copyrights &amp; Contacts" href="03_Copyrights_Contacts.html" />
<link rel="prev" title="1. How to install" href="01_HowToInstall.html" />
</head>
<body class="wy-body-for-nav">
<div class="wy-grid-for-nav">
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
<div class="wy-side-scroll">
<div class="wy-side-nav-search" >
<a href="index.html" class="icon icon-home"> pyOpenRPA
</a>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="search.html" method="get">
<input type="text" name="q" placeholder="Search docs" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
</div>
</div>
<div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
<p class="caption"><span class="caption-text">GENERAL</span></p>
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="01_HowToInstall.html">1. How to install</a></li>
<li class="toctree-l1 current"><a class="current reference internal" href="#">2. Roadmap</a></li>
<li class="toctree-l1"><a class="reference internal" href="03_Copyrights_Contacts.html">3. Copyrights &amp; Contacts</a></li>
</ul>
<p class="caption"><span class="caption-text">ROBOT</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="Robot/01_Robot.html">1. Description</a></li>
<li class="toctree-l1"><a class="reference internal" href="Robot/02_Defs.html">2. Defs</a></li>
<li class="toctree-l1"><a class="reference internal" href="Robot/03_HowToStart.html">3. How to start</a></li>
<li class="toctree-l1"><a class="reference internal" href="Robot/04_Dependencies.html">4. Dependencies</a></li>
</ul>
<p class="caption"><span class="caption-text">STUDIO</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="Studio/01_Studio.html">1. Description</a></li>
<li class="toctree-l1"><a class="reference internal" href="Studio/02_HowToUse.html">2. How to use</a></li>
</ul>
<p class="caption"><span class="caption-text">ORCHESTRATOR</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="Orchestrator/01_Orchestrator.html">1. Description</a></li>
<li class="toctree-l1"><a class="reference internal" href="Orchestrator/02_Defs.html">2. Defs</a></li>
<li class="toctree-l1"><a class="reference internal" href="Orchestrator/03_gSettingsTemplate.html">3. gSettings Template</a></li>
<li class="toctree-l1"><a class="reference internal" href="Orchestrator/04_HowToStart.html">4. How to start process</a></li>
</ul>
</div>
</div>
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
<nav class="wy-nav-top" aria-label="top navigation">
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="index.html">pyOpenRPA</a>
</nav>
<div class="wy-nav-content">
<div class="rst-content">
<div role="navigation" aria-label="breadcrumbs navigation">
<ul class="wy-breadcrumbs">
<li><a href="index.html" class="icon icon-home"></a> &raquo;</li>
<li>2. Roadmap</li>
<li class="wy-breadcrumbs-aside">
<a href="_sources/02_RoadMap.rst.txt" rel="nofollow"> View page source</a>
</li>
</ul>
<hr/>
</div>
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody">
<div class="section" id="roadmap">
<h1>2. Roadmap<a class="headerlink" href="#roadmap" title="Permalink to this headline"></a></h1>
<ul class="simple">
<li><p>Guide</p></li>
<li><ul>
<li><p>ENG - in progress (see content below), plan date 31.08.2020 (failed), new plan date march 2021</p></li>
</ul>
</li>
<li><ul>
<li><p>RUS - queue</p></li>
</ul>
</li>
<li><p>Tutorial</p></li>
<li><ul>
<li><p>ENG - queue</p></li>
</ul>
</li>
<li><ul>
<li><p>RUS - queue</p></li>
</ul>
</li>
<li><p>Dev actions</p></li>
</ul>
<p>Refactoring the arguments in UIDesktop.py (only in new branch pyOpenRPA version. For backward compatibility purpose), plan date -</p>
</div>
</div>
</div>
<footer>
<div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
<a href="03_Copyrights_Contacts.html" class="btn btn-neutral float-right" title="3. Copyrights &amp; Contacts" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
<a href="01_HowToInstall.html" class="btn btn-neutral float-left" title="1. How to install" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
</div>
<hr/>
<div role="contentinfo">
<p>
&#169; Copyright 2021, Ivan Maslov.
</p>
</div>
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
<a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
provided by <a href="https://readthedocs.org">Read the Docs</a>.
</footer>
</div>
</div>
</section>
</div>
<script type="text/javascript">
jQuery(function () {
SphinxRtdTheme.Navigation.enable(true);
});
</script>
</body>
</html>

@ -0,0 +1,257 @@
<!DOCTYPE html>
<html class="writer-html5" lang="en" >
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>3. Copyrights &amp; Contacts &mdash; pyOpenRPA v1.2.0 documentation</title>
<link rel="stylesheet" href="_static/css/theme.css" type="text/css" />
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
<!--[if lt IE 9]>
<script src="_static/js/html5shiv.min.js"></script>
<![endif]-->
<script type="text/javascript" id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script>
<script src="_static/jquery.js"></script>
<script src="_static/underscore.js"></script>
<script src="_static/doctools.js"></script>
<script type="text/javascript" src="_static/js/theme.js"></script>
<link rel="index" title="Index" href="genindex.html" />
<link rel="search" title="Search" href="search.html" />
<link rel="next" title="1. Description" href="Robot/01_Robot.html" />
<link rel="prev" title="2. Roadmap" href="02_RoadMap.html" />
</head>
<body class="wy-body-for-nav">
<div class="wy-grid-for-nav">
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
<div class="wy-side-scroll">
<div class="wy-side-nav-search" >
<a href="index.html" class="icon icon-home"> pyOpenRPA
</a>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="search.html" method="get">
<input type="text" name="q" placeholder="Search docs" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
</div>
</div>
<div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
<p class="caption"><span class="caption-text">GENERAL</span></p>
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="01_HowToInstall.html">1. How to install</a></li>
<li class="toctree-l1"><a class="reference internal" href="02_RoadMap.html">2. Roadmap</a></li>
<li class="toctree-l1 current"><a class="current reference internal" href="#">3. Copyrights &amp; Contacts</a><ul>
<li class="toctree-l2"><a class="reference internal" href="#ivan-maslov-founder">Ivan Maslov (founder)</a></li>
<li class="toctree-l2"><a class="reference internal" href="#rd-party-components-license-dependencies">3-rd party components license dependencies</a></li>
</ul>
</li>
</ul>
<p class="caption"><span class="caption-text">ROBOT</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="Robot/01_Robot.html">1. Description</a></li>
<li class="toctree-l1"><a class="reference internal" href="Robot/02_Defs.html">2. Defs</a></li>
<li class="toctree-l1"><a class="reference internal" href="Robot/03_HowToStart.html">3. How to start</a></li>
<li class="toctree-l1"><a class="reference internal" href="Robot/04_Dependencies.html">4. Dependencies</a></li>
</ul>
<p class="caption"><span class="caption-text">STUDIO</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="Studio/01_Studio.html">1. Description</a></li>
<li class="toctree-l1"><a class="reference internal" href="Studio/02_HowToUse.html">2. How to use</a></li>
</ul>
<p class="caption"><span class="caption-text">ORCHESTRATOR</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="Orchestrator/01_Orchestrator.html">1. Description</a></li>
<li class="toctree-l1"><a class="reference internal" href="Orchestrator/02_Defs.html">2. Defs</a></li>
<li class="toctree-l1"><a class="reference internal" href="Orchestrator/03_gSettingsTemplate.html">3. gSettings Template</a></li>
<li class="toctree-l1"><a class="reference internal" href="Orchestrator/04_HowToStart.html">4. How to start process</a></li>
</ul>
</div>
</div>
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
<nav class="wy-nav-top" aria-label="top navigation">
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="index.html">pyOpenRPA</a>
</nav>
<div class="wy-nav-content">
<div class="rst-content">
<div role="navigation" aria-label="breadcrumbs navigation">
<ul class="wy-breadcrumbs">
<li><a href="index.html" class="icon icon-home"></a> &raquo;</li>
<li>3. Copyrights &amp; Contacts</li>
<li class="wy-breadcrumbs-aside">
<a href="_sources/03_Copyrights_Contacts.rst.txt" rel="nofollow"> View page source</a>
</li>
</ul>
<hr/>
</div>
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody">
<div class="section" id="copyrights-contacts">
<h1>3. Copyrights &amp; Contacts<a class="headerlink" href="#copyrights-contacts" title="Permalink to this headline"></a></h1>
<p>pyOpenRPA is created by Ivan Maslov (Russia).
Use it absolutely for free!</p>
<p>My purpose is to create #IT4Business models all over the world.
If you need IT help feel free to contact me (prefer e-mail or skype).</p>
<p>Thank you!</p>
<div class="section" id="ivan-maslov-founder">
<h2>Ivan Maslov (founder)<a class="headerlink" href="#ivan-maslov-founder" title="Permalink to this headline"></a></h2>
<p>E-mail: <a class="reference external" href="mailto:Ivan&#46;Maslov&#37;&#52;&#48;UnicodeLabs&#46;ru">Ivan<span>&#46;</span>Maslov<span>&#64;</span>UnicodeLabs<span>&#46;</span>ru</a>
Skype: MegaFinder
Facebook: <a class="reference external" href="https://www.facebook.com/RU.Ivan.Maslov">https://www.facebook.com/RU.Ivan.Maslov</a>
LinkedIn: <a class="reference external" href="https://www.linkedin.com/in/RU-IvanMaslov/">https://www.linkedin.com/in/RU-IvanMaslov/</a></p>
</div>
<div class="section" id="rd-party-components-license-dependencies">
<h2>3-rd party components license dependencies<a class="headerlink" href="#rd-party-components-license-dependencies" title="Permalink to this headline"></a></h2>
<p>WinPython 3.7.1 32-bit &amp; 64-bit, license MIT (<a class="reference external" href="https://github.com/winpython/winpython">https://github.com/winpython/winpython</a>)
Selenium v…, license Apache 2.0
pywinauto 0.6.5, license BSD 3-Clause (<a class="reference external" href="https://github.com/pywinauto/pywinauto">https://github.com/pywinauto/pywinauto</a>)
Semantic UI …, license MIT (<a class="reference external" href="https://github.com/Semantic-Org/Semantic-UI">https://github.com/Semantic-Org/Semantic-UI</a>)
PyAutoGUI …, license BSD 3-Clause (<a class="reference external" href="https://github.com/asweigart/pyautogui">https://github.com/asweigart/pyautogui</a>)
keyboard …, license MIT (<a class="reference external" href="https://github.com/boppreh/keyboard">https://github.com/boppreh/keyboard</a>)
OpenCV …
pywin32</p>
</div>
</div>
</div>
</div>
<footer>
<div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
<a href="Robot/01_Robot.html" class="btn btn-neutral float-right" title="1. Description" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
<a href="02_RoadMap.html" class="btn btn-neutral float-left" title="2. Roadmap" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
</div>
<hr/>
<div role="contentinfo">
<p>
&#169; Copyright 2021, Ivan Maslov.
</p>
</div>
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
<a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
provided by <a href="https://readthedocs.org">Read the Docs</a>.
</footer>
</div>
</div>
</section>
</div>
<script type="text/javascript">
jQuery(function () {
SphinxRtdTheme.Navigation.enable(true);
});
</script>
</body>
</html>

@ -39,7 +39,7 @@
<link rel="index" title="Index" href="../genindex.html" /> <link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" /> <link rel="search" title="Search" href="../search.html" />
<link rel="next" title="2. Defs" href="02_Defs.html" /> <link rel="next" title="2. Defs" href="02_Defs.html" />
<link rel="prev" title="Description" href="../Studio/Studio.html" /> <link rel="prev" title="2. How to use" href="../Studio/02_HowToUse.html" />
</head> </head>
<body class="wy-body-for-nav"> <body class="wy-body-for-nav">
@ -84,14 +84,23 @@
<p class="caption"><span class="caption-text">GENERAL</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../01_HowToInstall.html">1. How to install</a></li>
<li class="toctree-l1"><a class="reference internal" href="../02_RoadMap.html">2. Roadmap</a></li>
<li class="toctree-l1"><a class="reference internal" href="../03_Copyrights_Contacts.html">3. Copyrights &amp; Contacts</a></li>
</ul>
<p class="caption"><span class="caption-text">ROBOT</span></p> <p class="caption"><span class="caption-text">ROBOT</span></p>
<ul> <ul>
<li class="toctree-l1"><a class="reference internal" href="../Robot/01_Robot.html">1. Description</a></li> <li class="toctree-l1"><a class="reference internal" href="../Robot/01_Robot.html">1. Description</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Robot/02_Defs.html">2. Defs</a></li> <li class="toctree-l1"><a class="reference internal" href="../Robot/02_Defs.html">2. Defs</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Robot/03_HowToStart.html">3. How to start</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Robot/04_Dependencies.html">4. Dependencies</a></li>
</ul> </ul>
<p class="caption"><span class="caption-text">STUDIO</span></p> <p class="caption"><span class="caption-text">STUDIO</span></p>
<ul> <ul>
<li class="toctree-l1"><a class="reference internal" href="../Studio/Studio.html">Description</a></li> <li class="toctree-l1"><a class="reference internal" href="../Studio/01_Studio.html">1. Description</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Studio/02_HowToUse.html">2. How to use</a></li>
</ul> </ul>
<p class="caption"><span class="caption-text">ORCHESTRATOR</span></p> <p class="caption"><span class="caption-text">ORCHESTRATOR</span></p>
<ul class="current"> <ul class="current">
@ -252,14 +261,14 @@ Because the WEB space is not the Python executable space. Interaction between it
<footer> <footer>
<div class="rst-footer-buttons" role="navigation" aria-label="footer navigation"> <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
<a href="02_Defs.html" class="btn btn-neutral float-right" title="2. Defs" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a> <a href="02_Defs.html" class="btn btn-neutral float-right" title="2. Defs" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
<a href="../Studio/Studio.html" class="btn btn-neutral float-left" title="Description" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a> <a href="../Studio/02_HowToUse.html" class="btn btn-neutral float-left" title="2. How to use" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
</div> </div>
<hr/> <hr/>
<div role="contentinfo"> <div role="contentinfo">
<p> <p>
&#169; Copyright 2020, Ivan Maslov. &#169; Copyright 2021, Ivan Maslov.
</p> </p>
</div> </div>

@ -84,30 +84,39 @@
<p class="caption"><span class="caption-text">GENERAL</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../01_HowToInstall.html">1. How to install</a></li>
<li class="toctree-l1"><a class="reference internal" href="../02_RoadMap.html">2. Roadmap</a></li>
<li class="toctree-l1"><a class="reference internal" href="../03_Copyrights_Contacts.html">3. Copyrights &amp; Contacts</a></li>
</ul>
<p class="caption"><span class="caption-text">ROBOT</span></p> <p class="caption"><span class="caption-text">ROBOT</span></p>
<ul> <ul>
<li class="toctree-l1"><a class="reference internal" href="../Robot/01_Robot.html">1. Description</a></li> <li class="toctree-l1"><a class="reference internal" href="../Robot/01_Robot.html">1. Description</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Robot/02_Defs.html">2. Defs</a></li> <li class="toctree-l1"><a class="reference internal" href="../Robot/02_Defs.html">2. Defs</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Robot/03_HowToStart.html">3. How to start</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Robot/04_Dependencies.html">4. Dependencies</a></li>
</ul> </ul>
<p class="caption"><span class="caption-text">STUDIO</span></p> <p class="caption"><span class="caption-text">STUDIO</span></p>
<ul> <ul>
<li class="toctree-l1"><a class="reference internal" href="../Studio/Studio.html">Description</a></li> <li class="toctree-l1"><a class="reference internal" href="../Studio/01_Studio.html">1. Description</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Studio/02_HowToUse.html">2. How to use</a></li>
</ul> </ul>
<p class="caption"><span class="caption-text">ORCHESTRATOR</span></p> <p class="caption"><span class="caption-text">ORCHESTRATOR</span></p>
<ul class="current"> <ul class="current">
<li class="toctree-l1"><a class="reference internal" href="01_Orchestrator.html">1. Description</a></li> <li class="toctree-l1"><a class="reference internal" href="01_Orchestrator.html">1. Description</a></li>
<li class="toctree-l1 current"><a class="current reference internal" href="#">2. Defs</a><ul> <li class="toctree-l1 current"><a class="current reference internal" href="#">2. Defs</a><ul>
<li class="toctree-l2"><a class="reference internal" href="#pyopenrpa-orchestrator-orchestrator">pyOpenRPA.Orchestrator.__Orchestrator__</a><ul> <li class="toctree-l2"><a class="reference internal" href="#pyopenrpa-orchestrator-orchestrator">pyOpenRPA.Orchestrator.__Orchestrator__</a><ul>
<li class="toctree-l3"><a class="reference internal" href="#defs-agent">Defs Agent…</a></li> <li class="toctree-l3"><a class="reference internal" href="#group-agent">Group Agent…</a></li>
<li class="toctree-l3"><a class="reference internal" href="#defs-gsettings">Defs GSettings…</a></li> <li class="toctree-l3"><a class="reference internal" href="#group-gsettings">Group GSettings…</a></li>
<li class="toctree-l3"><a class="reference internal" href="#defs-os">Defs OS…</a></li> <li class="toctree-l3"><a class="reference internal" href="#group-os">Group OS…</a></li>
<li class="toctree-l3"><a class="reference internal" href="#defs-process">Defs Process…</a></li> <li class="toctree-l3"><a class="reference internal" href="#group-process">Group Process…</a></li>
<li class="toctree-l3"><a class="reference internal" href="#defs-processor">Defs Processor…</a></li> <li class="toctree-l3"><a class="reference internal" href="#group-processor">Group Processor…</a></li>
<li class="toctree-l3"><a class="reference internal" href="#defs-python">Defs Python…</a></li> <li class="toctree-l3"><a class="reference internal" href="#group-python">Group Python…</a></li>
<li class="toctree-l3"><a class="reference internal" href="#defs-rdpsession">Defs RDPSession…</a></li> <li class="toctree-l3"><a class="reference internal" href="#group-rdpsession">Group RDPSession…</a></li>
<li class="toctree-l3"><a class="reference internal" href="#defs-web">Defs Web…</a></li> <li class="toctree-l3"><a class="reference internal" href="#group-web">Group Web…</a></li>
<li class="toctree-l3"><a class="reference internal" href="#defs-uac">Defs UAC…</a></li> <li class="toctree-l3"><a class="reference internal" href="#group-uac">Group UAC…</a></li>
<li class="toctree-l3"><a class="reference internal" href="#defs-scheduler">Defs Scheduler…</a></li> <li class="toctree-l3"><a class="reference internal" href="#group-scheduler">Group Scheduler…</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="#references">References</a></li> <li class="toctree-l2"><a class="reference internal" href="#references">References</a></li>
@ -195,44 +204,44 @@
<span class="n">__Orchestrator__</span><span class="o">.</span><span class="n">OSCMD</span><span class="p">(</span><span class="n">inCMDStr</span> <span class="o">=</span> <span class="s2">&quot;git status&quot;</span><span class="p">,</span> <span class="n">inRunAsyncBool</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span> <span class="n">__Orchestrator__</span><span class="o">.</span><span class="n">OSCMD</span><span class="p">(</span><span class="n">inCMDStr</span> <span class="o">=</span> <span class="s2">&quot;git status&quot;</span><span class="p">,</span> <span class="n">inRunAsyncBool</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
</pre></div> </pre></div>
</div> </div>
<div class="section" id="defs-agent"> <div class="section" id="group-agent">
<h3>Defs Agent…<a class="headerlink" href="#defs-agent" title="Permalink to this headline"></a></h3> <h3>Group Agent…<a class="headerlink" href="#group-agent" title="Permalink to this headline"></a></h3>
<p>Interaction between Orchestrator and pyOpenRPA.Agent daemon process, which can be deployed in another user session.</p> <p>Interaction between Orchestrator and pyOpenRPA.Agent daemon process, which can be deployed in another user session.</p>
</div> </div>
<div class="section" id="defs-gsettings"> <div class="section" id="group-gsettings">
<h3>Defs GSettings…<a class="headerlink" href="#defs-gsettings" title="Permalink to this headline"></a></h3> <h3>Group GSettings…<a class="headerlink" href="#group-gsettings" title="Permalink to this headline"></a></h3>
<p>Basic defs to work with singleton gSettings.</p> <p>Basic defs to work with singleton gSettings.</p>
</div> </div>
<div class="section" id="defs-os"> <div class="section" id="group-os">
<h3>Defs OS…<a class="headerlink" href="#defs-os" title="Permalink to this headline"></a></h3> <h3>Group OS…<a class="headerlink" href="#group-os" title="Permalink to this headline"></a></h3>
<p>Interaction with shell on the Orchestrator user session.</p> <p>Interaction with shell on the Orchestrator user session.</p>
</div> </div>
<div class="section" id="defs-process"> <div class="section" id="group-process">
<h3>Defs Process…<a class="headerlink" href="#defs-process" title="Permalink to this headline"></a></h3> <h3>Group Process…<a class="headerlink" href="#group-process" title="Permalink to this headline"></a></h3>
<p>Interaction with some process on the Orchestrator user session.</p> <p>Interaction with some process on the Orchestrator user session.</p>
</div> </div>
<div class="section" id="defs-processor"> <div class="section" id="group-processor">
<h3>Defs Processor…<a class="headerlink" href="#defs-processor" title="Permalink to this headline"></a></h3> <h3>Group Processor…<a class="headerlink" href="#group-processor" title="Permalink to this headline"></a></h3>
<p>Work with Processor queue (see …).</p> <p>Work with Processor queue (see …).</p>
</div> </div>
<div class="section" id="defs-python"> <div class="section" id="group-python">
<h3>Defs Python…<a class="headerlink" href="#defs-python" title="Permalink to this headline"></a></h3> <h3>Group Python…<a class="headerlink" href="#group-python" title="Permalink to this headline"></a></h3>
<p>Work with extra python modules.</p> <p>Work with extra python modules.</p>
</div> </div>
<div class="section" id="defs-rdpsession"> <div class="section" id="group-rdpsession">
<h3>Defs RDPSession…<a class="headerlink" href="#defs-rdpsession" title="Permalink to this headline"></a></h3> <h3>Group RDPSession…<a class="headerlink" href="#group-rdpsession" title="Permalink to this headline"></a></h3>
<p>Interaction with RDP session, where you can manage some robots.</p> <p>Interaction with RDP session, where you can manage some robots.</p>
</div> </div>
<div class="section" id="defs-web"> <div class="section" id="group-web">
<h3>Defs Web…<a class="headerlink" href="#defs-web" title="Permalink to this headline"></a></h3> <h3>Group Web…<a class="headerlink" href="#group-web" title="Permalink to this headline"></a></h3>
<p>Manipulate the Orchestrator WEB side.</p> <p>Manipulate the Orchestrator WEB side.</p>
</div> </div>
<div class="section" id="defs-uac"> <div class="section" id="group-uac">
<h3>Defs UAC…<a class="headerlink" href="#defs-uac" title="Permalink to this headline"></a></h3> <h3>Group UAC…<a class="headerlink" href="#group-uac" title="Permalink to this headline"></a></h3>
<p>Manipulate the User Access Controls (actual for the Orchestrator WEB access for the business users)</p> <p>Manipulate the User Access Controls (actual for the Orchestrator WEB access for the business users)</p>
</div> </div>
<div class="section" id="defs-scheduler"> <div class="section" id="group-scheduler">
<h3>Defs Scheduler…<a class="headerlink" href="#defs-scheduler" title="Permalink to this headline"></a></h3> <h3>Group Scheduler…<a class="headerlink" href="#group-scheduler" title="Permalink to this headline"></a></h3>
<p>Work with activity scheduling.</p> <p>Work with activity scheduling.</p>
<span class="target" id="module-pyOpenRPA.Orchestrator.__Orchestrator__"></span><p><strong>Functions:</strong></p> <span class="target" id="module-pyOpenRPA.Orchestrator.__Orchestrator__"></span><p><strong>Functions:</strong></p>
<table class="longtable docutils align-default"> <table class="longtable docutils align-default">
@ -1656,7 +1665,7 @@ Var 2 (Backward compatibility): inGSettings, inRDPSessionKeyStr, inHostStr, inPo
<div role="contentinfo"> <div role="contentinfo">
<p> <p>
&#169; Copyright 2020, Ivan Maslov. &#169; Copyright 2021, Ivan Maslov.
</p> </p>
</div> </div>

@ -84,14 +84,23 @@
<p class="caption"><span class="caption-text">GENERAL</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../01_HowToInstall.html">1. How to install</a></li>
<li class="toctree-l1"><a class="reference internal" href="../02_RoadMap.html">2. Roadmap</a></li>
<li class="toctree-l1"><a class="reference internal" href="../03_Copyrights_Contacts.html">3. Copyrights &amp; Contacts</a></li>
</ul>
<p class="caption"><span class="caption-text">ROBOT</span></p> <p class="caption"><span class="caption-text">ROBOT</span></p>
<ul> <ul>
<li class="toctree-l1"><a class="reference internal" href="../Robot/01_Robot.html">1. Description</a></li> <li class="toctree-l1"><a class="reference internal" href="../Robot/01_Robot.html">1. Description</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Robot/02_Defs.html">2. Defs</a></li> <li class="toctree-l1"><a class="reference internal" href="../Robot/02_Defs.html">2. Defs</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Robot/03_HowToStart.html">3. How to start</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Robot/04_Dependencies.html">4. Dependencies</a></li>
</ul> </ul>
<p class="caption"><span class="caption-text">STUDIO</span></p> <p class="caption"><span class="caption-text">STUDIO</span></p>
<ul> <ul>
<li class="toctree-l1"><a class="reference internal" href="../Studio/Studio.html">Description</a></li> <li class="toctree-l1"><a class="reference internal" href="../Studio/01_Studio.html">1. Description</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Studio/02_HowToUse.html">2. How to use</a></li>
</ul> </ul>
<p class="caption"><span class="caption-text">ORCHESTRATOR</span></p> <p class="caption"><span class="caption-text">ORCHESTRATOR</span></p>
<ul class="current"> <ul class="current">
@ -551,7 +560,7 @@
<div role="contentinfo"> <div role="contentinfo">
<p> <p>
&#169; Copyright 2020, Ivan Maslov. &#169; Copyright 2021, Ivan Maslov.
</p> </p>
</div> </div>

@ -83,14 +83,23 @@
<p class="caption"><span class="caption-text">GENERAL</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../01_HowToInstall.html">1. How to install</a></li>
<li class="toctree-l1"><a class="reference internal" href="../02_RoadMap.html">2. Roadmap</a></li>
<li class="toctree-l1"><a class="reference internal" href="../03_Copyrights_Contacts.html">3. Copyrights &amp; Contacts</a></li>
</ul>
<p class="caption"><span class="caption-text">ROBOT</span></p> <p class="caption"><span class="caption-text">ROBOT</span></p>
<ul> <ul>
<li class="toctree-l1"><a class="reference internal" href="../Robot/01_Robot.html">1. Description</a></li> <li class="toctree-l1"><a class="reference internal" href="../Robot/01_Robot.html">1. Description</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Robot/02_Defs.html">2. Defs</a></li> <li class="toctree-l1"><a class="reference internal" href="../Robot/02_Defs.html">2. Defs</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Robot/03_HowToStart.html">3. How to start</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Robot/04_Dependencies.html">4. Dependencies</a></li>
</ul> </ul>
<p class="caption"><span class="caption-text">STUDIO</span></p> <p class="caption"><span class="caption-text">STUDIO</span></p>
<ul> <ul>
<li class="toctree-l1"><a class="reference internal" href="../Studio/Studio.html">Description</a></li> <li class="toctree-l1"><a class="reference internal" href="../Studio/01_Studio.html">1. Description</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Studio/02_HowToUse.html">2. How to use</a></li>
</ul> </ul>
<p class="caption"><span class="caption-text">ORCHESTRATOR</span></p> <p class="caption"><span class="caption-text">ORCHESTRATOR</span></p>
<ul class="current"> <ul class="current">
@ -255,7 +264,7 @@
<div role="contentinfo"> <div role="contentinfo">
<p> <p>
&#169; Copyright 2020, Ivan Maslov. &#169; Copyright 2021, Ivan Maslov.
</p> </p>
</div> </div>

@ -39,7 +39,7 @@
<link rel="index" title="Index" href="../genindex.html" /> <link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" /> <link rel="search" title="Search" href="../search.html" />
<link rel="next" title="2. Defs" href="02_Defs.html" /> <link rel="next" title="2. Defs" href="02_Defs.html" />
<link rel="prev" title="Welcome to pyOpenRPAs documentation!" href="../index.html" /> <link rel="prev" title="3. Copyrights &amp; Contacts" href="../03_Copyrights_Contacts.html" />
</head> </head>
<body class="wy-body-for-nav"> <body class="wy-body-for-nav">
@ -84,6 +84,12 @@
<p class="caption"><span class="caption-text">GENERAL</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../01_HowToInstall.html">1. How to install</a></li>
<li class="toctree-l1"><a class="reference internal" href="../02_RoadMap.html">2. Roadmap</a></li>
<li class="toctree-l1"><a class="reference internal" href="../03_Copyrights_Contacts.html">3. Copyrights &amp; Contacts</a></li>
</ul>
<p class="caption"><span class="caption-text">ROBOT</span></p> <p class="caption"><span class="caption-text">ROBOT</span></p>
<ul class="current"> <ul class="current">
<li class="toctree-l1 current"><a class="current reference internal" href="#">1. Description</a><ul> <li class="toctree-l1 current"><a class="current reference internal" href="#">1. Description</a><ul>
@ -91,10 +97,13 @@
</ul> </ul>
</li> </li>
<li class="toctree-l1"><a class="reference internal" href="02_Defs.html">2. Defs</a></li> <li class="toctree-l1"><a class="reference internal" href="02_Defs.html">2. Defs</a></li>
<li class="toctree-l1"><a class="reference internal" href="03_HowToStart.html">3. How to start</a></li>
<li class="toctree-l1"><a class="reference internal" href="04_Dependencies.html">4. Dependencies</a></li>
</ul> </ul>
<p class="caption"><span class="caption-text">STUDIO</span></p> <p class="caption"><span class="caption-text">STUDIO</span></p>
<ul> <ul>
<li class="toctree-l1"><a class="reference internal" href="../Studio/Studio.html">Description</a></li> <li class="toctree-l1"><a class="reference internal" href="../Studio/01_Studio.html">1. Description</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Studio/02_HowToUse.html">2. How to use</a></li>
</ul> </ul>
<p class="caption"><span class="caption-text">ORCHESTRATOR</span></p> <p class="caption"><span class="caption-text">ORCHESTRATOR</span></p>
<ul> <ul>
@ -434,14 +443,14 @@ Example: [</p>
<footer> <footer>
<div class="rst-footer-buttons" role="navigation" aria-label="footer navigation"> <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
<a href="02_Defs.html" class="btn btn-neutral float-right" title="2. Defs" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a> <a href="02_Defs.html" class="btn btn-neutral float-right" title="2. Defs" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
<a href="../index.html" class="btn btn-neutral float-left" title="Welcome to pyOpenRPAs documentation!" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a> <a href="../03_Copyrights_Contacts.html" class="btn btn-neutral float-left" title="3. Copyrights &amp; Contacts" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
</div> </div>
<hr/> <hr/>
<div role="contentinfo"> <div role="contentinfo">
<p> <p>
&#169; Copyright 2020, Ivan Maslov. &#169; Copyright 2021, Ivan Maslov.
</p> </p>
</div> </div>

@ -38,7 +38,7 @@
<link rel="index" title="Index" href="../genindex.html" /> <link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" /> <link rel="search" title="Search" href="../search.html" />
<link rel="next" title="Description" href="../Studio/Studio.html" /> <link rel="next" title="3. How to start" href="03_HowToStart.html" />
<link rel="prev" title="1. Description" href="01_Robot.html" /> <link rel="prev" title="1. Description" href="01_Robot.html" />
</head> </head>
@ -84,6 +84,12 @@
<p class="caption"><span class="caption-text">GENERAL</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../01_HowToInstall.html">1. How to install</a></li>
<li class="toctree-l1"><a class="reference internal" href="../02_RoadMap.html">2. Roadmap</a></li>
<li class="toctree-l1"><a class="reference internal" href="../03_Copyrights_Contacts.html">3. Copyrights &amp; Contacts</a></li>
</ul>
<p class="caption"><span class="caption-text">ROBOT</span></p> <p class="caption"><span class="caption-text">ROBOT</span></p>
<ul class="current"> <ul class="current">
<li class="toctree-l1"><a class="reference internal" href="01_Robot.html">1. Description</a></li> <li class="toctree-l1"><a class="reference internal" href="01_Robot.html">1. Description</a></li>
@ -92,10 +98,13 @@
<li class="toctree-l2"><a class="reference internal" href="#references">References</a></li> <li class="toctree-l2"><a class="reference internal" href="#references">References</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l1"><a class="reference internal" href="03_HowToStart.html">3. How to start</a></li>
<li class="toctree-l1"><a class="reference internal" href="04_Dependencies.html">4. Dependencies</a></li>
</ul> </ul>
<p class="caption"><span class="caption-text">STUDIO</span></p> <p class="caption"><span class="caption-text">STUDIO</span></p>
<ul> <ul>
<li class="toctree-l1"><a class="reference internal" href="../Studio/Studio.html">Description</a></li> <li class="toctree-l1"><a class="reference internal" href="../Studio/01_Studio.html">1. Description</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Studio/02_HowToUse.html">2. How to use</a></li>
</ul> </ul>
<p class="caption"><span class="caption-text">ORCHESTRATOR</span></p> <p class="caption"><span class="caption-text">ORCHESTRATOR</span></p>
<ul> <ul>
@ -506,7 +515,7 @@ Example: [</p>
</div> </div>
<footer> <footer>
<div class="rst-footer-buttons" role="navigation" aria-label="footer navigation"> <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
<a href="../Studio/Studio.html" class="btn btn-neutral float-right" title="Description" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a> <a href="03_HowToStart.html" class="btn btn-neutral float-right" title="3. How to start" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
<a href="01_Robot.html" class="btn btn-neutral float-left" title="1. Description" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a> <a href="01_Robot.html" class="btn btn-neutral float-left" title="1. Description" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
</div> </div>
@ -514,7 +523,7 @@ Example: [</p>
<div role="contentinfo"> <div role="contentinfo">
<p> <p>
&#169; Copyright 2020, Ivan Maslov. &#169; Copyright 2021, Ivan Maslov.
</p> </p>
</div> </div>

@ -0,0 +1,287 @@
<!DOCTYPE html>
<html class="writer-html5" lang="en" >
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>3. How to start &mdash; pyOpenRPA v1.2.0 documentation</title>
<link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
<!--[if lt IE 9]>
<script src="../_static/js/html5shiv.min.js"></script>
<![endif]-->
<script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
<script src="../_static/jquery.js"></script>
<script src="../_static/underscore.js"></script>
<script src="../_static/doctools.js"></script>
<script type="text/javascript" src="../_static/js/theme.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
<link rel="next" title="4. Dependencies" href="04_Dependencies.html" />
<link rel="prev" title="2. Defs" href="02_Defs.html" />
</head>
<body class="wy-body-for-nav">
<div class="wy-grid-for-nav">
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
<div class="wy-side-scroll">
<div class="wy-side-nav-search" >
<a href="../index.html" class="icon icon-home"> pyOpenRPA
</a>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
<input type="text" name="q" placeholder="Search docs" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
</div>
</div>
<div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
<p class="caption"><span class="caption-text">GENERAL</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../01_HowToInstall.html">1. How to install</a></li>
<li class="toctree-l1"><a class="reference internal" href="../02_RoadMap.html">2. Roadmap</a></li>
<li class="toctree-l1"><a class="reference internal" href="../03_Copyrights_Contacts.html">3. Copyrights &amp; Contacts</a></li>
</ul>
<p class="caption"><span class="caption-text">ROBOT</span></p>
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="01_Robot.html">1. Description</a></li>
<li class="toctree-l1"><a class="reference internal" href="02_Defs.html">2. Defs</a></li>
<li class="toctree-l1 current"><a class="current reference internal" href="#">3. How to start</a></li>
<li class="toctree-l1"><a class="reference internal" href="04_Dependencies.html">4. Dependencies</a></li>
</ul>
<p class="caption"><span class="caption-text">STUDIO</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../Studio/01_Studio.html">1. Description</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Studio/02_HowToUse.html">2. How to use</a></li>
</ul>
<p class="caption"><span class="caption-text">ORCHESTRATOR</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../Orchestrator/01_Orchestrator.html">1. Description</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Orchestrator/02_Defs.html">2. Defs</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Orchestrator/03_gSettingsTemplate.html">3. gSettings Template</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Orchestrator/04_HowToStart.html">4. How to start process</a></li>
</ul>
</div>
</div>
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
<nav class="wy-nav-top" aria-label="top navigation">
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="../index.html">pyOpenRPA</a>
</nav>
<div class="wy-nav-content">
<div class="rst-content">
<div role="navigation" aria-label="breadcrumbs navigation">
<ul class="wy-breadcrumbs">
<li><a href="../index.html" class="icon icon-home"></a> &raquo;</li>
<li>3. How to start</li>
<li class="wy-breadcrumbs-aside">
<a href="../_sources/Robot/03_HowToStart.rst.txt" rel="nofollow"> View page source</a>
</li>
</ul>
<hr/>
</div>
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody">
<div class="section" id="how-to-start">
<h1>3. How to start<a class="headerlink" href="#how-to-start" title="Permalink to this headline"></a></h1>
<p># Content
- [About](#about)
- [How to use](#how-to-use)
- [Create python script](#create-python-script)
- [Execute python script](#execute-python-script)</p>
<p># About
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.</p>
<p># How to use
You can use the robot by the several ways:
- In Python script
- In Studio script (n/a)</p>
<p>## Create python script
In order to use robot just add Robot tool folder in work directory and add line “import GUI” in your script.
### Example
&gt; import sys &lt;br&gt;
&gt; sys.path.append(../../)&lt;br&gt;
&gt; import selenium [#Web app access](<a class="reference external" href="https://gitlab.com/UnicodeLabs/OpenRPA/wikis/05.1.-Theory-&amp;-practice:-Web-app-access-(Chrome,-Firefox,-Opera">https://gitlab.com/UnicodeLabs/OpenRPA/wikis/05.1.-Theory-&amp;-practice:-Web-app-access-(Chrome,-Firefox,-Opera</a>))&lt;br&gt;
&gt; import GUI [#Win32 &amp; UI Automation access](<a class="reference external" href="https://gitlab.com/UnicodeLabs/OpenRPA/wikis/05.2.-Theory-&amp;-practice:-Desktop-app-UI-access-(win32-and-UI-automation-dlls">https://gitlab.com/UnicodeLabs/OpenRPA/wikis/05.2.-Theory-&amp;-practice:-Desktop-app-UI-access-(win32-and-UI-automation-dlls</a>)) &lt;br&gt;
&gt; import pyautogui [#Screen capture/recognition](<a class="reference external" href="https://gitlab.com/UnicodeLabs/OpenRPA/wikis/05.4.-Theory-&amp;-practice:-Screen-capture-&amp;-image-recognition">https://gitlab.com/UnicodeLabs/OpenRPA/wikis/05.4.-Theory-&amp;-practice:-Screen-capture-&amp;-image-recognition</a>) [#Mouse manipulation](<a class="reference external" href="https://gitlab.com/UnicodeLabs/OpenRPA/wikis/05.3.-Theory-&amp;-practice:-Keyboard-&amp;-mouse-manipulation">https://gitlab.com/UnicodeLabs/OpenRPA/wikis/05.3.-Theory-&amp;-practice:-Keyboard-&amp;-mouse-manipulation</a>)&lt;br&gt;
&gt; import cv2 [#Computer vision](<a class="reference external" href="https://gitlab.com/UnicodeLabs/OpenRPA/wikis/05.4.-Theory-&amp;-practice:-Screen-capture-&amp;-image-recognition">https://gitlab.com/UnicodeLabs/OpenRPA/wikis/05.4.-Theory-&amp;-practice:-Screen-capture-&amp;-image-recognition</a>)&lt;br&gt;
&gt; import keyboard [#Keyboard manipulation](<a class="reference external" href="https://gitlab.com/UnicodeLabs/OpenRPA/wikis/05.3.-Theory-&amp;-practice:-Keyboard-&amp;-mouse-manipulation">https://gitlab.com/UnicodeLabs/OpenRPA/wikis/05.3.-Theory-&amp;-practice:-Keyboard-&amp;-mouse-manipulation</a>)&lt;br&gt;</p>
<p>## Execute python script
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</p>
<p>### Execute in the Python x32
To execute your python script in x32 bit version just write in command line from x32 python directory: &lt;br&gt;
&gt; cd “OpenRPAResourcesWPy32-3720python-3.7.2”&lt;br&gt;
&gt; python.exe “path to your python script.py”&lt;br&gt;</p>
<p>### Execute in the Python x64
To execute your python script in x32 bit version just write in command line from x32 python directory: &lt;br&gt;
&gt; cd “OpenRPAResourcesWPy64-3720python-3.7.2.amd64”&lt;br&gt;
&gt; python.exe “path to your python script.py”&lt;br&gt;</p>
<p>### Execute from .cmd file
In order to simplify the execution process you can write several code lines in file with the .cmd extansion: &lt;br&gt;
&gt; cd %~dp0
&gt; copy /Y ..ResourcesWPy32-3720python-3.7.2python.exe ..ResourcesWPy32-3720python-3.7.2OpenRPAOrchestrator.exe
&gt; …ResourcesWPy32-3720python-3.7.2OpenRPAOrchestrator.exe orchestratorMain.py
&gt; pause &gt;nul</p>
<p>## Use in studio script (n/a)</p>
<p>&gt; import sys &lt;br&gt;
&gt; sys.path.append(../../)&lt;br&gt;
&gt; import GUI&lt;br&gt;
&gt; import keyboard&lt;br&gt;
&gt; import subprocess&lt;br&gt;
&gt; import time&lt;br&gt;
&gt;
&gt; #Highlight the UI Object in Folder explorer&lt;br&gt;
&gt; GUI.UIOSelector_FocusHighlight([{“class_name”:”CabinetWClass”,”backend”:”uia”},{“ctrl_index”:2},{“ctrl_index”:0},{“ctrl_index”:2},{“ctrl_index”:0}])&lt;br&gt;
&gt;
&gt;#Wait 2 seconds&lt;br&gt;
&gt;time.sleep(3)&lt;br&gt;
&gt;
&gt;#Loop: get child element of UI List&lt;br&gt;
&gt;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():&lt;br&gt;
&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; print(str(lItem))&lt;br&gt;</p>
</div>
</div>
</div>
<footer>
<div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
<a href="04_Dependencies.html" class="btn btn-neutral float-right" title="4. Dependencies" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
<a href="02_Defs.html" class="btn btn-neutral float-left" title="2. Defs" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
</div>
<hr/>
<div role="contentinfo">
<p>
&#169; Copyright 2021, Ivan Maslov.
</p>
</div>
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
<a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
provided by <a href="https://readthedocs.org">Read the Docs</a>.
</footer>
</div>
</div>
</section>
</div>
<script type="text/javascript">
jQuery(function () {
SphinxRtdTheme.Navigation.enable(true);
});
</script>
</body>
</html>

@ -0,0 +1,236 @@
<!DOCTYPE html>
<html class="writer-html5" lang="en" >
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>4. Dependencies &mdash; pyOpenRPA v1.2.0 documentation</title>
<link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
<!--[if lt IE 9]>
<script src="../_static/js/html5shiv.min.js"></script>
<![endif]-->
<script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
<script src="../_static/jquery.js"></script>
<script src="../_static/underscore.js"></script>
<script src="../_static/doctools.js"></script>
<script type="text/javascript" src="../_static/js/theme.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
<link rel="next" title="1. Description" href="../Studio/01_Studio.html" />
<link rel="prev" title="3. How to start" href="03_HowToStart.html" />
</head>
<body class="wy-body-for-nav">
<div class="wy-grid-for-nav">
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
<div class="wy-side-scroll">
<div class="wy-side-nav-search" >
<a href="../index.html" class="icon icon-home"> pyOpenRPA
</a>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
<input type="text" name="q" placeholder="Search docs" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
</div>
</div>
<div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
<p class="caption"><span class="caption-text">GENERAL</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../01_HowToInstall.html">1. How to install</a></li>
<li class="toctree-l1"><a class="reference internal" href="../02_RoadMap.html">2. Roadmap</a></li>
<li class="toctree-l1"><a class="reference internal" href="../03_Copyrights_Contacts.html">3. Copyrights &amp; Contacts</a></li>
</ul>
<p class="caption"><span class="caption-text">ROBOT</span></p>
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="01_Robot.html">1. Description</a></li>
<li class="toctree-l1"><a class="reference internal" href="02_Defs.html">2. Defs</a></li>
<li class="toctree-l1"><a class="reference internal" href="03_HowToStart.html">3. How to start</a></li>
<li class="toctree-l1 current"><a class="current reference internal" href="#">4. Dependencies</a></li>
</ul>
<p class="caption"><span class="caption-text">STUDIO</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../Studio/01_Studio.html">1. Description</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Studio/02_HowToUse.html">2. How to use</a></li>
</ul>
<p class="caption"><span class="caption-text">ORCHESTRATOR</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../Orchestrator/01_Orchestrator.html">1. Description</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Orchestrator/02_Defs.html">2. Defs</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Orchestrator/03_gSettingsTemplate.html">3. gSettings Template</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Orchestrator/04_HowToStart.html">4. How to start process</a></li>
</ul>
</div>
</div>
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
<nav class="wy-nav-top" aria-label="top navigation">
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="../index.html">pyOpenRPA</a>
</nav>
<div class="wy-nav-content">
<div class="rst-content">
<div role="navigation" aria-label="breadcrumbs navigation">
<ul class="wy-breadcrumbs">
<li><a href="../index.html" class="icon icon-home"></a> &raquo;</li>
<li>4. Dependencies</li>
<li class="wy-breadcrumbs-aside">
<a href="../_sources/Robot/04_Dependencies.rst.txt" rel="nofollow"> View page source</a>
</li>
</ul>
<hr/>
</div>
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody">
<div class="section" id="dependencies">
<h1>4. Dependencies<a class="headerlink" href="#dependencies" title="Permalink to this headline"></a></h1>
<p>Python 3 x32 [psutil, pywinauto, wmi, PIL, keyboard, pyautogui, win32api (pywin32), selenium, openCV, tesseract, requests, lxml, PyMuPDF]
Python 3 x64 [psutil, pywinauto, wmi, PIL, keyboard, pyautogui, win32api (pywin32), selenium, openCV, tesseract, requests, lxml, PyMuPDF]
pywinauto (Windows GUI automation)
Semantic UI CSS framework
JsRender by <a class="reference external" href="https://www.jsviews.com">https://www.jsviews.com</a> (switch to Handlebars)
Handlebars</p>
</div>
</div>
</div>
<footer>
<div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
<a href="../Studio/01_Studio.html" class="btn btn-neutral float-right" title="1. Description" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
<a href="03_HowToStart.html" class="btn btn-neutral float-left" title="3. How to start" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
</div>
<hr/>
<div role="contentinfo">
<p>
&#169; Copyright 2021, Ivan Maslov.
</p>
</div>
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
<a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
provided by <a href="https://readthedocs.org">Read the Docs</a>.
</footer>
</div>
</div>
</section>
</div>
<script type="text/javascript">
jQuery(function () {
SphinxRtdTheme.Navigation.enable(true);
});
</script>
</body>
</html>

@ -7,7 +7,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Description &mdash; pyOpenRPA v1.2.0 documentation</title> <title>1. Description &mdash; pyOpenRPA v1.2.0 documentation</title>
@ -38,8 +38,8 @@
<link rel="index" title="Index" href="../genindex.html" /> <link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" /> <link rel="search" title="Search" href="../search.html" />
<link rel="next" title="1. Description" href="../Orchestrator/01_Orchestrator.html" /> <link rel="next" title="2. How to use" href="02_HowToUse.html" />
<link rel="prev" title="2. Defs" href="../Robot/02_Defs.html" /> <link rel="prev" title="4. Dependencies" href="../Robot/04_Dependencies.html" />
</head> </head>
<body class="wy-body-for-nav"> <body class="wy-body-for-nav">
@ -84,14 +84,23 @@
<p class="caption"><span class="caption-text">GENERAL</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../01_HowToInstall.html">1. How to install</a></li>
<li class="toctree-l1"><a class="reference internal" href="../02_RoadMap.html">2. Roadmap</a></li>
<li class="toctree-l1"><a class="reference internal" href="../03_Copyrights_Contacts.html">3. Copyrights &amp; Contacts</a></li>
</ul>
<p class="caption"><span class="caption-text">ROBOT</span></p> <p class="caption"><span class="caption-text">ROBOT</span></p>
<ul> <ul>
<li class="toctree-l1"><a class="reference internal" href="../Robot/01_Robot.html">1. Description</a></li> <li class="toctree-l1"><a class="reference internal" href="../Robot/01_Robot.html">1. Description</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Robot/02_Defs.html">2. Defs</a></li> <li class="toctree-l1"><a class="reference internal" href="../Robot/02_Defs.html">2. Defs</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Robot/03_HowToStart.html">3. How to start</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Robot/04_Dependencies.html">4. Dependencies</a></li>
</ul> </ul>
<p class="caption"><span class="caption-text">STUDIO</span></p> <p class="caption"><span class="caption-text">STUDIO</span></p>
<ul class="current"> <ul class="current">
<li class="toctree-l1 current"><a class="current reference internal" href="#">Description</a></li> <li class="toctree-l1 current"><a class="current reference internal" href="#">1. Description</a></li>
<li class="toctree-l1"><a class="reference internal" href="02_HowToUse.html">2. How to use</a></li>
</ul> </ul>
<p class="caption"><span class="caption-text">ORCHESTRATOR</span></p> <p class="caption"><span class="caption-text">ORCHESTRATOR</span></p>
<ul> <ul>
@ -147,13 +156,13 @@
<li><a href="../index.html" class="icon icon-home"></a> &raquo;</li> <li><a href="../index.html" class="icon icon-home"></a> &raquo;</li>
<li>Description</li> <li>1. Description</li>
<li class="wy-breadcrumbs-aside"> <li class="wy-breadcrumbs-aside">
<a href="../_sources/Studio/Studio.rst.txt" rel="nofollow"> View page source</a> <a href="../_sources/Studio/01_Studio.rst.txt" rel="nofollow"> View page source</a>
</li> </li>
@ -167,7 +176,7 @@
<div itemprop="articleBody"> <div itemprop="articleBody">
<div class="section" id="description"> <div class="section" id="description">
<h1>Description<a class="headerlink" href="#description" title="Permalink to this headline"></a></h1> <h1>1. Description<a class="headerlink" href="#description" title="Permalink to this headline"></a></h1>
<p>pyOpenRPA Studio is the executable process.</p> <p>pyOpenRPA Studio is the executable process.</p>
</div> </div>
@ -177,15 +186,15 @@
</div> </div>
<footer> <footer>
<div class="rst-footer-buttons" role="navigation" aria-label="footer navigation"> <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
<a href="../Orchestrator/01_Orchestrator.html" class="btn btn-neutral float-right" title="1. Description" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a> <a href="02_HowToUse.html" class="btn btn-neutral float-right" title="2. How to use" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
<a href="../Robot/02_Defs.html" class="btn btn-neutral float-left" title="2. Defs" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a> <a href="../Robot/04_Dependencies.html" class="btn btn-neutral float-left" title="4. Dependencies" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
</div> </div>
<hr/> <hr/>
<div role="contentinfo"> <div role="contentinfo">
<p> <p>
&#169; Copyright 2020, Ivan Maslov. &#169; Copyright 2021, Ivan Maslov.
</p> </p>
</div> </div>

@ -0,0 +1,345 @@
<!DOCTYPE html>
<html class="writer-html5" lang="en" >
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>2. How to use &mdash; pyOpenRPA v1.2.0 documentation</title>
<link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
<!--[if lt IE 9]>
<script src="../_static/js/html5shiv.min.js"></script>
<![endif]-->
<script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
<script src="../_static/jquery.js"></script>
<script src="../_static/underscore.js"></script>
<script src="../_static/doctools.js"></script>
<script type="text/javascript" src="../_static/js/theme.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
<link rel="next" title="1. Description" href="../Orchestrator/01_Orchestrator.html" />
<link rel="prev" title="1. Description" href="01_Studio.html" />
</head>
<body class="wy-body-for-nav">
<div class="wy-grid-for-nav">
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
<div class="wy-side-scroll">
<div class="wy-side-nav-search" >
<a href="../index.html" class="icon icon-home"> pyOpenRPA
</a>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
<input type="text" name="q" placeholder="Search docs" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
</div>
</div>
<div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
<p class="caption"><span class="caption-text">GENERAL</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../01_HowToInstall.html">1. How to install</a></li>
<li class="toctree-l1"><a class="reference internal" href="../02_RoadMap.html">2. Roadmap</a></li>
<li class="toctree-l1"><a class="reference internal" href="../03_Copyrights_Contacts.html">3. Copyrights &amp; Contacts</a></li>
</ul>
<p class="caption"><span class="caption-text">ROBOT</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../Robot/01_Robot.html">1. Description</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Robot/02_Defs.html">2. Defs</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Robot/03_HowToStart.html">3. How to start</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Robot/04_Dependencies.html">4. Dependencies</a></li>
</ul>
<p class="caption"><span class="caption-text">STUDIO</span></p>
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="01_Studio.html">1. Description</a></li>
<li class="toctree-l1 current"><a class="current reference internal" href="#">2. How to use</a><ul>
<li class="toctree-l2"><a class="reference internal" href="#content">Content</a></li>
<li class="toctree-l2"><a class="reference internal" href="#how-to-run">How to run</a></li>
<li class="toctree-l2"><a class="reference internal" href="#ui-description">UI Description</a><ul>
<li class="toctree-l3"><a class="reference internal" href="#gui-screenshot-1">GUI Screenshot 1</a></li>
<li class="toctree-l3"><a class="reference internal" href="#gui-screenshot-2">GUI Screenshot 2</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="#how-to-extract-ui-tree">How to extract UI tree</a><ul>
<li class="toctree-l3"><a class="reference internal" href="#action-click-the-button-mouse-search">Action: Click the button “Mouse search”</a></li>
<li class="toctree-l3"><a class="reference internal" href="#action-turn-mouse-on-the-ui-object-you-are-interested-and-hold-the-ctrl-key-for-3-seconds">Action: Turn mouse on the UI object you are interested and hold the “Ctrl” key for 3 seconds</a></li>
<li class="toctree-l3"><a class="reference internal" href="#result-the-interested-ui-object-will-be-shown-in-ui-tree-viewer">Result: The interested UI object will be shown in <code class="docutils literal notranslate"><span class="pre">UI</span> <span class="pre">tree</span> <span class="pre">viewer</span></code></a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="#how-to-extract-ui-object-properties">How to extract UI object properties</a><ul>
<li class="toctree-l3"><a class="reference internal" href="#result-the-ui-object-property-list-will-be-shown-in-selected-ui-object-property-list">Result: The UI object property list will be shown in <code class="docutils literal notranslate"><span class="pre">Selected</span> <span class="pre">UI</span> <span class="pre">object</span> <span class="pre">property</span> <span class="pre">list</span></code></a></li>
</ul>
</li>
</ul>
</li>
</ul>
<p class="caption"><span class="caption-text">ORCHESTRATOR</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../Orchestrator/01_Orchestrator.html">1. Description</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Orchestrator/02_Defs.html">2. Defs</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Orchestrator/03_gSettingsTemplate.html">3. gSettings Template</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Orchestrator/04_HowToStart.html">4. How to start process</a></li>
</ul>
</div>
</div>
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
<nav class="wy-nav-top" aria-label="top navigation">
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="../index.html">pyOpenRPA</a>
</nav>
<div class="wy-nav-content">
<div class="rst-content">
<div role="navigation" aria-label="breadcrumbs navigation">
<ul class="wy-breadcrumbs">
<li><a href="../index.html" class="icon icon-home"></a> &raquo;</li>
<li>2. How to use</li>
<li class="wy-breadcrumbs-aside">
<a href="../_sources/Studio/02_HowToUse.rst.txt" rel="nofollow"> View page source</a>
</li>
</ul>
<hr/>
</div>
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody">
<div class="section" id="how-to-use">
<h1>2. How to use<a class="headerlink" href="#how-to-use" title="Permalink to this headline"></a></h1>
<div class="section" id="content">
<h2>Content<a class="headerlink" href="#content" title="Permalink to this headline"></a></h2>
<ul class="simple">
<li><p><a class="reference external" href="#how-to-run">How to run</a></p></li>
<li><p><a class="reference external" href="#ui-description">UI Description</a></p></li>
<li><p><a class="reference external" href="#how-to-extract-ui-tree">How to extract UI tree</a></p></li>
<li><p><a class="reference external" href="#how-to-search-ui-object-by-mouse-hover">How to search UI object by mouse
hover</a></p></li>
<li><p><a class="reference external" href="#how-to-extract-ui-object-properties">How to extract UI object
properties</a></p></li>
</ul>
</div>
<div class="section" id="how-to-run">
<h2>How to run<a class="headerlink" href="#how-to-run" title="Permalink to this headline"></a></h2>
<ul class="simple">
<li><p>For OS x32</p></li>
<li><p>Run (double click): OpenRPA_32.cmd (for OS x32)</p></li>
<li><p>For OS x64</p></li>
<li><p>Run (double click): OpenRPA_64.cmd (for OS x64)</p></li>
<li><p>Wait text “running server” in console. Default browser will be open
automatically</p></li>
<li><p><strong>Attention!</strong> The studio tool does not support the Internet explorer
(any version) for GUI rendering (lol) <img alt="image" src="Studio\uploads/2c27be5bdde20b5d062cbb40e74eaec5/image.png" /></p></li>
</ul>
</div>
<div class="section" id="ui-description">
<h2>UI Description<a class="headerlink" href="#ui-description" title="Permalink to this headline"></a></h2>
<p><strong>The studio tool GUI contains of:</strong> - 1. UI tree viewer - 2. Selected
UI object hierarchy list - 3. Selected UI object property list - 4. UIO
selector editor - 5. UIO action panel - 6. Another Python activity panel
- 7. Action/activity list</p>
<p><em>Look it on the GUI screenshots are listed below</em></p>
<div class="section" id="gui-screenshot-1">
<h3>GUI Screenshot 1<a class="headerlink" href="#gui-screenshot-1" title="Permalink to this headline"></a></h3>
<div class="figure align-default" id="id1">
<img alt="image" src="Studio\uploads/d3d6ad14a7e50843bd89d2b14a092fee/image.png" />
<p class="caption"><span class="caption-text">image</span><a class="headerlink" href="#id1" title="Permalink to this image"></a></p>
</div>
</div>
<div class="section" id="gui-screenshot-2">
<h3>GUI Screenshot 2<a class="headerlink" href="#gui-screenshot-2" title="Permalink to this headline"></a></h3>
<div class="figure align-default" id="id2">
<img alt="image" src="Studio\uploads/65b7d51c0a5b21e6b27dc23d4062d3ca/image.png" />
<p class="caption"><span class="caption-text">image</span><a class="headerlink" href="#id2" title="Permalink to this image"></a></p>
</div>
</div>
</div>
<div class="section" id="how-to-extract-ui-tree">
<h2>How to extract UI tree<a class="headerlink" href="#how-to-extract-ui-tree" title="Permalink to this headline"></a></h2>
<p>In order to extract the UI tree do the following: in <code class="docutils literal notranslate"><span class="pre">UI</span> <span class="pre">tree</span> <span class="pre">viewer</span></code>
choose the object you are interested and click the button “Expand”. ##
Action: Click the button “Expand” <img alt="image" src="Studio\uploads/2c27be5bdde20b5d062cbb40e74eaec5/image.png" /> ## Result <img alt="image" src="Studio\uploads/2c27be5bdde20b5d062cbb40e74eaec5/image.png" /> # How to
search UI object by mouse hover In order to search UI object do the
following: in <code class="docutils literal notranslate"><span class="pre">UI</span> <span class="pre">tree</span> <span class="pre">viewer</span></code> choose the parent object, where you are
want to search UI object, and click the button “Mouse search”. The mouse
search mode will start. Turn mouse on the UI object you are interested
and wait when the studio will highlight the UI object. After the
hightlight hold the “Ctrl” key and wait 3 seconds. The interested UI
object will be shown in <code class="docutils literal notranslate"><span class="pre">UI</span> <span class="pre">tree</span> <span class="pre">viewer</span></code>.</p>
<div class="section" id="action-click-the-button-mouse-search">
<h3>Action: Click the button “Mouse search”<a class="headerlink" href="#action-click-the-button-mouse-search" title="Permalink to this headline"></a></h3>
<div class="figure align-default" id="id3">
<img alt="image" src="Studio\uploads/84d7e4de0c840631f87cf7b325b53ad8/image.png" />
<p class="caption"><span class="caption-text">image</span><a class="headerlink" href="#id3" title="Permalink to this image"></a></p>
</div>
</div>
<div class="section" id="action-turn-mouse-on-the-ui-object-you-are-interested-and-hold-the-ctrl-key-for-3-seconds">
<h3>Action: Turn mouse on the UI object you are interested and hold the “Ctrl” key for 3 seconds<a class="headerlink" href="#action-turn-mouse-on-the-ui-object-you-are-interested-and-hold-the-ctrl-key-for-3-seconds" title="Permalink to this headline"></a></h3>
<div class="figure align-default" id="id4">
<img alt="image" src="Studio\uploads/b7c38d622bf5b7afa5b26d1686d7302a/image.png" />
<p class="caption"><span class="caption-text">image</span><a class="headerlink" href="#id4" title="Permalink to this image"></a></p>
</div>
</div>
<div class="section" id="result-the-interested-ui-object-will-be-shown-in-ui-tree-viewer">
<h3>Result: The interested UI object will be shown in <code class="docutils literal notranslate"><span class="pre">UI</span> <span class="pre">tree</span> <span class="pre">viewer</span></code><a class="headerlink" href="#result-the-interested-ui-object-will-be-shown-in-ui-tree-viewer" title="Permalink to this headline"></a></h3>
<div class="figure align-default" id="id5">
<img alt="image" src="Studio\uploads/629bbf4db2c01b9c640194230949fcd2/image.png" />
<p class="caption"><span class="caption-text">image</span><a class="headerlink" href="#id5" title="Permalink to this image"></a></p>
</div>
</div>
</div>
<div class="section" id="how-to-extract-ui-object-properties">
<h2>How to extract UI object properties<a class="headerlink" href="#how-to-extract-ui-object-properties" title="Permalink to this headline"></a></h2>
<p>In order to extract UI object properties do the following: in
<code class="docutils literal notranslate"><span class="pre">Selected</span> <span class="pre">UI</span> <span class="pre">object</span> <span class="pre">hierarchy</span> <span class="pre">list</span></code> choose the UI object you are
interested and click it. The UI object property list will be shown in
<code class="docutils literal notranslate"><span class="pre">Selected</span> <span class="pre">UI</span> <span class="pre">object</span> <span class="pre">property</span> <span class="pre">list</span></code> ## Action: Choose the UI object you
are interested and click it <img alt="image" src="Studio\uploads/2c27be5bdde20b5d062cbb40e74eaec5/image.png" /></p>
<div class="section" id="result-the-ui-object-property-list-will-be-shown-in-selected-ui-object-property-list">
<h3>Result: The UI object property list will be shown in <code class="docutils literal notranslate"><span class="pre">Selected</span> <span class="pre">UI</span> <span class="pre">object</span> <span class="pre">property</span> <span class="pre">list</span></code><a class="headerlink" href="#result-the-ui-object-property-list-will-be-shown-in-selected-ui-object-property-list" title="Permalink to this headline"></a></h3>
<div class="figure align-default" id="id6">
<img alt="image" src="Studio\uploads/f235ae29099a713e0246cd574ac3a17c/image.png" />
<p class="caption"><span class="caption-text">image</span><a class="headerlink" href="#id6" title="Permalink to this image"></a></p>
</div>
</div>
</div>
</div>
</div>
</div>
<footer>
<div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
<a href="../Orchestrator/01_Orchestrator.html" class="btn btn-neutral float-right" title="1. Description" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
<a href="01_Studio.html" class="btn btn-neutral float-left" title="1. Description" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
</div>
<hr/>
<div role="contentinfo">
<p>
&#169; Copyright 2021, Ivan Maslov.
</p>
</div>
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
<a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
provided by <a href="https://readthedocs.org">Read the Docs</a>.
</footer>
</div>
</div>
</section>
</div>
<script type="text/javascript">
jQuery(function () {
SphinxRtdTheme.Navigation.enable(true);
});
</script>
</body>
</html>

@ -82,14 +82,23 @@
<p class="caption"><span class="caption-text">GENERAL</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../01_HowToInstall.html">1. How to install</a></li>
<li class="toctree-l1"><a class="reference internal" href="../02_RoadMap.html">2. Roadmap</a></li>
<li class="toctree-l1"><a class="reference internal" href="../03_Copyrights_Contacts.html">3. Copyrights &amp; Contacts</a></li>
</ul>
<p class="caption"><span class="caption-text">ROBOT</span></p> <p class="caption"><span class="caption-text">ROBOT</span></p>
<ul> <ul>
<li class="toctree-l1"><a class="reference internal" href="../Robot/01_Robot.html">1. Description</a></li> <li class="toctree-l1"><a class="reference internal" href="../Robot/01_Robot.html">1. Description</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Robot/02_Defs.html">2. Defs</a></li> <li class="toctree-l1"><a class="reference internal" href="../Robot/02_Defs.html">2. Defs</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Robot/03_HowToStart.html">3. How to start</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Robot/04_Dependencies.html">4. Dependencies</a></li>
</ul> </ul>
<p class="caption"><span class="caption-text">STUDIO</span></p> <p class="caption"><span class="caption-text">STUDIO</span></p>
<ul> <ul>
<li class="toctree-l1"><a class="reference internal" href="../Studio/Studio.html">Description</a></li> <li class="toctree-l1"><a class="reference internal" href="../Studio/01_Studio.html">1. Description</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Studio/02_HowToUse.html">2. How to use</a></li>
</ul> </ul>
<p class="caption"><span class="caption-text">ORCHESTRATOR</span></p> <p class="caption"><span class="caption-text">ORCHESTRATOR</span></p>
<ul> <ul>
@ -174,7 +183,7 @@
<div role="contentinfo"> <div role="contentinfo">
<p> <p>
&#169; Copyright 2020, Ivan Maslov. &#169; Copyright 2021, Ivan Maslov.
</p> </p>
</div> </div>

@ -82,14 +82,23 @@
<p class="caption"><span class="caption-text">GENERAL</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../../../01_HowToInstall.html">1. How to install</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../02_RoadMap.html">2. Roadmap</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../03_Copyrights_Contacts.html">3. Copyrights &amp; Contacts</a></li>
</ul>
<p class="caption"><span class="caption-text">ROBOT</span></p> <p class="caption"><span class="caption-text">ROBOT</span></p>
<ul> <ul>
<li class="toctree-l1"><a class="reference internal" href="../../../Robot/01_Robot.html">1. Description</a></li> <li class="toctree-l1"><a class="reference internal" href="../../../Robot/01_Robot.html">1. Description</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../Robot/02_Defs.html">2. Defs</a></li> <li class="toctree-l1"><a class="reference internal" href="../../../Robot/02_Defs.html">2. Defs</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../Robot/03_HowToStart.html">3. How to start</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../Robot/04_Dependencies.html">4. Dependencies</a></li>
</ul> </ul>
<p class="caption"><span class="caption-text">STUDIO</span></p> <p class="caption"><span class="caption-text">STUDIO</span></p>
<ul> <ul>
<li class="toctree-l1"><a class="reference internal" href="../../../Studio/Studio.html">Description</a></li> <li class="toctree-l1"><a class="reference internal" href="../../../Studio/01_Studio.html">1. Description</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../Studio/02_HowToUse.html">2. How to use</a></li>
</ul> </ul>
<p class="caption"><span class="caption-text">ORCHESTRATOR</span></p> <p class="caption"><span class="caption-text">ORCHESTRATOR</span></p>
<ul> <ul>
@ -1967,7 +1976,7 @@
<div role="contentinfo"> <div role="contentinfo">
<p> <p>
&#169; Copyright 2020, Ivan Maslov. &#169; Copyright 2021, Ivan Maslov.
</p> </p>
</div> </div>

@ -82,14 +82,23 @@
<p class="caption"><span class="caption-text">GENERAL</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../../../01_HowToInstall.html">1. How to install</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../02_RoadMap.html">2. Roadmap</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../03_Copyrights_Contacts.html">3. Copyrights &amp; Contacts</a></li>
</ul>
<p class="caption"><span class="caption-text">ROBOT</span></p> <p class="caption"><span class="caption-text">ROBOT</span></p>
<ul> <ul>
<li class="toctree-l1"><a class="reference internal" href="../../../Robot/01_Robot.html">1. Description</a></li> <li class="toctree-l1"><a class="reference internal" href="../../../Robot/01_Robot.html">1. Description</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../Robot/02_Defs.html">2. Defs</a></li> <li class="toctree-l1"><a class="reference internal" href="../../../Robot/02_Defs.html">2. Defs</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../Robot/03_HowToStart.html">3. How to start</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../Robot/04_Dependencies.html">4. Dependencies</a></li>
</ul> </ul>
<p class="caption"><span class="caption-text">STUDIO</span></p> <p class="caption"><span class="caption-text">STUDIO</span></p>
<ul> <ul>
<li class="toctree-l1"><a class="reference internal" href="../../../Studio/Studio.html">Description</a></li> <li class="toctree-l1"><a class="reference internal" href="../../../Studio/01_Studio.html">1. Description</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../Studio/02_HowToUse.html">2. How to use</a></li>
</ul> </ul>
<p class="caption"><span class="caption-text">ORCHESTRATOR</span></p> <p class="caption"><span class="caption-text">ORCHESTRATOR</span></p>
<ul> <ul>
@ -1584,7 +1593,7 @@
<div role="contentinfo"> <div role="contentinfo">
<p> <p>
&#169; Copyright 2020, Ivan Maslov. &#169; Copyright 2021, Ivan Maslov.
</p> </p>
</div> </div>

@ -0,0 +1,29 @@
####################################
1. How to install
####################################
Are you ready to install the OpenRPA solution on your machine?<br>
Ok, we start. <br>
**Do the following operations:**
- Download the OpenRPA package from master branch on GitLab [Download ZIP](https://gitlab.com/UnicodeLabs/OpenRPA/-/archive/master/OpenRPA-master.zip)
- Unzip the package
**Installation has been completed :)**
**************************************************
How to check installation
**************************************************
- Run portable python (built in the OpenRPA)
- x32 python (OpenRPA\Resources\WPy32-3720\python-3.7.2\python.exe)
- x64 python (OpenRPA\Resources\WPy64-3720\python-3.7.2.amd64\python.exe)
**The OpenRPA has been successfully installed if the portable python 3.7.2 was started without any exceptions (see screenshot).**
![image](uploads/cb5dec8cecafa7d64f6cd14b2672acce/image.png)
**************************************************
System requirements
**************************************************
- OS Windows 7+
- Need Windows package KB2999226 if use windows Vista/7/8/8.1/Server 2008/Server 2012 [Download package](https://support.microsoft.com/ru-ru/help/2999226)
- For OpenCV: OS Windows 7/8/8/10 only (no Windows Server)

@ -0,0 +1,13 @@
####################################
2. Roadmap
####################################
- Guide
- - ENG - in progress (see content below), plan date 31.08.2020 (failed), new plan date march 2021
- - RUS - queue
- Tutorial
- - ENG - queue
- - RUS - queue
- Dev actions
Refactoring the arguments in UIDesktop.py (only in new branch pyOpenRPA version. For backward compatibility purpose), plan date -

@ -0,0 +1,32 @@
####################################
3. Copyrights & Contacts
####################################
pyOpenRPA is created by Ivan Maslov (Russia).
Use it absolutely for free!
My purpose is to create #IT4Business models all over the world.
If you need IT help feel free to contact me (prefer e-mail or skype).
Thank you!
**************************************************
Ivan Maslov (founder)
**************************************************
E-mail: Ivan.Maslov@UnicodeLabs.ru
Skype: MegaFinder
Facebook: https://www.facebook.com/RU.Ivan.Maslov
LinkedIn: https://www.linkedin.com/in/RU-IvanMaslov/
**************************************************
3-rd party components license dependencies
**************************************************
WinPython 3.7.1 32-bit & 64-bit, license MIT (https://github.com/winpython/winpython)
Selenium v..., license Apache 2.0
pywinauto 0.6.5, license BSD 3-Clause (https://github.com/pywinauto/pywinauto)
Semantic UI ..., license MIT (https://github.com/Semantic-Org/Semantic-UI)
PyAutoGUI ..., license BSD 3-Clause (https://github.com/asweigart/pyautogui)
keyboard ..., license MIT (https://github.com/boppreh/keyboard)
OpenCV ...
pywin32

@ -18,43 +18,43 @@ pyOpenRPA.Orchestrator.__Orchestrator__
Defs Agent... Group Agent...
###################### ######################
Interaction between Orchestrator and pyOpenRPA.Agent daemon process, which can be deployed in another user session. Interaction between Orchestrator and pyOpenRPA.Agent daemon process, which can be deployed in another user session.
Defs GSettings... Group GSettings...
###################### ######################
Basic defs to work with singleton gSettings. Basic defs to work with singleton gSettings.
Defs OS... Group OS...
###################### ######################
Interaction with shell on the Orchestrator user session. Interaction with shell on the Orchestrator user session.
Defs Process... Group Process...
###################### ######################
Interaction with some process on the Orchestrator user session. Interaction with some process on the Orchestrator user session.
Defs Processor... Group Processor...
###################### ######################
Work with Processor queue (see ...). Work with Processor queue (see ...).
Defs Python... Group Python...
###################### ######################
Work with extra python modules. Work with extra python modules.
Defs RDPSession... Group RDPSession...
###################### ######################
Interaction with RDP session, where you can manage some robots. Interaction with RDP session, where you can manage some robots.
Defs Web... Group Web...
###################### ######################
Manipulate the Orchestrator WEB side. Manipulate the Orchestrator WEB side.
Defs UAC... Group UAC...
###################### ######################
Manipulate the User Access Controls (actual for the Orchestrator WEB access for the business users) Manipulate the User Access Controls (actual for the Orchestrator WEB access for the business users)
Defs Scheduler... Group Scheduler...
###################### ######################
Work with activity scheduling. Work with activity scheduling.

@ -0,0 +1,71 @@
####################################
3. How to start
####################################
# Content
- [About](#about)
- [How to use](#how-to-use)
- [Create python script](#create-python-script)
- [Execute python script](#execute-python-script)
# About
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.
# How to use
You can use the robot by the several ways:
- In Python script
- In Studio script (n/a)
## Create python script
In order to use robot just add Robot tool folder in work directory and add line "import GUI" in your script.
### Example
> import sys <br>
> sys.path.append('../../')<br>
> import selenium [#Web app access](https://gitlab.com/UnicodeLabs/OpenRPA/wikis/05.1.-Theory-&-practice:-Web-app-access-(Chrome,-Firefox,-Opera))<br>
> import GUI [#Win32 & UI Automation access](https://gitlab.com/UnicodeLabs/OpenRPA/wikis/05.2.-Theory-&-practice:-Desktop-app-UI-access-(win32-and-UI-automation-dlls)) <br>
> import pyautogui [#Screen capture/recognition](https://gitlab.com/UnicodeLabs/OpenRPA/wikis/05.4.-Theory-&-practice:-Screen-capture-&-image-recognition) [#Mouse manipulation](https://gitlab.com/UnicodeLabs/OpenRPA/wikis/05.3.-Theory-&-practice:-Keyboard-&-mouse-manipulation)<br>
> import cv2 [#Computer vision](https://gitlab.com/UnicodeLabs/OpenRPA/wikis/05.4.-Theory-&-practice:-Screen-capture-&-image-recognition)<br>
> import keyboard [#Keyboard manipulation](https://gitlab.com/UnicodeLabs/OpenRPA/wikis/05.3.-Theory-&-practice:-Keyboard-&-mouse-manipulation)<br>
## Execute python script
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 (\OpenRPA\Resources\WPy32-3720\python-3.7.2)
- Execute in python x64 (\OpenRPA\Resources\WPy64-3720\python-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: <br>
> cd "\OpenRPA\Resources\WPy32-3720\python-3.7.2"<br>
> python.exe "path to your python script.py"<br>
### Execute in the Python x64
To execute your python script in x32 bit version just write in command line from x32 python directory: <br>
> cd "\OpenRPA\Resources\WPy64-3720\python-3.7.2.amd64"<br>
> python.exe "path to your python script.py"<br>
### Execute from .cmd file
In order to simplify the execution process you can write several code lines in file with the .cmd extansion: <br>
> cd %~dp0
> copy /Y ..\Resources\WPy32-3720\python-3.7.2\python.exe ..\Resources\WPy32-3720\python-3.7.2\OpenRPAOrchestrator.exe
> .\..\Resources\WPy32-3720\python-3.7.2\OpenRPAOrchestrator.exe orchestratorMain.py
> pause >nul
## Use in studio script (n/a)
> import sys <br>
> sys.path.append('../../')<br>
> import GUI<br>
> import keyboard<br>
> import subprocess<br>
> import time<br>
>
> #Highlight the UI Object in Folder explorer<br>
> GUI.UIOSelector_FocusHighlight([{"class_name":"CabinetWClass","backend":"uia"},{"ctrl_index":2},{"ctrl_index":0},{"ctrl_index":2},{"ctrl_index":0}])<br>
>
>#Wait 2 seconds<br>
>time.sleep(3)<br>
>
>#Loop: get child element of UI List<br>
>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():<br>
> &nbsp; &nbsp; &nbsp; &nbsp; print(str(lItem))<br>

@ -0,0 +1,10 @@
####################################
4. Dependencies
####################################
Python 3 x32 [psutil, pywinauto, wmi, PIL, keyboard, pyautogui, win32api (pywin32), selenium, openCV, tesseract, requests, lxml, PyMuPDF]
Python 3 x64 [psutil, pywinauto, wmi, PIL, keyboard, pyautogui, win32api (pywin32), selenium, openCV, tesseract, requests, lxml, PyMuPDF]
pywinauto (Windows GUI automation)
Semantic UI CSS framework
JsRender by https://www.jsviews.com (switch to Handlebars)
Handlebars

@ -1,5 +1,5 @@
************************ ************************
Description 1. Description
************************ ************************
pyOpenRPA Studio is the executable process. pyOpenRPA Studio is the executable process.

@ -0,0 +1,107 @@
####################################
2. How to use
####################################
Content
=======
- `How to run <#how-to-run>`__
- `UI Description <#ui-description>`__
- `How to extract UI tree <#how-to-extract-ui-tree>`__
- `How to search UI object by mouse
hover <#how-to-search-ui-object-by-mouse-hover>`__
- `How to extract UI object
properties <#how-to-extract-ui-object-properties>`__
How to run
==========
- For OS x32
- Run (double click): OpenRPA\_32.cmd (for OS x32)
- For OS x64
- Run (double click): OpenRPA\_64.cmd (for OS x64)
- Wait text "running server" in console. Default browser will be open
automatically
- **Attention!** The studio tool does not support the Internet explorer
(any version) for GUI rendering (lol) |image|
UI Description
==============
**The studio tool GUI contains of:** - 1. UI tree viewer - 2. Selected
UI object hierarchy list - 3. Selected UI object property list - 4. UIO
selector editor - 5. UIO action panel - 6. Another Python activity panel
- 7. Action/activity list
*Look it on the GUI screenshots are listed below*
GUI Screenshot 1
----------------
.. figure:: uploads/d3d6ad14a7e50843bd89d2b14a092fee/image.png
:alt: image
image
GUI Screenshot 2
----------------
.. figure:: uploads/65b7d51c0a5b21e6b27dc23d4062d3ca/image.png
:alt: image
image
How to extract UI tree
======================
In order to extract the UI tree do the following: in ``UI tree viewer``
choose the object you are interested and click the button "Expand". ##
Action: Click the button "Expand" |image| ## Result |image| # How to
search UI object by mouse hover In order to search UI object do the
following: in ``UI tree viewer`` choose the parent object, where you are
want to search UI object, and click the button "Mouse search". The mouse
search mode will start. Turn mouse on the UI object you are interested
and wait when the studio will highlight the UI object. After the
hightlight hold the "Ctrl" key and wait 3 seconds. The interested UI
object will be shown in ``UI tree viewer``.
Action: Click the button "Mouse search"
---------------------------------------
.. figure:: uploads/84d7e4de0c840631f87cf7b325b53ad8/image.png
:alt: image
image
Action: Turn mouse on the UI object you are interested and hold the "Ctrl" key for 3 seconds
--------------------------------------------------------------------------------------------
.. figure:: uploads/b7c38d622bf5b7afa5b26d1686d7302a/image.png
:alt: image
image
Result: The interested UI object will be shown in ``UI tree viewer``
--------------------------------------------------------------------
.. figure:: uploads/629bbf4db2c01b9c640194230949fcd2/image.png
:alt: image
image
How to extract UI object properties
===================================
In order to extract UI object properties do the following: in
``Selected UI object hierarchy list`` choose the UI object you are
interested and click it. The UI object property list will be shown in
``Selected UI object property list`` ## Action: Choose the UI object you
are interested and click it |image|
Result: The UI object property list will be shown in ``Selected UI object property list``
-----------------------------------------------------------------------------------------
.. figure:: uploads/f235ae29099a713e0246cd574ac3a17c/image.png
:alt: image
image
.. |image| image:: uploads/504b98f76747f63900a2943532a946bb/image.png
.. |image| image:: uploads/6effc376ff6ea928840674bd744caced/image.png
.. |image| image:: uploads/18b9ab36126c8c32168bf5bbb9330701/image.png
.. |image| image:: uploads/2c27be5bdde20b5d062cbb40e74eaec5/image.png

@ -3,9 +3,98 @@
You can adapt this file completely to your liking, but it should at least You can adapt this file completely to your liking, but it should at least
contain the root `toctree` directive. contain the root `toctree` directive.
Welcome to pyOpenRPA's documentation! Welcome to pyOpenRPA's wiki
===================================== =====================================
**************************************************
About
**************************************************
Dear RPA-tors. Let me congratulate you with great change in the RPA world. The first enterprise level open source RPA platform is here!
The pyOpenRPA - free, fast and reliable
Powerfull OpenSource RPA tool for business (based on python 3). Best perfomance and absolutely free!
The pyOpenRPA is based on Python and using well known OpenSource solutions such as Selenium, OpenCV, Win32, UI automation and others. Thanks to it we were able to create consolidated platform with all possible features.
The pyOpenRPA is distributed under the MIT license which allows you to use it in any way you want and any time you need without any restrictions.
At the time of this writing the pyOpenRPA is successfully using in several big Russian companies. Companies in which it was decided to develop own RPA division with no dependencies on expensive licenses.
**************************************************
Structure
**************************************************
## The OpenRPA has 3 main tools:
- Studio
- Robot
- Orchestrator
## Description
`Studio`
___
Studio tool has been developed to help RPA-tors to create the robot algorythms.<br>
___
**Features**
- Run actions
- Create visual algorythms of the robot
- Desktop app: Analyze desktop app ui tree
- Desktop app: Search desktop app ui by mouse
- Desktop app: Generate & edit the UIO Selector
___
`Robot`
___
The Robot tool is the core of any action execution in OpenRPA. All action from algorythms are perfoming by the Robot tool. It looks like a console process without graphic user interface.
___
**Features**
- Based on Python (killer feature)
- Support Win32 GUI framework (desktop app)
- Support UI automation framework (desktop app)
- Support Selenium (web app)
- Support PyAutoGUI (screen capture & mouse)
- Support OpenCV (computer vision)
___
`Orchestrator`
___
The Orchestrator tool has been developed to maintain robot infrastructure (2+ robots algorythm).
___
**Features**
- Start/Stop robot algorythm
- Robot scheduler
- Remote machine screenshot viewer
- Remote machine cmd shell
- Remote machine logs storage
___
**************************************************
Guide
**************************************************
In wiki you can find:
in QUEUE
Theory & practice: Web app access (Chrome, Firefox, Opera)
Theory & practice: Desktop app UI access (win32 and UI automation dlls)
Theory & practice: Keyboard & mouse manipulation
Theory & practice: Screen capture & image recognition
**************************************************
Tutorials
**************************************************
[ENG]
Content in progress
[RUS]
Перейти в раздел туториалов
**************************************************
Donate
**************************************************
pyOpenRPA is absolutely non-commercial project.
Please donate some $ if pyOpenRPA project is actual for you. Link to online donations.
https://money.yandex.ru/to/4100115560661986
**************************************************
Content
**************************************************
.. toctree:: .. toctree::
:maxdepth: 2 :maxdepth: 2
:caption: GENERAL :caption: GENERAL

@ -82,14 +82,23 @@
<p class="caption"><span class="caption-text">GENERAL</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="01_HowToInstall.html">1. How to install</a></li>
<li class="toctree-l1"><a class="reference internal" href="02_RoadMap.html">2. Roadmap</a></li>
<li class="toctree-l1"><a class="reference internal" href="03_Copyrights_Contacts.html">3. Copyrights &amp; Contacts</a></li>
</ul>
<p class="caption"><span class="caption-text">ROBOT</span></p> <p class="caption"><span class="caption-text">ROBOT</span></p>
<ul> <ul>
<li class="toctree-l1"><a class="reference internal" href="Robot/01_Robot.html">1. Description</a></li> <li class="toctree-l1"><a class="reference internal" href="Robot/01_Robot.html">1. Description</a></li>
<li class="toctree-l1"><a class="reference internal" href="Robot/02_Defs.html">2. Defs</a></li> <li class="toctree-l1"><a class="reference internal" href="Robot/02_Defs.html">2. Defs</a></li>
<li class="toctree-l1"><a class="reference internal" href="Robot/03_HowToStart.html">3. How to start</a></li>
<li class="toctree-l1"><a class="reference internal" href="Robot/04_Dependencies.html">4. Dependencies</a></li>
</ul> </ul>
<p class="caption"><span class="caption-text">STUDIO</span></p> <p class="caption"><span class="caption-text">STUDIO</span></p>
<ul> <ul>
<li class="toctree-l1"><a class="reference internal" href="Studio/Studio.html">Description</a></li> <li class="toctree-l1"><a class="reference internal" href="Studio/01_Studio.html">1. Description</a></li>
<li class="toctree-l1"><a class="reference internal" href="Studio/02_HowToUse.html">2. How to use</a></li>
</ul> </ul>
<p class="caption"><span class="caption-text">ORCHESTRATOR</span></p> <p class="caption"><span class="caption-text">ORCHESTRATOR</span></p>
<ul> <ul>
@ -403,7 +412,7 @@
<div role="contentinfo"> <div role="contentinfo">
<p> <p>
&#169; Copyright 2020, Ivan Maslov. &#169; Copyright 2021, Ivan Maslov.
</p> </p>
</div> </div>

@ -7,7 +7,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Welcome to pyOpenRPAs documentation! &mdash; pyOpenRPA v1.2.0 documentation</title> <title>Welcome to pyOpenRPAs wiki &mdash; pyOpenRPA v1.2.0 documentation</title>
@ -38,7 +38,7 @@
<link rel="index" title="Index" href="genindex.html" /> <link rel="index" title="Index" href="genindex.html" />
<link rel="search" title="Search" href="search.html" /> <link rel="search" title="Search" href="search.html" />
<link rel="next" title="1. Description" href="Robot/01_Robot.html" /> <link rel="next" title="1. How to install" href="01_HowToInstall.html" />
</head> </head>
<body class="wy-body-for-nav"> <body class="wy-body-for-nav">
@ -83,14 +83,23 @@
<p class="caption"><span class="caption-text">GENERAL</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="01_HowToInstall.html">1. How to install</a></li>
<li class="toctree-l1"><a class="reference internal" href="02_RoadMap.html">2. Roadmap</a></li>
<li class="toctree-l1"><a class="reference internal" href="03_Copyrights_Contacts.html">3. Copyrights &amp; Contacts</a></li>
</ul>
<p class="caption"><span class="caption-text">ROBOT</span></p> <p class="caption"><span class="caption-text">ROBOT</span></p>
<ul> <ul>
<li class="toctree-l1"><a class="reference internal" href="Robot/01_Robot.html">1. Description</a></li> <li class="toctree-l1"><a class="reference internal" href="Robot/01_Robot.html">1. Description</a></li>
<li class="toctree-l1"><a class="reference internal" href="Robot/02_Defs.html">2. Defs</a></li> <li class="toctree-l1"><a class="reference internal" href="Robot/02_Defs.html">2. Defs</a></li>
<li class="toctree-l1"><a class="reference internal" href="Robot/03_HowToStart.html">3. How to start</a></li>
<li class="toctree-l1"><a class="reference internal" href="Robot/04_Dependencies.html">4. Dependencies</a></li>
</ul> </ul>
<p class="caption"><span class="caption-text">STUDIO</span></p> <p class="caption"><span class="caption-text">STUDIO</span></p>
<ul> <ul>
<li class="toctree-l1"><a class="reference internal" href="Studio/Studio.html">Description</a></li> <li class="toctree-l1"><a class="reference internal" href="Studio/01_Studio.html">1. Description</a></li>
<li class="toctree-l1"><a class="reference internal" href="Studio/02_HowToUse.html">2. How to use</a></li>
</ul> </ul>
<p class="caption"><span class="caption-text">ORCHESTRATOR</span></p> <p class="caption"><span class="caption-text">ORCHESTRATOR</span></p>
<ul> <ul>
@ -146,7 +155,7 @@
<li><a href="#" class="icon icon-home"></a> &raquo;</li> <li><a href="#" class="icon icon-home"></a> &raquo;</li>
<li>Welcome to pyOpenRPAs documentation!</li> <li>Welcome to pyOpenRPAs wiki</li>
<li class="wy-breadcrumbs-aside"> <li class="wy-breadcrumbs-aside">
@ -165,9 +174,98 @@
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody"> <div itemprop="articleBody">
<div class="section" id="welcome-to-pyopenrpa-s-documentation"> <div class="section" id="welcome-to-pyopenrpa-s-wiki">
<h1>Welcome to pyOpenRPAs documentation!<a class="headerlink" href="#welcome-to-pyopenrpa-s-documentation" title="Permalink to this headline"></a></h1> <h1>Welcome to pyOpenRPAs wiki<a class="headerlink" href="#welcome-to-pyopenrpa-s-wiki" title="Permalink to this headline"></a></h1>
<div class="section" id="about">
<h2>About<a class="headerlink" href="#about" title="Permalink to this headline"></a></h2>
<p>Dear RPA-tors. Let me congratulate you with great change in the RPA world. The first enterprise level open source RPA platform is here!</p>
<p>The pyOpenRPA - free, fast and reliable
Powerfull OpenSource RPA tool for business (based on python 3). Best perfomance and absolutely free!</p>
<p>The pyOpenRPA is based on Python and using well known OpenSource solutions such as Selenium, OpenCV, Win32, UI automation and others. Thanks to it we were able to create consolidated platform with all possible features.
The pyOpenRPA is distributed under the MIT license which allows you to use it in any way you want and any time you need without any restrictions.
At the time of this writing the pyOpenRPA is successfully using in several big Russian companies. Companies in which it was decided to develop own RPA division with no dependencies on expensive licenses.</p>
</div>
<div class="section" id="structure">
<h2>Structure<a class="headerlink" href="#structure" title="Permalink to this headline"></a></h2>
<p>## The OpenRPA has 3 main tools:
- Studio
- Robot
- Orchestrator
## Description
<cite>Studio</cite>
___
Studio tool has been developed to help RPA-tors to create the robot algorythms.&lt;br&gt;
___
<strong>Features</strong>
- Run actions
- Create visual algorythms of the robot
- Desktop app: Analyze desktop app ui tree
- Desktop app: Search desktop app ui by mouse
- Desktop app: Generate &amp; edit the UIO Selector
___
<cite>Robot</cite>
___
The Robot tool is the core of any action execution in OpenRPA. All action from algorythms are perfoming by the Robot tool. It looks like a console process without graphic user interface.
___
<strong>Features</strong>
- Based on Python (killer feature)
- Support Win32 GUI framework (desktop app)
- Support UI automation framework (desktop app)
- Support Selenium (web app)
- Support PyAutoGUI (screen capture &amp; mouse)
- Support OpenCV (computer vision)
___
<cite>Orchestrator</cite>
___
The Orchestrator tool has been developed to maintain robot infrastructure (2+ robots algorythm).
___
<strong>Features</strong>
- Start/Stop robot algorythm
- Robot scheduler
- Remote machine screenshot viewer
- Remote machine cmd shell
- Remote machine logs storage
___</p>
</div>
<div class="section" id="guide">
<h2>Guide<a class="headerlink" href="#guide" title="Permalink to this headline"></a></h2>
<p>In wiki you can find:
in QUEUE
Theory &amp; practice: Web app access (Chrome, Firefox, Opera)
Theory &amp; practice: Desktop app UI access (win32 and UI automation dlls)
Theory &amp; practice: Keyboard &amp; mouse manipulation
Theory &amp; practice: Screen capture &amp; image recognition</p>
</div>
<div class="section" id="tutorials">
<h2>Tutorials<a class="headerlink" href="#tutorials" title="Permalink to this headline"></a></h2>
<p>[ENG]
Content in progress
[RUS]
Перейти в раздел туториалов</p>
</div>
<div class="section" id="donate">
<h2>Donate<a class="headerlink" href="#donate" title="Permalink to this headline"></a></h2>
<p>pyOpenRPA is absolutely non-commercial project.</p>
<p>Please donate some $ if pyOpenRPA project is actual for you. Link to online donations.
<a class="reference external" href="https://money.yandex.ru/to/4100115560661986">https://money.yandex.ru/to/4100115560661986</a></p>
</div>
<div class="section" id="content">
<h2>Content<a class="headerlink" href="#content" title="Permalink to this headline"></a></h2>
<div class="toctree-wrapper compound"> <div class="toctree-wrapper compound">
<p class="caption"><span class="caption-text">GENERAL</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="01_HowToInstall.html">1. How to install</a><ul>
<li class="toctree-l2"><a class="reference internal" href="01_HowToInstall.html#how-to-check-installation">How to check installation</a></li>
<li class="toctree-l2"><a class="reference internal" href="01_HowToInstall.html#system-requirements">System requirements</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="02_RoadMap.html">2. Roadmap</a></li>
<li class="toctree-l1"><a class="reference internal" href="03_Copyrights_Contacts.html">3. Copyrights &amp; Contacts</a><ul>
<li class="toctree-l2"><a class="reference internal" href="03_Copyrights_Contacts.html#ivan-maslov-founder">Ivan Maslov (founder)</a></li>
<li class="toctree-l2"><a class="reference internal" href="03_Copyrights_Contacts.html#rd-party-components-license-dependencies">3-rd party components license dependencies</a></li>
</ul>
</li>
</ul>
</div> </div>
<div class="toctree-wrapper compound"> <div class="toctree-wrapper compound">
<p class="caption"><span class="caption-text">ROBOT</span></p> <p class="caption"><span class="caption-text">ROBOT</span></p>
@ -181,12 +279,22 @@
<li class="toctree-l2"><a class="reference internal" href="Robot/02_Defs.html#references">References</a></li> <li class="toctree-l2"><a class="reference internal" href="Robot/02_Defs.html#references">References</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l1"><a class="reference internal" href="Robot/03_HowToStart.html">3. How to start</a></li>
<li class="toctree-l1"><a class="reference internal" href="Robot/04_Dependencies.html">4. Dependencies</a></li>
</ul> </ul>
</div> </div>
<div class="toctree-wrapper compound"> <div class="toctree-wrapper compound">
<p class="caption"><span class="caption-text">STUDIO</span></p> <p class="caption"><span class="caption-text">STUDIO</span></p>
<ul> <ul>
<li class="toctree-l1"><a class="reference internal" href="Studio/Studio.html">Description</a></li> <li class="toctree-l1"><a class="reference internal" href="Studio/01_Studio.html">1. Description</a></li>
<li class="toctree-l1"><a class="reference internal" href="Studio/02_HowToUse.html">2. How to use</a><ul>
<li class="toctree-l2"><a class="reference internal" href="Studio/02_HowToUse.html#content">Content</a></li>
<li class="toctree-l2"><a class="reference internal" href="Studio/02_HowToUse.html#how-to-run">How to run</a></li>
<li class="toctree-l2"><a class="reference internal" href="Studio/02_HowToUse.html#ui-description">UI Description</a></li>
<li class="toctree-l2"><a class="reference internal" href="Studio/02_HowToUse.html#how-to-extract-ui-tree">How to extract UI tree</a></li>
<li class="toctree-l2"><a class="reference internal" href="Studio/02_HowToUse.html#how-to-extract-ui-object-properties">How to extract UI object properties</a></li>
</ul>
</li>
</ul> </ul>
</div> </div>
<div class="toctree-wrapper compound"> <div class="toctree-wrapper compound">
@ -202,16 +310,16 @@
</li> </li>
<li class="toctree-l1"><a class="reference internal" href="Orchestrator/02_Defs.html">2. Defs</a><ul> <li class="toctree-l1"><a class="reference internal" href="Orchestrator/02_Defs.html">2. Defs</a><ul>
<li class="toctree-l2"><a class="reference internal" href="Orchestrator/02_Defs.html#pyopenrpa-orchestrator-orchestrator">pyOpenRPA.Orchestrator.__Orchestrator__</a><ul> <li class="toctree-l2"><a class="reference internal" href="Orchestrator/02_Defs.html#pyopenrpa-orchestrator-orchestrator">pyOpenRPA.Orchestrator.__Orchestrator__</a><ul>
<li class="toctree-l3"><a class="reference internal" href="Orchestrator/02_Defs.html#defs-agent">Defs Agent…</a></li> <li class="toctree-l3"><a class="reference internal" href="Orchestrator/02_Defs.html#group-agent">Group Agent…</a></li>
<li class="toctree-l3"><a class="reference internal" href="Orchestrator/02_Defs.html#defs-gsettings">Defs GSettings…</a></li> <li class="toctree-l3"><a class="reference internal" href="Orchestrator/02_Defs.html#group-gsettings">Group GSettings…</a></li>
<li class="toctree-l3"><a class="reference internal" href="Orchestrator/02_Defs.html#defs-os">Defs OS…</a></li> <li class="toctree-l3"><a class="reference internal" href="Orchestrator/02_Defs.html#group-os">Group OS…</a></li>
<li class="toctree-l3"><a class="reference internal" href="Orchestrator/02_Defs.html#defs-process">Defs Process…</a></li> <li class="toctree-l3"><a class="reference internal" href="Orchestrator/02_Defs.html#group-process">Group Process…</a></li>
<li class="toctree-l3"><a class="reference internal" href="Orchestrator/02_Defs.html#defs-processor">Defs Processor…</a></li> <li class="toctree-l3"><a class="reference internal" href="Orchestrator/02_Defs.html#group-processor">Group Processor…</a></li>
<li class="toctree-l3"><a class="reference internal" href="Orchestrator/02_Defs.html#defs-python">Defs Python…</a></li> <li class="toctree-l3"><a class="reference internal" href="Orchestrator/02_Defs.html#group-python">Group Python…</a></li>
<li class="toctree-l3"><a class="reference internal" href="Orchestrator/02_Defs.html#defs-rdpsession">Defs RDPSession…</a></li> <li class="toctree-l3"><a class="reference internal" href="Orchestrator/02_Defs.html#group-rdpsession">Group RDPSession…</a></li>
<li class="toctree-l3"><a class="reference internal" href="Orchestrator/02_Defs.html#defs-web">Defs Web…</a></li> <li class="toctree-l3"><a class="reference internal" href="Orchestrator/02_Defs.html#group-web">Group Web…</a></li>
<li class="toctree-l3"><a class="reference internal" href="Orchestrator/02_Defs.html#defs-uac">Defs UAC…</a></li> <li class="toctree-l3"><a class="reference internal" href="Orchestrator/02_Defs.html#group-uac">Group UAC…</a></li>
<li class="toctree-l3"><a class="reference internal" href="Orchestrator/02_Defs.html#defs-scheduler">Defs Scheduler…</a></li> <li class="toctree-l3"><a class="reference internal" href="Orchestrator/02_Defs.html#group-scheduler">Group Scheduler…</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="Orchestrator/02_Defs.html#references">References</a></li> <li class="toctree-l2"><a class="reference internal" href="Orchestrator/02_Defs.html#references">References</a></li>
@ -221,6 +329,7 @@
<li class="toctree-l1"><a class="reference internal" href="Orchestrator/04_HowToStart.html">4. How to start process</a></li> <li class="toctree-l1"><a class="reference internal" href="Orchestrator/04_HowToStart.html">4. How to start process</a></li>
</ul> </ul>
</div> </div>
</div>
</div> </div>
@ -229,14 +338,14 @@
</div> </div>
<footer> <footer>
<div class="rst-footer-buttons" role="navigation" aria-label="footer navigation"> <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
<a href="Robot/01_Robot.html" class="btn btn-neutral float-right" title="1. Description" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a> <a href="01_HowToInstall.html" class="btn btn-neutral float-right" title="1. How to install" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
</div> </div>
<hr/> <hr/>
<div role="contentinfo"> <div role="contentinfo">
<p> <p>
&#169; Copyright 2020, Ivan Maslov. &#169; Copyright 2021, Ivan Maslov.
</p> </p>
</div> </div>

Binary file not shown.

@ -85,14 +85,23 @@
<p class="caption"><span class="caption-text">GENERAL</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="01_HowToInstall.html">1. How to install</a></li>
<li class="toctree-l1"><a class="reference internal" href="02_RoadMap.html">2. Roadmap</a></li>
<li class="toctree-l1"><a class="reference internal" href="03_Copyrights_Contacts.html">3. Copyrights &amp; Contacts</a></li>
</ul>
<p class="caption"><span class="caption-text">ROBOT</span></p> <p class="caption"><span class="caption-text">ROBOT</span></p>
<ul> <ul>
<li class="toctree-l1"><a class="reference internal" href="Robot/01_Robot.html">1. Description</a></li> <li class="toctree-l1"><a class="reference internal" href="Robot/01_Robot.html">1. Description</a></li>
<li class="toctree-l1"><a class="reference internal" href="Robot/02_Defs.html">2. Defs</a></li> <li class="toctree-l1"><a class="reference internal" href="Robot/02_Defs.html">2. Defs</a></li>
<li class="toctree-l1"><a class="reference internal" href="Robot/03_HowToStart.html">3. How to start</a></li>
<li class="toctree-l1"><a class="reference internal" href="Robot/04_Dependencies.html">4. Dependencies</a></li>
</ul> </ul>
<p class="caption"><span class="caption-text">STUDIO</span></p> <p class="caption"><span class="caption-text">STUDIO</span></p>
<ul> <ul>
<li class="toctree-l1"><a class="reference internal" href="Studio/Studio.html">Description</a></li> <li class="toctree-l1"><a class="reference internal" href="Studio/01_Studio.html">1. Description</a></li>
<li class="toctree-l1"><a class="reference internal" href="Studio/02_HowToUse.html">2. How to use</a></li>
</ul> </ul>
<p class="caption"><span class="caption-text">ORCHESTRATOR</span></p> <p class="caption"><span class="caption-text">ORCHESTRATOR</span></p>
<ul> <ul>
@ -202,7 +211,7 @@
<div role="contentinfo"> <div role="contentinfo">
<p> <p>
&#169; Copyright 2020, Ivan Maslov. &#169; Copyright 2021, Ivan Maslov.
</p> </p>
</div> </div>

@ -85,14 +85,23 @@
<p class="caption"><span class="caption-text">GENERAL</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="01_HowToInstall.html">1. How to install</a></li>
<li class="toctree-l1"><a class="reference internal" href="02_RoadMap.html">2. Roadmap</a></li>
<li class="toctree-l1"><a class="reference internal" href="03_Copyrights_Contacts.html">3. Copyrights &amp; Contacts</a></li>
</ul>
<p class="caption"><span class="caption-text">ROBOT</span></p> <p class="caption"><span class="caption-text">ROBOT</span></p>
<ul> <ul>
<li class="toctree-l1"><a class="reference internal" href="Robot/01_Robot.html">1. Description</a></li> <li class="toctree-l1"><a class="reference internal" href="Robot/01_Robot.html">1. Description</a></li>
<li class="toctree-l1"><a class="reference internal" href="Robot/02_Defs.html">2. Defs</a></li> <li class="toctree-l1"><a class="reference internal" href="Robot/02_Defs.html">2. Defs</a></li>
<li class="toctree-l1"><a class="reference internal" href="Robot/03_HowToStart.html">3. How to start</a></li>
<li class="toctree-l1"><a class="reference internal" href="Robot/04_Dependencies.html">4. Dependencies</a></li>
</ul> </ul>
<p class="caption"><span class="caption-text">STUDIO</span></p> <p class="caption"><span class="caption-text">STUDIO</span></p>
<ul> <ul>
<li class="toctree-l1"><a class="reference internal" href="Studio/Studio.html">Description</a></li> <li class="toctree-l1"><a class="reference internal" href="Studio/01_Studio.html">1. Description</a></li>
<li class="toctree-l1"><a class="reference internal" href="Studio/02_HowToUse.html">2. How to use</a></li>
</ul> </ul>
<p class="caption"><span class="caption-text">ORCHESTRATOR</span></p> <p class="caption"><span class="caption-text">ORCHESTRATOR</span></p>
<ul> <ul>
@ -185,7 +194,7 @@
<div role="contentinfo"> <div role="contentinfo">
<p> <p>
&#169; Copyright 2020, Ivan Maslov. &#169; Copyright 2021, Ivan Maslov.
</p> </p>
</div> </div>

File diff suppressed because one or more lines are too long

@ -0,0 +1,29 @@
# 1. How to install
Are you ready to install the OpenRPA solution on your machine?<br>
Ok, we start. <br>
**Do the following operations:**
- Download the OpenRPA package from master branch on GitLab [Download ZIP]([https://gitlab.com/UnicodeLabs/OpenRPA/-/archive/master/OpenRPA-master.zip](https://gitlab.com/UnicodeLabs/OpenRPA/-/archive/master/OpenRPA-master.zip))
- Unzip the package
**Installation has been completed :)**
## How to check installation
* Run portable python (built in the OpenRPA)
- x32 python (OpenRPAResourcesWPy32-3720python-3.7.2python.exe)
- x64 python (OpenRPAResourcesWPy64-3720python-3.7.2.amd64python.exe)
**The OpenRPA has been successfully installed if the portable python 3.7.2 was started without any exceptions (see screenshot).**
![image](uploads/cb5dec8cecafa7d64f6cd14b2672acce/image.png)
## System requirements
* OS Windows 7+
- Need Windows package KB2999226 if use windows Vista/7/8/8.1/Server 2008/Server 2012 [Download package]([https://support.microsoft.com/ru-ru/help/2999226](https://support.microsoft.com/ru-ru/help/2999226))
* For OpenCV: OS Windows 7/8/8/10 only (no Windows Server)

@ -0,0 +1,28 @@
# 2. Roadmap
* Guide
*
* ENG - in progress (see content below), plan date 31.08.2020 (failed), new plan date march 2021
*
* RUS - queue
* Tutorial
*
* ENG - queue
*
* RUS - queue
* Dev actions
Refactoring the arguments in UIDesktop.py (only in new branch pyOpenRPA version. For backward compatibility purpose), plan date -

@ -0,0 +1,27 @@
# 3. Copyrights & Contacts
pyOpenRPA is created by Ivan Maslov (Russia).
Use it absolutely for free!
My purpose is to create #IT4Business models all over the world.
If you need IT help feel free to contact me (prefer e-mail or skype).
Thank you!
## Ivan Maslov (founder)
E-mail: [Ivan.Maslov@UnicodeLabs.ru](mailto:Ivan.Maslov@UnicodeLabs.ru)
Skype: MegaFinder
Facebook: [https://www.facebook.com/RU.Ivan.Maslov](https://www.facebook.com/RU.Ivan.Maslov)
LinkedIn: [https://www.linkedin.com/in/RU-IvanMaslov/](https://www.linkedin.com/in/RU-IvanMaslov/)
## 3-rd party components license dependencies
WinPython 3.7.1 32-bit & 64-bit, license MIT ([https://github.com/winpython/winpython](https://github.com/winpython/winpython))
Selenium v…, license Apache 2.0
pywinauto 0.6.5, license BSD 3-Clause ([https://github.com/pywinauto/pywinauto](https://github.com/pywinauto/pywinauto))
Semantic UI …, license MIT ([https://github.com/Semantic-Org/Semantic-UI](https://github.com/Semantic-Org/Semantic-UI))
PyAutoGUI …, license BSD 3-Clause ([https://github.com/asweigart/pyautogui](https://github.com/asweigart/pyautogui))
keyboard …, license MIT ([https://github.com/boppreh/keyboard](https://github.com/boppreh/keyboard))
OpenCV …
pywin32

@ -12,43 +12,43 @@ from pyOpenRPA.Orchestrator import __Orchestrator__
__Orchestrator__.OSCMD(inCMDStr = "git status", inRunAsyncBool=True) __Orchestrator__.OSCMD(inCMDStr = "git status", inRunAsyncBool=True)
``` ```
### Defs Agent… ### Group Agent…
Interaction between Orchestrator and pyOpenRPA.Agent daemon process, which can be deployed in another user session. Interaction between Orchestrator and pyOpenRPA.Agent daemon process, which can be deployed in another user session.
### Defs GSettings… ### Group GSettings…
Basic defs to work with singleton gSettings. Basic defs to work with singleton gSettings.
### Defs OS… ### Group OS…
Interaction with shell on the Orchestrator user session. Interaction with shell on the Orchestrator user session.
### Defs Process… ### Group Process…
Interaction with some process on the Orchestrator user session. Interaction with some process on the Orchestrator user session.
### Defs Processor… ### Group Processor…
Work with Processor queue (see …). Work with Processor queue (see …).
### Defs Python… ### Group Python…
Work with extra python modules. Work with extra python modules.
### Defs RDPSession… ### Group RDPSession…
Interaction with RDP session, where you can manage some robots. Interaction with RDP session, where you can manage some robots.
### Defs Web… ### Group Web…
Manipulate the Orchestrator WEB side. Manipulate the Orchestrator WEB side.
### Defs UAC… ### Group UAC…
Manipulate the User Access Controls (actual for the Orchestrator WEB access for the business users) Manipulate the User Access Controls (actual for the Orchestrator WEB access for the business users)
### Defs Scheduler… ### Group Scheduler…
Work with activity scheduling. Work with activity scheduling.

@ -0,0 +1,68 @@
# 3. How to start
# Content
- [About](#about)
- [How to use](#how-to-use)
- [Create python script](#create-python-script)
- [Execute python script](#execute-python-script)
# About
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.
# How to use
You can use the robot by the several ways:
- In Python script
- In Studio script (n/a)
## Create python script
In order to use robot just add Robot tool folder in work directory and add line “import GUI” in your script.
### Example
> import sys <br>
> sys.path.append(../../)<br>
> import selenium [#Web app access]([https://gitlab.com/UnicodeLabs/OpenRPA/wikis/05.1.-Theory-&-practice:-Web-app-access-(Chrome,-Firefox,-Opera](https://gitlab.com/UnicodeLabs/OpenRPA/wikis/05.1.-Theory-&-practice:-Web-app-access-(Chrome,-Firefox,-Opera)))<br>
> import GUI [#Win32 & UI Automation access]([https://gitlab.com/UnicodeLabs/OpenRPA/wikis/05.2.-Theory-&-practice:-Desktop-app-UI-access-(win32-and-UI-automation-dlls](https://gitlab.com/UnicodeLabs/OpenRPA/wikis/05.2.-Theory-&-practice:-Desktop-app-UI-access-(win32-and-UI-automation-dlls))) <br>
> import pyautogui [#Screen capture/recognition]([https://gitlab.com/UnicodeLabs/OpenRPA/wikis/05.4.-Theory-&-practice:-Screen-capture-&-image-recognition](https://gitlab.com/UnicodeLabs/OpenRPA/wikis/05.4.-Theory-&-practice:-Screen-capture-&-image-recognition)) [#Mouse manipulation]([https://gitlab.com/UnicodeLabs/OpenRPA/wikis/05.3.-Theory-&-practice:-Keyboard-&-mouse-manipulation](https://gitlab.com/UnicodeLabs/OpenRPA/wikis/05.3.-Theory-&-practice:-Keyboard-&-mouse-manipulation))<br>
> import cv2 [#Computer vision]([https://gitlab.com/UnicodeLabs/OpenRPA/wikis/05.4.-Theory-&-practice:-Screen-capture-&-image-recognition](https://gitlab.com/UnicodeLabs/OpenRPA/wikis/05.4.-Theory-&-practice:-Screen-capture-&-image-recognition))<br>
> import keyboard [#Keyboard manipulation]([https://gitlab.com/UnicodeLabs/OpenRPA/wikis/05.3.-Theory-&-practice:-Keyboard-&-mouse-manipulation](https://gitlab.com/UnicodeLabs/OpenRPA/wikis/05.3.-Theory-&-practice:-Keyboard-&-mouse-manipulation))<br>
## Execute python script
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: <br>
> cd “OpenRPAResourcesWPy32-3720python-3.7.2”<br>
> python.exe “path to your python script.py”<br>
### Execute in the Python x64
To execute your python script in x32 bit version just write in command line from x32 python directory: <br>
> cd “OpenRPAResourcesWPy64-3720python-3.7.2.amd64”<br>
> python.exe “path to your python script.py”<br>
### Execute from .cmd file
In order to simplify the execution process you can write several code lines in file with the .cmd extansion: <br>
> cd %~dp0
> copy /Y ..ResourcesWPy32-3720python-3.7.2python.exe ..ResourcesWPy32-3720python-3.7.2OpenRPAOrchestrator.exe
> …ResourcesWPy32-3720python-3.7.2OpenRPAOrchestrator.exe orchestratorMain.py
> pause >nul
## Use in studio script (n/a)
> import sys <br>
> sys.path.append(../../)<br>
> import GUI<br>
> import keyboard<br>
> import subprocess<br>
> import time<br>
>
> #Highlight the UI Object in Folder explorer<br>
> GUI.UIOSelector_FocusHighlight([{“class_name”:”CabinetWClass”,”backend”:”uia”},{“ctrl_index”:2},{“ctrl_index”:0},{“ctrl_index”:2},{“ctrl_index”:0}])<br>
>
>#Wait 2 seconds<br>
>time.sleep(3)<br>
>
>#Loop: get child element of UI List<br>
>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():<br>
> &nbsp; &nbsp; &nbsp; &nbsp; print(str(lItem))<br>

@ -0,0 +1,8 @@
# 4. Dependencies
Python 3 x32 [psutil, pywinauto, wmi, PIL, keyboard, pyautogui, win32api (pywin32), selenium, openCV, tesseract, requests, lxml, PyMuPDF]
Python 3 x64 [psutil, pywinauto, wmi, PIL, keyboard, pyautogui, win32api (pywin32), selenium, openCV, tesseract, requests, lxml, PyMuPDF]
pywinauto (Windows GUI automation)
Semantic UI CSS framework
JsRender by [https://www.jsviews.com](https://www.jsviews.com) (switch to Handlebars)
Handlebars

@ -1,3 +1,3 @@
# Description # 1. Description
pyOpenRPA Studio is the executable process. pyOpenRPA Studio is the executable process.

@ -0,0 +1,98 @@
# 2. How to use
## Content
* [How to run](#how-to-run)
* [UI Description](#ui-description)
* [How to extract UI tree](#how-to-extract-ui-tree)
* [How to search UI object by mouse
hover](#how-to-search-ui-object-by-mouse-hover)
* [How to extract UI object
properties](#how-to-extract-ui-object-properties)
## How to run
* For OS x32
* Run (double click): OpenRPA_32.cmd (for OS x32)
* For OS x64
* Run (double click): OpenRPA_64.cmd (for OS x64)
* Wait text “running server” in console. Default browser will be open
automatically
* **Attention!** The studio tool does not support the Internet explorer
(any version) for GUI rendering (lol)
![image](\uploads/2c27be5bdde20b5d062cbb40e74eaec5/image.png)
## UI Description
**The studio tool GUI contains of:** - 1. UI tree viewer - 2. Selected
UI object hierarchy list - 3. Selected UI object property list - 4. UIO
selector editor - 5. UIO action panel - 6. Another Python activity panel
- 7. Action/activity list
*Look it on the GUI screenshots are listed below*
### GUI Screenshot 1
### GUI Screenshot 2
## How to extract UI tree
In order to extract the UI tree do the following: in `UI tree viewer`
choose the object you are interested and click the button “Expand”. ##
Action: Click the button “Expand”
![image](\uploads/2c27be5bdde20b5d062cbb40e74eaec5/image.png)
## Result
![image](\uploads/2c27be5bdde20b5d062cbb40e74eaec5/image.png)
# How to
search UI object by mouse hover In order to search UI object do the
following: in `UI tree viewer` choose the parent object, where you are
want to search UI object, and click the button “Mouse search”. The mouse
search mode will start. Turn mouse on the UI object you are interested
and wait when the studio will highlight the UI object. After the
hightlight hold the “Ctrl” key and wait 3 seconds. The interested UI
object will be shown in `UI tree viewer`.
### Action: Click the button “Mouse search”
### Action: Turn mouse on the UI object you are interested and hold the “Ctrl” key for 3 seconds
### Result: The interested UI object will be shown in `UI tree viewer`
## How to extract UI object properties
In order to extract UI object properties do the following: in
`Selected UI object hierarchy list` choose the UI object you are
interested and click it. The UI object property list will be shown in
`Selected UI object property list` ## Action: Choose the UI object you
are interested and click it
![image](\uploads/2c27be5bdde20b5d062cbb40e74eaec5/image.png)
### Result: The UI object property list will be shown in `Selected UI object property list`

@ -2,7 +2,107 @@
sphinx-quickstart on Sat Dec 19 23:59:00 2020. sphinx-quickstart on Sat Dec 19 23:59:00 2020.
You can adapt this file completely to your liking, but it should at least You can adapt this file completely to your liking, but it should at least
contain the root `toctree` directive. --> contain the root `toctree` directive. -->
# Welcome to pyOpenRPAs documentation! # Welcome to pyOpenRPAs wiki
## About
Dear RPA-tors. Let me congratulate you with great change in the RPA world. The first enterprise level open source RPA platform is here!
The pyOpenRPA - free, fast and reliable
Powerfull OpenSource RPA tool for business (based on python 3). Best perfomance and absolutely free!
The pyOpenRPA is based on Python and using well known OpenSource solutions such as Selenium, OpenCV, Win32, UI automation and others. Thanks to it we were able to create consolidated platform with all possible features.
The pyOpenRPA is distributed under the MIT license which allows you to use it in any way you want and any time you need without any restrictions.
At the time of this writing the pyOpenRPA is successfully using in several big Russian companies. Companies in which it was decided to develop own RPA division with no dependencies on expensive licenses.
## Structure
## The OpenRPA has 3 main tools:
- Studio
- Robot
- Orchestrator
## Description
Studio
___
Studio tool has been developed to help RPA-tors to create the robot algorythms.<br>
___
**Features**
- Run actions
- Create visual algorythms of the robot
- Desktop app: Analyze desktop app ui tree
- Desktop app: Search desktop app ui by mouse
- Desktop app: Generate & edit the UIO Selector
___
Robot
___
The Robot tool is the core of any action execution in OpenRPA. All action from algorythms are perfoming by the Robot tool. It looks like a console process without graphic user interface.
___
**Features**
- Based on Python (killer feature)
- Support Win32 GUI framework (desktop app)
- Support UI automation framework (desktop app)
- Support Selenium (web app)
- Support PyAutoGUI (screen capture & mouse)
- Support OpenCV (computer vision)
___
Orchestrator
___
The Orchestrator tool has been developed to maintain robot infrastructure (2+ robots algorythm).
___
**Features**
- Start/Stop robot algorythm
- Robot scheduler
- Remote machine screenshot viewer
- Remote machine cmd shell
- Remote machine logs storage
___
## Guide
In wiki you can find:
in QUEUE
Theory & practice: Web app access (Chrome, Firefox, Opera)
Theory & practice: Desktop app UI access (win32 and UI automation dlls)
Theory & practice: Keyboard & mouse manipulation
Theory & practice: Screen capture & image recognition
## Tutorials
[ENG]
Content in progress
[RUS]
Перейти в раздел туториалов
## Donate
pyOpenRPA is absolutely non-commercial project.
Please donate some $ if pyOpenRPA project is actual for you. Link to online donations.
[https://money.yandex.ru/to/4100115560661986](https://money.yandex.ru/to/4100115560661986)
## Content
* 1. How to install
* How to check installation
* System requirements
* 2. Roadmap
* 3. Copyrights & Contacts
* Ivan Maslov (founder)
* 3-rd party components license dependencies
* 1. Description * 1. Description
@ -20,8 +120,32 @@ contain the root `toctree` directive. -->
* References * References
* 3. How to start
* 4. Dependencies
* 1. Description
* 2. How to use
* Content
* How to run
* UI Description
* How to extract UI tree
* Description * How to extract UI object properties
@ -49,34 +173,34 @@ contain the root `toctree` directive. -->
* pyOpenRPA.Orchestrator.__Orchestrator__ * pyOpenRPA.Orchestrator.__Orchestrator__
* Defs Agent… * Group Agent…
* Defs GSettings… * Group GSettings…
* Defs OS… * Group OS…
* Defs Process… * Group Process…
* Defs Processor… * Group Processor…
* Defs Python… * Group Python…
* Defs RDPSession… * Group RDPSession…
* Defs Web… * Group Web…
* Defs UAC… * Group UAC…
* Defs Scheduler… * Group Scheduler…
* References * References

Loading…
Cancel
Save