diff --git a/Sources/pyOpenRPA/Robot/UIWeb.py b/Sources/pyOpenRPA/Robot/UIWeb.py index 15632342..7778bad3 100644 --- a/Sources/pyOpenRPA/Robot/UIWeb.py +++ b/Sources/pyOpenRPA/Robot/UIWeb.py @@ -25,10 +25,10 @@ def BrowserChromeStart(inDriverExePathStr:str = None, inChromeExePathStr:str = N #lWebDriverChromeOptionsInstance2 = webdriver.ChromeOptions() if inProfilePathStr is not None: inProfilePathStr = os.path.abspath(inProfilePathStr) - lWebDriverChromeOptionsInstance.add_argument(f"user-data-dir={inProfilePathStr}") + lWebDriverChromeOptionsInstance.add_argument(f"user-data-dir={os.path.abspath(inProfilePathStr)}") # Add extensions for lExtensionItemFullPath in inExtensionPathList: - lWebDriverChromeOptionsInstance.add_extension (lExtensionItemFullPath) + lWebDriverChromeOptionsInstance.add_extension (os.path.abspath(lExtensionItemFullPath)) #if inDriverExePathStr == "built-in": # Run with specified web driver path gBrowser = webdriver.Chrome(executable_path = inDriverExePathStr, options=lWebDriverChromeOptionsInstance) diff --git a/Utils/Jupyter-notebooks/Untitled.ipynb b/Utils/Jupyter-notebooks/Untitled.ipynb new file mode 100644 index 00000000..384e8a6f --- /dev/null +++ b/Utils/Jupyter-notebooks/Untitled.ipynb @@ -0,0 +1,180 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[Box(left=550, top=244, width=29, height=29), Box(left=550, top=298, width=29, height=29), Box(left=550, top=352, width=29, height=29), Box(left=550, top=406, width=29, height=29), Box(left=550, top=460, width=29, height=29), Box(left=550, top=514, width=29, height=29), Box(left=550, top=568, width=29, height=29), Box(left=550, top=622, width=29, height=29), Box(left=550, top=676, width=29, height=29), Box(left=550, top=730, width=29, height=29), Box(left=550, top=784, width=29, height=29), Box(left=550, top=838, width=29, height=29)]\n" + ] + } + ], + "source": [ + "import sys\n", + "import os\n", + "sys.path.insert(0, os.path.abspath(\"..\\\\..\\\\Sources\"))\n", + "import time\n", + "from pyOpenRPA.Robot import Keyboard\n", + "\n", + "# Screen: Взаимодействие с объектами экрана\n", + "from pyOpenRPA.Robot import Screen\n", + "lBoxList = Screen.ImageLocateAll(inImgPathStr=\"screencontact.PNG\",inConfidenceFloat=0.9)\n", + "print(lBoxList)" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [], + "source": [ + "Screen.BoxDraw(inBox = lBoxList)" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[Box(left=500, top=244, width=29, height=29), Box(left=500, top=298, width=29, height=29), Box(left=500, top=352, width=29, height=29), Box(left=500, top=406, width=29, height=29), Box(left=500, top=460, width=29, height=29), Box(left=500, top=514, width=29, height=29), Box(left=500, top=568, width=29, height=29), Box(left=500, top=622, width=29, height=29), Box(left=500, top=676, width=29, height=29), Box(left=500, top=730, width=29, height=29), Box(left=500, top=784, width=29, height=29), Box(left=500, top=838, width=29, height=29)]\n" + ] + } + ], + "source": [ + "lBox2List = Screen.BoxMoveTo(inBox=lBoxList,inDXInt=-50)\n", + "print(lBox2List)\n", + "Screen.BoxDraw(inBox = lBox2List)" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [], + "source": [ + "lPoint = Screen.BoxGetPoint(lBox2List[0])" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [], + "source": [ + "Screen.PointClick(lPoint)" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[Box(left=489, top=243, width=46, height=32)]\n" + ] + } + ], + "source": [ + "lBoxList = Screen.ImageLocateAll(inImgPathStr=\"sendmessage.PNG\",inConfidenceFloat=0.9)\n", + "print(lBoxList)" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [], + "source": [ + "Screen.PointClick(Screen.BoxGetPoint(Screen.ImageLocateAll(inImgPathStr=\"sendmessage.PNG\",inConfidenceFloat=0.9)[0]))" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[Box(left=169, top=193, width=409, height=687)]" + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "Screen.ImageLocateAll(inImgPathStr=\"emptytray.PNG\",inConfidenceFloat=0.9)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.7.2" + }, + "varInspector": { + "cols": { + "lenName": 16, + "lenType": 16, + "lenVar": 40 + }, + "kernels_config": { + "python": { + "delete_cmd_postfix": "", + "delete_cmd_prefix": "del ", + "library": "var_list.py", + "varRefreshCmd": "print(var_dic_list())" + }, + "r": { + "delete_cmd_postfix": ") ", + "delete_cmd_prefix": "rm(", + "library": "var_list.r", + "varRefreshCmd": "cat(var_dic_list()) " + } + }, + "types_to_exclude": [ + "module", + "function", + "builtin_function_or_method", + "instance", + "_Feature" + ], + "window_display": false + } + }, + "nbformat": 4, + "nbformat_minor": 4 +} diff --git a/Utils/Jupyter-notebooks/Web.ipynb b/Utils/Jupyter-notebooks/Web.ipynb index fdedf862..7dd4605d 100644 --- a/Utils/Jupyter-notebooks/Web.ipynb +++ b/Utils/Jupyter-notebooks/Web.ipynb @@ -2,15 +2,31 @@ "cells": [ { "cell_type": "code", - "execution_count": 1, + "execution_count": 15, "metadata": {}, - "outputs": [], + "outputs": [ + { + "ename": "PermissionError", + "evalue": "[Errno 13] Permission denied: 'C:\\\\Abs\\\\Archive\\\\scopeSrcUL\\\\pyOpenRPA\\\\Resources\\\\extTest'", + "output_type": "error", + "traceback": [ + "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[1;31mPermissionError\u001b[0m Traceback (most recent call last)", + "\u001b[1;32m\u001b[0m in \u001b[0;36m\u001b[1;34m\u001b[0m\n\u001b[0;32m 3\u001b[0m \u001b[0msys\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mpath\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0minsert\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;36m0\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mos\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mpath\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mabspath\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m\"..\\\\..\\\\Sources\"\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 4\u001b[0m \u001b[1;32mfrom\u001b[0m \u001b[0mpyOpenRPA\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mRobot\u001b[0m \u001b[1;32mimport\u001b[0m \u001b[0mUIWeb\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m----> 5\u001b[1;33m \u001b[0mUIWeb\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mBrowserChromeStart\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0minExtensionPathList\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;34m\"..\\\\..\\\\Resources\\\\extTest\"\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 6\u001b[0m \u001b[0mUIWeb\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mPageOpen\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m\"https://mail.ru\"\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", + "\u001b[1;32mC:\\Abs\\Archive\\scopeSrcUL\\pyOpenRPA\\Sources\\pyOpenRPA\\Robot\\UIWeb.py\u001b[0m in \u001b[0;36mBrowserChromeStart\u001b[1;34m(inDriverExePathStr, inChromeExePathStr, inExtensionPathList, inProfilePathStr)\u001b[0m\n\u001b[0;32m 32\u001b[0m \u001b[1;31m#if inDriverExePathStr == \"built-in\":\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 33\u001b[0m \u001b[1;31m# Run with specified web driver path\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m---> 34\u001b[1;33m \u001b[0mgBrowser\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mwebdriver\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mChrome\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mexecutable_path\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0minDriverExePathStr\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0moptions\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mlWebDriverChromeOptionsInstance\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 35\u001b[0m \u001b[1;31m#else:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 36\u001b[0m \u001b[1;31m# lWebDriverInstance = webdriver.Chrome(options = lWebDriverChromeOptionsInstance)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", + "\u001b[1;32mC:\\Abs\\Archive\\scopeSrcUL\\pyOpenRPA\\Resources\\WPy64-3720\\python-3.7.2.amd64\\lib\\site-packages\\selenium\\webdriver\\chrome\\webdriver.py\u001b[0m in \u001b[0;36m__init__\u001b[1;34m(self, executable_path, port, options, service_args, desired_capabilities, service_log_path, chrome_options, keep_alive)\u001b[0m\n\u001b[0;32m 62\u001b[0m \u001b[1;32melse\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 63\u001b[0m \u001b[1;32mif\u001b[0m \u001b[0mdesired_capabilities\u001b[0m \u001b[1;32mis\u001b[0m \u001b[1;32mNone\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m---> 64\u001b[1;33m \u001b[0mdesired_capabilities\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0moptions\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mto_capabilities\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 65\u001b[0m \u001b[1;32melse\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 66\u001b[0m \u001b[0mdesired_capabilities\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mupdate\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0moptions\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mto_capabilities\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", + "\u001b[1;32mC:\\Abs\\Archive\\scopeSrcUL\\pyOpenRPA\\Resources\\WPy64-3720\\python-3.7.2.amd64\\lib\\site-packages\\selenium\\webdriver\\chrome\\options.py\u001b[0m in \u001b[0;36mto_capabilities\u001b[1;34m(self)\u001b[0m\n\u001b[0;32m 200\u001b[0m \u001b[0mcaps\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_caps\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 201\u001b[0m \u001b[0mchrome_options\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mexperimental_options\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mcopy\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 202\u001b[1;33m \u001b[0mchrome_options\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;34m\"extensions\"\u001b[0m\u001b[1;33m]\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mextensions\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 203\u001b[0m \u001b[1;32mif\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mbinary_location\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 204\u001b[0m \u001b[0mchrome_options\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;34m\"binary\"\u001b[0m\u001b[1;33m]\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mbinary_location\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", + "\u001b[1;32mC:\\Abs\\Archive\\scopeSrcUL\\pyOpenRPA\\Resources\\WPy64-3720\\python-3.7.2.amd64\\lib\\site-packages\\selenium\\webdriver\\chrome\\options.py\u001b[0m in \u001b[0;36mextensions\u001b[1;34m(self)\u001b[0m\n\u001b[0;32m 107\u001b[0m \u001b[0mencoded_extensions\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;33m[\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 108\u001b[0m \u001b[1;32mfor\u001b[0m \u001b[0mext\u001b[0m \u001b[1;32min\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_extension_files\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 109\u001b[1;33m \u001b[0mfile_\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mopen\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mext\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;34m'rb'\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 110\u001b[0m \u001b[1;31m# Should not use base64.encodestring() which inserts newlines every\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 111\u001b[0m \u001b[1;31m# 76 characters (per RFC 1521). Chromedriver has to remove those\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", + "\u001b[1;31mPermissionError\u001b[0m: [Errno 13] Permission denied: 'C:\\\\Abs\\\\Archive\\\\scopeSrcUL\\\\pyOpenRPA\\\\Resources\\\\extTest'" + ] + } + ], "source": [ "import sys\n", "import os\n", "sys.path.insert(0, os.path.abspath(\"..\\\\..\\\\Sources\"))\n", "from pyOpenRPA.Robot import UIWeb\n", - "UIWeb.BrowserChromeStart()\n", + "UIWeb.BrowserChromeStart(inExtensionPathList=[\"..\\\\..\\\\Resources\\\\extTest\"])\n", "UIWeb.PageOpen(\"https://mail.ru\")" ] }, diff --git a/Wiki/RUS_Guide/doctrees/01_HowToInstall.doctree b/Wiki/RUS_Guide/doctrees/01_HowToInstall.doctree index de69ee25..5b6877f7 100644 Binary files a/Wiki/RUS_Guide/doctrees/01_HowToInstall.doctree and b/Wiki/RUS_Guide/doctrees/01_HowToInstall.doctree differ diff --git a/Wiki/RUS_Guide/doctrees/03_Copyrights_Contacts.doctree b/Wiki/RUS_Guide/doctrees/03_Copyrights_Contacts.doctree index d9166c6f..89e9b34c 100644 Binary files a/Wiki/RUS_Guide/doctrees/03_Copyrights_Contacts.doctree and b/Wiki/RUS_Guide/doctrees/03_Copyrights_Contacts.doctree differ diff --git a/Wiki/RUS_Guide/doctrees/Agent/02_Defs.doctree b/Wiki/RUS_Guide/doctrees/Agent/02_Defs.doctree index fa002a68..b692f822 100644 Binary files a/Wiki/RUS_Guide/doctrees/Agent/02_Defs.doctree and b/Wiki/RUS_Guide/doctrees/Agent/02_Defs.doctree differ diff --git a/Wiki/RUS_Guide/doctrees/Orchestrator/01_Orchestrator.doctree b/Wiki/RUS_Guide/doctrees/Orchestrator/01_Orchestrator.doctree index 76b0b691..d19d4dfb 100644 Binary files a/Wiki/RUS_Guide/doctrees/Orchestrator/01_Orchestrator.doctree and b/Wiki/RUS_Guide/doctrees/Orchestrator/01_Orchestrator.doctree differ diff --git a/Wiki/RUS_Guide/doctrees/Orchestrator/02_Defs.doctree b/Wiki/RUS_Guide/doctrees/Orchestrator/02_Defs.doctree index 2de72328..522da905 100644 Binary files a/Wiki/RUS_Guide/doctrees/Orchestrator/02_Defs.doctree and b/Wiki/RUS_Guide/doctrees/Orchestrator/02_Defs.doctree differ diff --git a/Wiki/RUS_Guide/doctrees/Orchestrator/03_gSettingsTemplate.doctree b/Wiki/RUS_Guide/doctrees/Orchestrator/03_gSettingsTemplate.doctree index c53558fb..2d3bcbfe 100644 Binary files a/Wiki/RUS_Guide/doctrees/Orchestrator/03_gSettingsTemplate.doctree and b/Wiki/RUS_Guide/doctrees/Orchestrator/03_gSettingsTemplate.doctree differ diff --git a/Wiki/RUS_Guide/doctrees/Orchestrator/04_HowToUse.doctree b/Wiki/RUS_Guide/doctrees/Orchestrator/04_HowToUse.doctree index 71757177..6f5cc224 100644 Binary files a/Wiki/RUS_Guide/doctrees/Orchestrator/04_HowToUse.doctree and b/Wiki/RUS_Guide/doctrees/Orchestrator/04_HowToUse.doctree differ diff --git a/Wiki/RUS_Guide/doctrees/Orchestrator/05_UAC.doctree b/Wiki/RUS_Guide/doctrees/Orchestrator/05_UAC.doctree index 6687a267..895473db 100644 Binary files a/Wiki/RUS_Guide/doctrees/Orchestrator/05_UAC.doctree and b/Wiki/RUS_Guide/doctrees/Orchestrator/05_UAC.doctree differ diff --git a/Wiki/RUS_Guide/doctrees/Robot/01_Robot.doctree b/Wiki/RUS_Guide/doctrees/Robot/01_Robot.doctree index ad87f52b..2dcfce79 100644 Binary files a/Wiki/RUS_Guide/doctrees/Robot/01_Robot.doctree and b/Wiki/RUS_Guide/doctrees/Robot/01_Robot.doctree differ diff --git a/Wiki/RUS_Guide/doctrees/Robot/02_uidesktop.doctree b/Wiki/RUS_Guide/doctrees/Robot/02_uidesktop.doctree index 62a57645..9776487e 100644 Binary files a/Wiki/RUS_Guide/doctrees/Robot/02_uidesktop.doctree and b/Wiki/RUS_Guide/doctrees/Robot/02_uidesktop.doctree differ diff --git a/Wiki/RUS_Guide/doctrees/Robot/03_uiweb.doctree b/Wiki/RUS_Guide/doctrees/Robot/03_uiweb.doctree index 8f31eab2..3a2de76b 100644 Binary files a/Wiki/RUS_Guide/doctrees/Robot/03_uiweb.doctree and b/Wiki/RUS_Guide/doctrees/Robot/03_uiweb.doctree differ diff --git a/Wiki/RUS_Guide/doctrees/Robot/04_keyboard.doctree b/Wiki/RUS_Guide/doctrees/Robot/04_keyboard.doctree index b43a3646..b38a6394 100644 Binary files a/Wiki/RUS_Guide/doctrees/Robot/04_keyboard.doctree and b/Wiki/RUS_Guide/doctrees/Robot/04_keyboard.doctree differ diff --git a/Wiki/RUS_Guide/doctrees/Robot/05_clipboard.doctree b/Wiki/RUS_Guide/doctrees/Robot/05_clipboard.doctree index ecdde6b8..76f78b83 100644 Binary files a/Wiki/RUS_Guide/doctrees/Robot/05_clipboard.doctree and b/Wiki/RUS_Guide/doctrees/Robot/05_clipboard.doctree differ diff --git a/Wiki/RUS_Guide/doctrees/Robot/06_mouse.doctree b/Wiki/RUS_Guide/doctrees/Robot/06_mouse.doctree index 601ef916..03a3bf3a 100644 Binary files a/Wiki/RUS_Guide/doctrees/Robot/06_mouse.doctree and b/Wiki/RUS_Guide/doctrees/Robot/06_mouse.doctree differ diff --git a/Wiki/RUS_Guide/doctrees/Robot/07_image.doctree b/Wiki/RUS_Guide/doctrees/Robot/07_image.doctree deleted file mode 100644 index b3a07a6c..00000000 Binary files a/Wiki/RUS_Guide/doctrees/Robot/07_image.doctree and /dev/null differ diff --git a/Wiki/RUS_Guide/doctrees/Robot/07_screen.doctree b/Wiki/RUS_Guide/doctrees/Robot/07_screen.doctree new file mode 100644 index 00000000..765213f9 Binary files /dev/null and b/Wiki/RUS_Guide/doctrees/Robot/07_screen.doctree differ diff --git a/Wiki/RUS_Guide/doctrees/Robot/08_HowToUse.doctree b/Wiki/RUS_Guide/doctrees/Robot/08_HowToUse.doctree index 82eb31ef..13ffd0d2 100644 Binary files a/Wiki/RUS_Guide/doctrees/Robot/08_HowToUse.doctree and b/Wiki/RUS_Guide/doctrees/Robot/08_HowToUse.doctree differ diff --git a/Wiki/RUS_Guide/doctrees/Studio/01_Studio.doctree b/Wiki/RUS_Guide/doctrees/Studio/01_Studio.doctree index a4aab303..16f94f11 100644 Binary files a/Wiki/RUS_Guide/doctrees/Studio/01_Studio.doctree and b/Wiki/RUS_Guide/doctrees/Studio/01_Studio.doctree differ diff --git a/Wiki/RUS_Guide/doctrees/Studio/02_HowToUse.doctree b/Wiki/RUS_Guide/doctrees/Studio/02_HowToUse.doctree index 8039cfeb..027b1370 100644 Binary files a/Wiki/RUS_Guide/doctrees/Studio/02_HowToUse.doctree and b/Wiki/RUS_Guide/doctrees/Studio/02_HowToUse.doctree differ diff --git a/Wiki/RUS_Guide/doctrees/Tools/02_Defs.doctree b/Wiki/RUS_Guide/doctrees/Tools/02_Defs.doctree index ba1d4c2c..b55e704f 100644 Binary files a/Wiki/RUS_Guide/doctrees/Tools/02_Defs.doctree and b/Wiki/RUS_Guide/doctrees/Tools/02_Defs.doctree differ diff --git a/Wiki/RUS_Guide/doctrees/environment.pickle b/Wiki/RUS_Guide/doctrees/environment.pickle index d7251631..6db75712 100644 Binary files a/Wiki/RUS_Guide/doctrees/environment.pickle and b/Wiki/RUS_Guide/doctrees/environment.pickle differ diff --git a/Wiki/RUS_Guide/doctrees/index.doctree b/Wiki/RUS_Guide/doctrees/index.doctree index be164731..1b9ac937 100644 Binary files a/Wiki/RUS_Guide/doctrees/index.doctree and b/Wiki/RUS_Guide/doctrees/index.doctree differ diff --git a/Wiki/RUS_Guide/html/01_HowToInstall.html b/Wiki/RUS_Guide/html/01_HowToInstall.html index 2bf5e670..b650d202 100644 --- a/Wiki/RUS_Guide/html/01_HowToInstall.html +++ b/Wiki/RUS_Guide/html/01_HowToInstall.html @@ -105,7 +105,7 @@
  • 4. Функции Keyboard
  • 5. Функции Clipboard
  • 6. Функции Mouse
  • -
  • 7. Функции Image
  • +
  • 7. Функции Screen
  • 8. Как использовать?
  • МОДУЛЬ СТУДИЯ

    diff --git a/Wiki/RUS_Guide/html/03_Copyrights_Contacts.html b/Wiki/RUS_Guide/html/03_Copyrights_Contacts.html index c27afeba..f706f278 100644 --- a/Wiki/RUS_Guide/html/03_Copyrights_Contacts.html +++ b/Wiki/RUS_Guide/html/03_Copyrights_Contacts.html @@ -110,7 +110,7 @@
  • 4. Функции Keyboard
  • 5. Функции Clipboard
  • 6. Функции Mouse
  • -
  • 7. Функции Image
  • +
  • 7. Функции Screen
  • 8. Как использовать?
  • МОДУЛЬ СТУДИЯ

    @@ -267,6 +267,9 @@
  • jinja2, v2.11.2, лицензия BSD 3-Clause, https://github.com/pallets/jinja/blob/main/LICENSE.rst

  • JupiterNotebook v6.1.4, лицензия BSD 3-Clause, https://github.com/jupyter/notebook/blob/main/LICENSE

  • schedule, v1.1.0, лицензия MIT, https://github.com/dbader/schedule/blob/master/LICENSE.txt

  • +
  • pyscreeze

  • +
  • opencv

  • +
  • numpy

  • diff --git a/Wiki/RUS_Guide/html/Agent/02_Defs.html b/Wiki/RUS_Guide/html/Agent/02_Defs.html index c5f774c2..41d42649 100644 --- a/Wiki/RUS_Guide/html/Agent/02_Defs.html +++ b/Wiki/RUS_Guide/html/Agent/02_Defs.html @@ -101,7 +101,7 @@
  • 4. Функции Keyboard
  • 5. Функции Clipboard
  • 6. Функции Mouse
  • -
  • 7. Функции Image
  • +
  • 7. Функции Screen
  • 8. Как использовать?
  • МОДУЛЬ СТУДИЯ

    diff --git a/Wiki/RUS_Guide/html/Orchestrator/01_Orchestrator.html b/Wiki/RUS_Guide/html/Orchestrator/01_Orchestrator.html index f70e708e..5420845e 100644 --- a/Wiki/RUS_Guide/html/Orchestrator/01_Orchestrator.html +++ b/Wiki/RUS_Guide/html/Orchestrator/01_Orchestrator.html @@ -101,7 +101,7 @@
  • 4. Функции Keyboard
  • 5. Функции Clipboard
  • 6. Функции Mouse
  • -
  • 7. Функции Image
  • +
  • 7. Функции Screen
  • 8. Как использовать?
  • МОДУЛЬ СТУДИЯ

    diff --git a/Wiki/RUS_Guide/html/Orchestrator/02_Defs.html b/Wiki/RUS_Guide/html/Orchestrator/02_Defs.html index c9b39ec7..2dd0e003 100644 --- a/Wiki/RUS_Guide/html/Orchestrator/02_Defs.html +++ b/Wiki/RUS_Guide/html/Orchestrator/02_Defs.html @@ -101,7 +101,7 @@
  • 4. Функции Keyboard
  • 5. Функции Clipboard
  • 6. Функции Mouse
  • -
  • 7. Функции Image
  • +
  • 7. Функции Screen
  • 8. Как использовать?
  • МОДУЛЬ СТУДИЯ

    @@ -1106,6 +1106,7 @@
    pyOpenRPA.Orchestrator.__Orchestrator__.OSCMD(inCMDStr, inRunAsyncBool=True, inLogger=None)[исходный код]

    Отправить команду на выполнение на сессию, где выполняется Оркестратор.

    +

    Поддерживается: Windows: +, Linux: +

    Параметры
      @@ -1231,6 +1232,7 @@ pyOpenRPA.Orchestrator.__Orchestrator__.OrchestratorPySearchInit(inGlobPatternStr, inDefStr=None, inDefArgNameGSettingsStr=None, inAsyncInitBool=False)[исходный код]

      Выполнить поиск и инициализацию пользовательских .py файлов в Оркестраторе (например панелей управления роботов)

      Добавляет инициализированный модуль в пространство sys.modules как imported (имя модуля = имя файла без расширения).

      +

      ВНИМАНИЕ! ПРЕОБРАЗУЕТ ПУТИ МЕЖДУ WINDOWS И LINUX НОТАЦИЯМИ

      # ВАРИАНТ ИСПОЛЬЗОВАНИЯ 1 (инициализация модуля py без вызова каких-либо функций внутри)
       # автоинициализация всех .py файлов, с префиксом CP_, которые расположены в папке ControlPanel
       Orchestrator.OrchestratorPySearchInit(inGlobPatternStr="ControlPanel\CP_*.py")
      diff --git a/Wiki/RUS_Guide/html/Orchestrator/03_gSettingsTemplate.html b/Wiki/RUS_Guide/html/Orchestrator/03_gSettingsTemplate.html
      index fcbeeaba..20452199 100644
      --- a/Wiki/RUS_Guide/html/Orchestrator/03_gSettingsTemplate.html
      +++ b/Wiki/RUS_Guide/html/Orchestrator/03_gSettingsTemplate.html
      @@ -101,7 +101,7 @@
       
    • 4. Функции Keyboard
    • 5. Функции Clipboard
    • 6. Функции Mouse
    • -
    • 7. Функции Image
    • +
    • 7. Функции Screen
    • 8. Как использовать?

    МОДУЛЬ СТУДИЯ

    diff --git a/Wiki/RUS_Guide/html/Orchestrator/04_HowToUse.html b/Wiki/RUS_Guide/html/Orchestrator/04_HowToUse.html index d71352b0..5efd6b9f 100644 --- a/Wiki/RUS_Guide/html/Orchestrator/04_HowToUse.html +++ b/Wiki/RUS_Guide/html/Orchestrator/04_HowToUse.html @@ -101,7 +101,7 @@
  • 4. Функции Keyboard
  • 5. Функции Clipboard
  • 6. Функции Mouse
  • -
  • 7. Функции Image
  • +
  • 7. Функции Screen
  • 8. Как использовать?
  • МОДУЛЬ СТУДИЯ

    @@ -221,13 +221,15 @@ # Config settings -lPyOpenRPASourceFolderPathStr = r"..\Sources" # Path for test pyOpenRPA package +lPyOpenRPASourceFolderPathStr = (r"../Sources") # Path for test pyOpenRPA package # Operations if lPyOpenRPASourceFolderPathStr != "": sys.path.insert(0,os.path.abspath(os.path.join(lPyOpenRPASourceFolderPathStr))) # Path for test pyOpenRPA package + + # Start import after config the pyOpenRPA folder from pyOpenRPA.Orchestrator import SettingsTemplate # Import functionallity - +from pyOpenRPA.Tools import CrossOS from pyOpenRPA import Orchestrator # Import orchestrator main #Run as administrator if not Orchestrator.OrchestratorIsAdmin(): @@ -245,7 +247,10 @@ # TEST Add Supertoken for the all access between robots Orchestrator.UACSuperTokenUpdate(inGSettings=gSettings, inSuperTokenStr="1992-04-03-0643-ru-b4ff-openrpa52zzz") # Add first interface! - Orchestrator.WebListenCreate(inGSettings=gSettings) + if CrossOS.IS_WINDOWS_BOOL: + Orchestrator.WebListenCreate(inGSettings=gSettings) + if CrossOS.IS_LINUX_BOOL: + Orchestrator.WebListenCreate(inGSettings=gSettings, inPortInt=1024) # Restore DUMP Orchestrator.OrchestratorSessionRestore(inGSettings=gSettings) # Autoinit control panels starts with CP_ diff --git a/Wiki/RUS_Guide/html/Orchestrator/05_UAC.html b/Wiki/RUS_Guide/html/Orchestrator/05_UAC.html index a67a2fb1..b1741f87 100644 --- a/Wiki/RUS_Guide/html/Orchestrator/05_UAC.html +++ b/Wiki/RUS_Guide/html/Orchestrator/05_UAC.html @@ -101,7 +101,7 @@
  • 4. Функции Keyboard
  • 5. Функции Clipboard
  • 6. Функции Mouse
  • -
  • 7. Функции Image
  • +
  • 7. Функции Screen
  • 8. Как использовать?
  • МОДУЛЬ СТУДИЯ

    diff --git a/Wiki/RUS_Guide/html/Robot/01_Robot.html b/Wiki/RUS_Guide/html/Robot/01_Robot.html index c1dbef39..e1b9549e 100644 --- a/Wiki/RUS_Guide/html/Robot/01_Robot.html +++ b/Wiki/RUS_Guide/html/Robot/01_Robot.html @@ -106,7 +106,7 @@
  • 4. Функции Keyboard
  • 5. Функции Clipboard
  • 6. Функции Mouse
  • -
  • 7. Функции Image
  • +
  • 7. Функции Screen
  • 8. Как использовать?
  • МОДУЛЬ СТУДИЯ

    @@ -218,7 +218,7 @@
  • Уровень доступа к графическим каналам передачи данных (мышь, экран)

    • Mouse: инструменты взаимодействия с мышью. Перейти к описанию функций: 6. Функции Mouse

    • -
    • Image: инструменты взаимодействия с эраном рабочего стола. Перейти к описанию функций: 7. Функции Image

    • +
    • Screen: инструменты взаимодействия с эраном рабочего стола. Перейти к описанию функций: 7. Функции Screen

  • diff --git a/Wiki/RUS_Guide/html/Robot/02_uidesktop.html b/Wiki/RUS_Guide/html/Robot/02_uidesktop.html index 88d3bd41..067e699e 100644 --- a/Wiki/RUS_Guide/html/Robot/02_uidesktop.html +++ b/Wiki/RUS_Guide/html/Robot/02_uidesktop.html @@ -107,7 +107,7 @@
  • 4. Функции Keyboard
  • 5. Функции Clipboard
  • 6. Функции Mouse
  • -
  • 7. Функции Image
  • +
  • 7. Функции Screen
  • 8. Как использовать?
  • МОДУЛЬ СТУДИЯ

    @@ -1035,7 +1035,7 @@
    -pyOpenRPA.Robot.UIDesktop.UIO_FocusHighlight(lWrapperObject, colour='green', thickness=2, fill=1, rect=None)[исходный код]
    +pyOpenRPA.Robot.UIDesktop.UIO_FocusHighlight(lWrapperObject, colour='green', thickness=2, fill=None, rect=None)[исходный код]

    Установить фокус и выполнить подсветку UIO объекта на экране

    # UIDesktop: Взаимодействие с UI объектами приложений
     from pyOpenRPA.Robot import UIDesktop
    @@ -1080,7 +1080,7 @@
     
     
    -pyOpenRPA.Robot.UIDesktop.UIO_Highlight(lWrapperObject, colour='green', thickness=2, fill=1, rect=None, inFlagSetFocus=False)[исходный код]
    +pyOpenRPA.Robot.UIDesktop.UIO_Highlight(lWrapperObject, colour='green', thickness=2, fill=None, rect=None, inFlagSetFocus=False)[исходный код]

    Выполнить подсветку UIO объекта на экране

    # UIDesktop: Взаимодействие с UI объектами приложений
     from pyOpenRPA.Robot import UIDesktop
    diff --git a/Wiki/RUS_Guide/html/Robot/03_uiweb.html b/Wiki/RUS_Guide/html/Robot/03_uiweb.html
    index eac8244b..a75b797d 100644
    --- a/Wiki/RUS_Guide/html/Robot/03_uiweb.html
    +++ b/Wiki/RUS_Guide/html/Robot/03_uiweb.html
    @@ -105,7 +105,7 @@
     
  • 4. Функции Keyboard
  • 5. Функции Clipboard
  • 6. Функции Mouse
  • -
  • 7. Функции Image
  • +
  • 7. Функции Screen
  • 8. Как использовать?
  • МОДУЛЬ СТУДИЯ

    diff --git a/Wiki/RUS_Guide/html/Robot/04_keyboard.html b/Wiki/RUS_Guide/html/Robot/04_keyboard.html index 2ba78bca..0eb8f258 100644 --- a/Wiki/RUS_Guide/html/Robot/04_keyboard.html +++ b/Wiki/RUS_Guide/html/Robot/04_keyboard.html @@ -109,7 +109,7 @@
  • 5. Функции Clipboard
  • 6. Функции Mouse
  • -
  • 7. Функции Image
  • +
  • 7. Функции Screen
  • 8. Как использовать?
  • МОДУЛЬ СТУДИЯ

    @@ -240,19 +240,22 @@

    HotkeyCtrlA_CtrlC([inWaitAfterSecFloat])

    Выполнить выделение текста, после чего скопировать его в буфер обмена ВНИМАНИЕ! НЕ ЗАВИСИТ ОТ ТЕКУЩЕЙ РАСКЛАДКИ КЛАВИАТУРЫ

    -

    IsDown(inKeyInt)

    +

    HotkeyCtrlV([inWaitAfterSecFloat])

    +

    Выполнить вставку текста из буфера обмена ВНИМАНИЕ! НЕ ЗАВИСИТ ОТ ТЕКУЩЕЙ РАСКЛАДКИ КЛАВИАТУРЫ

    + +

    IsDown(inKeyInt)

    Проверить, опущена ли клавиша.

    -

    Send(inKeyInt[, inDoPressBool, …])

    +

    Send(inKeyInt[, inDoPressBool, …])

    Имитация нажатия/отпускания любой физической клавиши.

    -

    Up(inKeyInt[, inWaitAfterSecFloat])

    +

    Up(inKeyInt[, inWaitAfterSecFloat])

    Отпустить (поднять) клавишу.

    -

    Wait(inKeyInt[, inWaitAfterSecFloat])

    +

    Wait(inKeyInt[, inWaitAfterSecFloat])

    Блокирует осуществление программы, пока данная обозначенная клавиша не будет нажата.

    -

    Write(inTextStr[, inDelayFloat, …])

    +

    Write(inTextStr[, inDelayFloat, …])

    Печатает текст, который был передан в переменной inTextStr (поддерживает передачу в одной строке символов разного языка).

    @@ -333,6 +336,23 @@
    +
    +
    +pyOpenRPA.Robot.Keyboard.HotkeyCtrlV(inWaitAfterSecFloat: float = 0.4) → None[исходный код]
    +

    Выполнить вставку текста из буфера обмена +ВНИМАНИЕ! НЕ ЗАВИСИТ ОТ ТЕКУЩЕЙ РАСКЛАДКИ КЛАВИАТУРЫ

    +
    # Keyboard: Взаимодействие с клавиатурой
    +from pyOpenRPA.Robot import Keyboard
    +Keyboard.HotkeyCtrlV()
    +
    +
    +
    +
    Параметры
    +

    inWaitAfterSecFloat (float, опциональный) – Количество секунд, которые ожидать после выполнения операции. По умолчанию установлено в настройках модуля Keyboard (базовое значение 0.4)

    +
    +
    +
    +
    pyOpenRPA.Robot.Keyboard.IsDown(inKeyInt: int) → bool[исходный код]
    diff --git a/Wiki/RUS_Guide/html/Robot/05_clipboard.html b/Wiki/RUS_Guide/html/Robot/05_clipboard.html index 2a2f68dd..b942f682 100644 --- a/Wiki/RUS_Guide/html/Robot/05_clipboard.html +++ b/Wiki/RUS_Guide/html/Robot/05_clipboard.html @@ -105,7 +105,7 @@
  • 6. Функции Mouse
  • -
  • 7. Функции Image
  • +
  • 7. Функции Screen
  • 8. Как использовать?
  • МОДУЛЬ СТУДИЯ

    diff --git a/Wiki/RUS_Guide/html/Robot/06_mouse.html b/Wiki/RUS_Guide/html/Robot/06_mouse.html index a16ee7cf..be732ffb 100644 --- a/Wiki/RUS_Guide/html/Robot/06_mouse.html +++ b/Wiki/RUS_Guide/html/Robot/06_mouse.html @@ -41,7 +41,7 @@ - + @@ -106,7 +106,7 @@
  • Быстрая навигация
  • -
  • 7. Функции Image
  • +
  • 7. Функции Screen
  • 8. Как использовать?
  • МОДУЛЬ СТУДИЯ

    @@ -273,7 +273,6 @@
    • inXInt (int, опциональный) – Целевая позиция указателя мыши по оси X (горизонтальная ось).

    • inYInt (int, опциональный) – Целевая позиция указателя мыши по оси Y (вертикальная ось).

    • -
    • inButtonStr (str, опциональный) – Номер кнопки, которую требуется нажать. Возможные варианты: „left“, „middle“, „right“ или 1, 2, 3. В остальных случаях инициирует исключение ValueError. По умолчанию „left“

    • inWaitAfterSecFloat (float, опциональный) – Количество секунд, которые ожидать после выполнения операции. По умолчанию установлено в настройках модуля Mouse (базовое значение 0.4)

    @@ -414,7 +413,7 @@