Robot.Mouse is ready for linux!

dev-linux
Mikhail 2 years ago
parent 0152bbd027
commit 5564be7a12

@ -12,6 +12,8 @@
Описание функций Описание функций
************************************************** **************************************************
Описание каждой функции начинается с обозначения L+,W+, что означает, что функция поддерживается в ОС Linux (L) и Windows (W)
.. automodule:: pyOpenRPA.Robot.Mouse .. automodule:: pyOpenRPA.Robot.Mouse
:members: :members:
:autosummary: :autosummary:

@ -119,6 +119,7 @@ LD|CD|RD
Описание функций Описание функций
************************************************** **************************************************
Описание каждой функции начинается с обозначения L+,W+, что означает, что функция поддерживается в ОС Linux (L) и Windows (W)
.. automodule:: pyOpenRPA.Robot.Screen .. automodule:: pyOpenRPA.Robot.Screen
:members: :members:

@ -4,7 +4,7 @@ import time
WAIT_AFTER_SEC_FLOAT = 0.4 # Настройка модуля Mouse: Время, которое ожидать после выполнения любой операции модуля Mouse. Настройка является единой для всех участов кода, использующих модуль Mouse. Если для некоторой функции требуется изменить данное время ожидания, то в отношении этой функции можно применить соответсвующий аргумент. WAIT_AFTER_SEC_FLOAT = 0.4 # Настройка модуля Mouse: Время, которое ожидать после выполнения любой операции модуля Mouse. Настройка является единой для всех участов кода, использующих модуль Mouse. Если для некоторой функции требуется изменить данное время ожидания, то в отношении этой функции можно применить соответсвующий аргумент.
def Click(inXInt:int=None, inYInt:int=None, inClickCountInt:int=1, inIntervalSecFloat:float=0.0, inButtonStr:str='left', inMoveDurationSecFloat:float=0.0, inWaitAfterSecFloat:float=WAIT_AFTER_SEC_FLOAT): def Click(inXInt:int=None, inYInt:int=None, inClickCountInt:int=1, inIntervalSecFloat:float=0.0, inButtonStr:str='left', inMoveDurationSecFloat:float=0.0, inWaitAfterSecFloat:float=WAIT_AFTER_SEC_FLOAT):
"""Нажатие (вниз) кнопки мыши и затем немедленно выпуск (вверх) её. Допускается следующая параметризация. Если не указаны inXInt и inYInt - клик производится по месту нахождения указателя мыши. """L+,W+: Нажатие (вниз) кнопки мыши и затем немедленно выпуск (вверх) её. Допускается следующая параметризация. Если не указаны inXInt и inYInt - клик производится по месту нахождения указателя мыши.
!ВНИМАНИЕ! Отсчет координат inXInt, inYInt начинается с левого верхнего края рабочей области (экрана). !ВНИМАНИЕ! Отсчет координат inXInt, inYInt начинается с левого верхнего края рабочей области (экрана).
@ -34,7 +34,7 @@ def Click(inXInt:int=None, inYInt:int=None, inClickCountInt:int=1, inIntervalSec
time.sleep(inWaitAfterSecFloat) time.sleep(inWaitAfterSecFloat)
def ClickDouble(inXInt:int=None, inYInt:int=None, inWaitAfterSecFloat:float=WAIT_AFTER_SEC_FLOAT): def ClickDouble(inXInt:int=None, inYInt:int=None, inWaitAfterSecFloat:float=WAIT_AFTER_SEC_FLOAT):
"""Двойное нажатие левой клавиши мыши. Данное действие аналогично вызову функции (см. ниже). """L+,W+: Двойное нажатие левой клавиши мыши. Данное действие аналогично вызову функции (см. ниже).
!ВНИМАНИЕ! Отсчет координат inXInt, inYInt начинается с левого верхнего края рабочей области (экрана). !ВНИМАНИЕ! Отсчет координат inXInt, inYInt начинается с левого верхнего края рабочей области (экрана).
@ -56,7 +56,7 @@ def ClickDouble(inXInt:int=None, inYInt:int=None, inWaitAfterSecFloat:float=WAIT
time.sleep(inWaitAfterSecFloat) time.sleep(inWaitAfterSecFloat)
def Down(inXInt:int=None, inYInt:int=None, inButtonStr:str='left', inWaitAfterSecFloat:float=WAIT_AFTER_SEC_FLOAT): def Down(inXInt:int=None, inYInt:int=None, inButtonStr:str='left', inWaitAfterSecFloat:float=WAIT_AFTER_SEC_FLOAT):
"""Переместить указатель по координатам inXInt, inYInt, после чего нажать (вниз) клавишу мыши и не отпускать до выполнения соответсвующей команды (см. Up). Если координаты inXInt, inYInt не переданы - нажатие происходит на тех координатах X/Y, на которых указатель мыши находится. """L+,W+: Переместить указатель по координатам inXInt, inYInt, после чего нажать (вниз) клавишу мыши и не отпускать до выполнения соответсвующей команды (см. Up). Если координаты inXInt, inYInt не переданы - нажатие происходит на тех координатах X/Y, на которых указатель мыши находится.
!ВНИМАНИЕ! Отсчет координат inXInt, inYInt начинается с левого верхнего края рабочей области (экрана). !ВНИМАНИЕ! Отсчет координат inXInt, inYInt начинается с левого верхнего края рабочей области (экрана).
@ -80,7 +80,7 @@ def Down(inXInt:int=None, inYInt:int=None, inButtonStr:str='left', inWaitAfterSe
time.sleep(inWaitAfterSecFloat) time.sleep(inWaitAfterSecFloat)
def Up(inXInt:int=None, inYInt:int=None, inButtonStr:str='left', inWaitAfterSecFloat:float=WAIT_AFTER_SEC_FLOAT): def Up(inXInt:int=None, inYInt:int=None, inButtonStr:str='left', inWaitAfterSecFloat:float=WAIT_AFTER_SEC_FLOAT):
"""Отпустить (вверх) клавишу мыши. Если координаты inXInt, inYInt не переданы - нажатие происходит на тех координатах X/Y, на которых указатель мыши находится. """L+,W+: Отпустить (вверх) клавишу мыши. Если координаты inXInt, inYInt не переданы - нажатие происходит на тех координатах X/Y, на которых указатель мыши находится.
!ВНИМАНИЕ! Отсчет координат inXInt, inYInt начинается с левого верхнего края рабочей области. !ВНИМАНИЕ! Отсчет координат inXInt, inYInt начинается с левого верхнего края рабочей области.
@ -104,7 +104,7 @@ def Up(inXInt:int=None, inYInt:int=None, inButtonStr:str='left', inWaitAfterSecF
time.sleep(inWaitAfterSecFloat) time.sleep(inWaitAfterSecFloat)
def MoveTo(inXInt=None, inYInt=None, inMoveDurationSecFloat:float=0.0, inWaitAfterSecFloat:float=WAIT_AFTER_SEC_FLOAT): def MoveTo(inXInt=None, inYInt=None, inMoveDurationSecFloat:float=0.0, inWaitAfterSecFloat:float=WAIT_AFTER_SEC_FLOAT):
"""Переместить указатель мыши на позицию inXInt, inYInt за время inMoveDurationSecFloat. """L+,W+: Переместить указатель мыши на позицию inXInt, inYInt за время inMoveDurationSecFloat.
!ВНИМАНИЕ! Отсчет координат inXInt, inYInt начинается с левого верхнего края рабочей области (экрана). !ВНИМАНИЕ! Отсчет координат inXInt, inYInt начинается с левого верхнего края рабочей области (экрана).
@ -128,7 +128,7 @@ def MoveTo(inXInt=None, inYInt=None, inMoveDurationSecFloat:float=0.0, inWaitAft
time.sleep(inWaitAfterSecFloat) time.sleep(inWaitAfterSecFloat)
def ScrollVertical(inScrollClickCountInt, inXInt=None, inYInt=None, inWaitAfterSecFloat:float=WAIT_AFTER_SEC_FLOAT): def ScrollVertical(inScrollClickCountInt, inXInt=None, inYInt=None, inWaitAfterSecFloat:float=WAIT_AFTER_SEC_FLOAT):
"""Переместить указатель мыши на позицию inXInt, inYInt и выполнить вертикальную прокрутку (скроллинг) колесом мыши на количество щелчков inScrollClickCountInt. """L+,W+: Переместить указатель мыши на позицию inXInt, inYInt и выполнить вертикальную прокрутку (скроллинг) колесом мыши на количество щелчков inScrollClickCountInt.
!ВНИМАНИЕ! Отсчет координат inXInt, inYInt начинается с левого верхнего края рабочей области (экрана). !ВНИМАНИЕ! Отсчет координат inXInt, inYInt начинается с левого верхнего края рабочей области (экрана).
@ -154,7 +154,7 @@ def ScrollVertical(inScrollClickCountInt, inXInt=None, inYInt=None, inWaitAfterS
time.sleep(inWaitAfterSecFloat) time.sleep(inWaitAfterSecFloat)
def ScrollHorizontal(inScrollClickCountInt, inXInt=None, inYInt=None, inWaitAfterSecFloat:float=WAIT_AFTER_SEC_FLOAT): def ScrollHorizontal(inScrollClickCountInt, inXInt=None, inYInt=None, inWaitAfterSecFloat:float=WAIT_AFTER_SEC_FLOAT):
"""!ТОЛЬКО ДЛЯ LINUX! Переместить указатель мыши на позицию inXInt, inYInt и выполнить горизонтальную прокрутку (скроллинг) виртуальным колесом мыши на количество щелчков inScrollClickCountInt. """L+,W-: Переместить указатель мыши на позицию inXInt, inYInt и выполнить горизонтальную прокрутку (скроллинг) виртуальным колесом мыши на количество щелчков inScrollClickCountInt.
!ВНИМАНИЕ! Отсчет координат inXInt, inYInt начинается с левого верхнего края рабочей области (экрана). !ВНИМАНИЕ! Отсчет координат inXInt, inYInt начинается с левого верхнего края рабочей области (экрана).

@ -2,162 +2,69 @@
"cells": [ "cells": [
{ {
"cell_type": "code", "cell_type": "code",
"execution_count": 16, "execution_count": 1,
"metadata": {}, "metadata": {},
"outputs": [], "outputs": [],
"source": [ "source": [
"import time\n", "import time\n",
"import sys\n",
"import os\n",
"#sys.path.insert(0, os.path.abspath(\"..\\\\..\\\\Sources\")) # FOR WINDOWS\n",
"sys.path.insert(0, os.path.abspath(\"../../Sources\")) # FOR LINUX \n",
"from pyOpenRPA.Robot import Mouse" "from pyOpenRPA.Robot import Mouse"
] ]
}, },
{ {
"cell_type": "code", "cell_type": "code",
"execution_count": 2, "execution_count": 7,
"metadata": {}, "metadata": {},
"outputs": [ "outputs": [],
{ "source": [
"data": { " # Mouse: Взаимодействие с мышью\n",
"text/plain": [ " from pyOpenRPA.Robot import Mouse\n",
"['FAILSAFE',\n", " Mouse.Click(10,15) #Выполнить нажатие левой клавиши мыши на экране по координатам: X(гор) 100px, Y(вер) 150px.\n"
" 'FAILSAFE_POINT',\n",
" 'FailSafeException',\n",
" 'KEYBOARD_KEYS',\n",
" 'KEY_NAMES',\n",
" 'MINIMUM_DURATION',\n",
" 'MINIMUM_SLEEP',\n",
" 'PAUSE',\n",
" 'Point',\n",
" 'Size',\n",
" 'Window',\n",
" '__builtins__',\n",
" '__cached__',\n",
" '__doc__',\n",
" '__file__',\n",
" '__loader__',\n",
" '__name__',\n",
" '__package__',\n",
" '__spec__',\n",
" 'absolute_import',\n",
" 'alert',\n",
" 'center',\n",
" 'click',\n",
" 'collections',\n",
" 'collectionsSequence',\n",
" 'confirm',\n",
" 'displayMousePosition',\n",
" 'division',\n",
" 'doubleClick',\n",
" 'drag',\n",
" 'dragRel',\n",
" 'dragTo',\n",
" 'easeInBack',\n",
" 'easeInBounce',\n",
" 'easeInCirc',\n",
" 'easeInCubic',\n",
" 'easeInElastic',\n",
" 'easeInExpo',\n",
" 'easeInOutBack',\n",
" 'easeInOutBounce',\n",
" 'easeInOutCirc',\n",
" 'easeInOutCubic',\n",
" 'easeInOutElastic',\n",
" 'easeInOutExpo',\n",
" 'easeInOutQuad',\n",
" 'easeInOutQuart',\n",
" 'easeInOutQuint',\n",
" 'easeInOutSine',\n",
" 'easeInQuad',\n",
" 'easeInQuart',\n",
" 'easeInQuint',\n",
" 'easeInSine',\n",
" 'easeOutBack',\n",
" 'easeOutBounce',\n",
" 'easeOutCirc',\n",
" 'easeOutCubic',\n",
" 'easeOutElastic',\n",
" 'easeOutExpo',\n",
" 'easeOutQuad',\n",
" 'easeOutQuart',\n",
" 'easeOutQuint',\n",
" 'easeOutSine',\n",
" 'getActiveWindow',\n",
" 'getAllTitles',\n",
" 'getAllWindows',\n",
" 'getPointOnLine',\n",
" 'getWindowsAt',\n",
" 'getWindowsWithTitle',\n",
" 'grab',\n",
" 'hotkey',\n",
" 'hscroll',\n",
" 'isShiftCharacter',\n",
" 'isValidKey',\n",
" 'keyDown',\n",
" 'keyUp',\n",
" 'linear',\n",
" 'locate',\n",
" 'locateAll',\n",
" 'locateAllOnScreen',\n",
" 'locateCenterOnScreen',\n",
" 'locateOnScreen',\n",
" 'middleClick',\n",
" 'mouseDown',\n",
" 'mouseUp',\n",
" 'move',\n",
" 'moveRel',\n",
" 'moveTo',\n",
" 'onScreen',\n",
" 'password',\n",
" 'pixel',\n",
" 'pixelMatchesColor',\n",
" 'platformModule',\n",
" 'position',\n",
" 'press',\n",
" 'print_function',\n",
" 'prompt',\n",
" 'pygetwindow',\n",
" 'pymsgbox',\n",
" 'pyscreeze',\n",
" 'pytweening',\n",
" 'rightClick',\n",
" 'screenshot',\n",
" 'scroll',\n",
" 'size',\n",
" 'sys',\n",
" 'time',\n",
" 'tripleClick',\n",
" 'typewrite',\n",
" 'useImageNotFoundException',\n",
" 'vscroll',\n",
" 'write']"
] ]
}, },
{
"cell_type": "code",
"execution_count": 2, "execution_count": 2,
"metadata": {}, "metadata": {},
"output_type": "execute_result" "outputs": [],
}
],
"source": [ "source": [
"dir(Mouse)" "time.sleep(1)\n",
"Mouse.scroll(-100)\n"
] ]
}, },
{ {
"cell_type": "code", "cell_type": "code",
"execution_count": 19, "execution_count": 3,
"metadata": {}, "metadata": {},
"outputs": [], "outputs": [],
"source": [ "source": [
"time.sleep(1)\n", "time.sleep(1)\n",
"Mouse.scroll(-100)\n" "Mouse.vscroll(-100)"
] ]
}, },
{ {
"cell_type": "code", "cell_type": "code",
"execution_count": 18, "execution_count": 5,
"metadata": {}, "metadata": {},
"outputs": [], "outputs": [],
"source": [ "source": [
"time.sleep(1)\n", " # Mouse: Взаимодействие с мышью\n",
"Mouse.vscroll(-100)" " from pyOpenRPA.Robot import Mouse\n",
" Mouse.ClickDouble(100,150) #Выполнить двойное нажатие левой клавиши мыши на экране по координатам: X(гор) 100px, Y(вер) 150px.\n"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [],
"source": [
" # Mouse: Взаимодействие с мышью\n",
" from pyOpenRPA.Robot import Mouse\n",
" Mouse.Down() #Опустить левую клавишу мыши"
] ]
}, },
{ {
@ -170,7 +77,7 @@
], ],
"metadata": { "metadata": {
"kernelspec": { "kernelspec": {
"display_name": "Python 3", "display_name": "Python 3 (ipykernel)",
"language": "python", "language": "python",
"name": "python3" "name": "python3"
}, },
@ -184,7 +91,7 @@
"name": "python", "name": "python",
"nbconvert_exporter": "python", "nbconvert_exporter": "python",
"pygments_lexer": "ipython3", "pygments_lexer": "ipython3",
"version": "3.7.2" "version": "3.10.5"
}, },
"varInspector": { "varInspector": {
"cols": { "cols": {

Loading…
Cancel
Save