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
:members:
:autosummary:

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

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

@ -2,147 +2,32 @@
"cells": [
{
"cell_type": "code",
"execution_count": 16,
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"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"
]
},
{
"cell_type": "code",
"execution_count": 2,
"execution_count": 7,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"['FAILSAFE',\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']"
]
},
"execution_count": 2,
"metadata": {},
"output_type": "execute_result"
}
],
"outputs": [],
"source": [
"dir(Mouse)"
" # Mouse: Взаимодействие с мышью\n",
" from pyOpenRPA.Robot import Mouse\n",
" Mouse.Click(10,15) #Выполнить нажатие левой клавиши мыши на экране по координатам: X(гор) 100px, Y(вер) 150px.\n"
]
},
{
"cell_type": "code",
"execution_count": 19,
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
@ -152,7 +37,7 @@
},
{
"cell_type": "code",
"execution_count": 18,
"execution_count": 3,
"metadata": {},
"outputs": [],
"source": [
@ -160,6 +45,28 @@
"Mouse.vscroll(-100)"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [],
"source": [
" # Mouse: Взаимодействие с мышью\n",
" 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() #Опустить левую клавишу мыши"
]
},
{
"cell_type": "code",
"execution_count": null,
@ -170,7 +77,7 @@
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"display_name": "Python 3 (ipykernel)",
"language": "python",
"name": "python3"
},
@ -184,7 +91,7 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.7.2"
"version": "3.10.5"
},
"varInspector": {
"cols": {

Loading…
Cancel
Save