7. Функции Screen¶
Общее¶
!ВНИМАНИЕ! ДЛЯ РАБОТЫ В LINUX ТРЕБУЕТСЯ НАЛИЧИЕ КОМПОНЕНТА SCROT (sudo apt-get scrot)
Дорогие коллеги!
Мы знаем, что с pyOpenRPA вы сможете существенно улучшить качество вашего бизнеса. Платформа роботизации pyOpenRPA - это разработка, которая дает возможность делать виртуальных сотрудников (программных роботов RPA) выгодными, начиная от эффекта всего в 10 тыс. руб. И управлять ими будете только Вы!
Если у вас останутся вопросы, то вы всегда можете обратиться в центр поддержки клиентов pyOpenRPA. Контакты: 2. Лицензия & Контакты
pyOpenRPA - роботы помогут!
Класс Box¶
Экземпляр класса pyscreeze.Box, который характеризует прямоугольную область на экране.
top - координата левой верхней точки в пикселях по оси X (горизонталь) left - координата левой верхней точки в пикселях по оси Y (вертикаль) height - расстояние вниз от левой верхней точки в пикселях width - расстояние вправо от левой верхней точки в пикселях
Класс Point¶
Экземпляр класса pyscreeze.Point, который характеризует точку на экране.
x - координата точки в пикселях по оси X (горизонталь) y - координата точки в пикселях по оси Y (вертикаль)
Символьное указание точки (inPointRuleStr)¶
LU|CU|RU¶
LC|CC|RC¶
LD|CD|RD
Символьное указание точки - точка относительно которой выполнить изменение прямоугольной области.
«CC»,
Формат образования кода: XY, где
X обозначает положение по горизонтали (допустимые значения: «L», «C», «R»)
Y обозначает положение по вертикали (допустимые значения: «U», «C», «D»)
Допустимые значения:
«CC» - центр по горизонтали, центр по вертикали
«LU» - левый край по горизонтали, верхний край по вертикали
«LD» - левый край по горизонтали, нижний край по вертикали
«RD» - правый край по горизонтали, нижний край по вертикали
«RU» - правый край по горизонтали, верхний край по вертикали
X-10 - корректировка координаты по оси X на 10 пикселей влево Y+20 - корректировка координаты по оси Y на 20 пикселей вниз
Символьное указание области (inAnchorRuleStr)¶
LU|CU|RU¶
LC|CC|RC¶
LD|CD|RD
Символьное указание области поиска - область относительно которой выполнить поиск другой прямоугольной области.
«CC»,
Формат образования кода: XY, где
X обозначает область по горизонтали (допустимые значения: «L», «C», «R»)
Y обозначает область по вертикали (допустимые значения: «U», «C», «D»)
Допустимые значения:
«CC» - выбранная прямоугольная область
«LU» - слева и сверху от выбранной прямоугольной области
«LD» - слева и снизу от выбранной прямоугольной области
«LС» - слева от выбранной прямоугольной области
«RC» - справа от выбранной прямоугольной области
«СU» - сверху от выбранной прямоугольной области
«CD» - сверху от выбранной прямоугольной области
«RD» - справа и снизу от выбранной прямоугольной области
«RU» - справа и сверху от выбранной прямоугольной области
Опция «S» (strict) - искомый объект должен всеми своими координатами находиться в обозначенной прямоугольной области
Формат допускает комбинации нескольких областей в одной строке. Пример: «CC,LU,LD,S» «CC|LU|LD|S» «CCLULDS»
Графическая интерпретация: +|-|- ----- -|+|- —– +|-|-
Описание функций¶
Описание каждой функции начинается с обозначения L+,W+, что означает, что функция поддерживается в ОС Linux (L) и Windows (W)
Functions:
|
L+,W+: Выполнить проверку соответствия всем условиям вхождения inBox в inAnchorBox с учетом правил inAnchorRule |
|
L+,W+: Создать экземпляр прямоугольной области. |
|
L+,W+: Выполнить подсветку прямоугольной области inBox на экране |
|
L+,W+:Получить точку Point по заданной прямоугольной области Box и строковому параметру расположения inPointRuleStr. |
|
L+,W+: Изменить ширину / высоту прямоугольной области. |
|
L+,W+: Переместить прямоугольную область (сохранить длину/ширину). |
|
L+,W+:Проверить наложение 2-х прямоугольных областей друг на друга. |
|
L+,W+: Создать экземпляр прямоугольной области. |
|
L+,W+: Конвертировать объект Box в {"x":0, "y":0, "width":100, "height":100} |
|
L+,W-: Скорректировать прямоугольную область Box под существующие экраны. |
L+,W-: Получить информацию об экранах |
|
|
L+,W+:Выполнить поиск прямоугольной области по изображению. |
|
L+,W+:Проверить, имеется ли на экране хотя бы один подходящий объект. |
|
L+,W+: Искать на экране графические объекты, которые похожи на inImgPathStr. |
|
L+W+: Искать на экране графические объекты, которые похожи на inImgPathStr. |
|
L+,W+: Выполнить распознавание текста на изображении |
|
L+,W+: Открыть файл и преобразовать содержимое изображения в формат base64 (в виде строки). |
|
L+,W+:Ожидать появление изображения на протяжении inWaitSecFloat секунд. |
|
L+,W+:Ожидать исчезновение изображения на протяжении inWaitSecFloat секунд. |
|
L-,W+:Выполнить выделение прямоугольной области на экране и сохраненить его как изображение. |
|
L+,W+:Нажатие (вниз) кнопки мыши и затем немедленно выпуск (вверх) её. |
|
L+,W+:Двойное нажатие левой клавиши мыши. |
|
L+,W+:Создать точку Point. |
|
L+,W+:Переместить указатель по координатам inPoint, после чего нажать (вниз) клавишу мыши и не отпускать до выполнения соответсвующей команды (см. |
|
L+,W+:Создать точку Point на основании прямоугольной области и символьного указания точки (см функцию BoxGetPoint). |
|
L+,W+: Проверить вхождение точки Point в прямоугольную область Box |
|
L+,W+:Скорректировать точку Point. |
|
L+,W+:Переместить указатель мыши на позицию inXInt, inYInt за время inMoveDurationSecFloat. |
|
L+,W+: Создать экземпляр точки. |
|
L+,W+:Отпустить (вверх) клавишу мыши. |
L-,W+:Получить разрешение всех используемых экранов. |
Classes:
|
- pyOpenRPA.Robot.Screen.BoxAnchorRuleCheck(inBox, inAnchorBox=None, inAnchorRuleStr=None) bool [исходный код]¶
L+,W+: Выполнить проверку соответствия всем условиям вхождения inBox в inAnchorBox с учетом правил inAnchorRule
# Screen: Взаимодействие с экраном from pyOpenRPA.Robot import Screen lBox1 = Screen.BoxCreate(inTopInt=265, inLeftInt=62, inHeightInt=100, inWidthInt=90) lBox2 = Screen.BoxCreate(inTopInt=160, inLeftInt=160, inHeightInt=100, inWidthInt=100) lBox3 = Screen.BoxCreate(inTopInt=460, inLeftInt=60, inHeightInt=100, inWidthInt=100) l = Screen.BoxAnchorRuleCheck(inBox=lBox1, inAnchorBox=[lBox2,lBox3], inAnchorRuleStr=["LD","CUS"]) Screen.BoxDraw([lBox1,lBox2,lBox3])
- Параметры
inBox (Box) – Экземпляр класса прямоугольной области Box
inAnchorBox (Box или list из Box) – Экземпляр класса прямоугольной области Box
inAnchorRuleStr (str или list из str) – Символьное указание области проверки соответствия. Может принимать единственное значение (единый формат для всех inAnchorBox), или список форматов для каждого inAnchorBox (если inAnchorBox является списком Box)
- Результат
True - соответствует всем правилам
- Тип результата
bool
- pyOpenRPA.Robot.Screen.BoxCreate(inTopInt: int, inLeftInt: int, inHeightInt: int, inWidthInt: int) Box [исходный код]¶
L+,W+: Создать экземпляр прямоугольной области.
!ВНИМАНИЕ! Координаты inTopInt, inLeftInt определяют верхний левый край прямоугольной области.
- Параметры
inTopInt (int) – Координата левой верхней точки в пикселях по оси X (горизонталь)
inLeftInt (int) – Координата левой верхней точки в пикселях по оси Y (вертикаль)
inHeightInt (int) – Расстояние вниз от левой верхней точки в пикселях
inWidthInt (int) – Расстояние вправо от левой верхней точки в пикселях
- pyOpenRPA.Robot.Screen.BoxDraw(inBox, inColorStr='green', inThicknessInt=2)[исходный код]¶
L+,W+: Выполнить подсветку прямоугольной области inBox на экране
!ВНИМАНИЕ! ЦВЕТ inColorStr ПОДДЕРЖИВАЕТСЯ ТОЛЬКО НА ОС WINDOWS
!ВНИМАНИЕ! ПОДДЕРЖИВАЕТ ПАКЕТНУЮ ОБРАТКУ ПРИ ПЕРЕДАЧЕ СПИСКА ЭКЗЕМПЛЯРОВ BOX
# Screen: Взаимодействие с экраном from pyOpenRPA.Robot import Screen # ВАРИАНТ ОТРИСОВКИ 1ГО ЭЛЕМЕНТА # Создать пробную прямоугольную область lBox = Screen.BoxCreate(inTopInt=10, inLeftInt=10, inHeightInt=10, inWidthInt=10) Screen.BoxDraw(lBox) # ВАРИАНТ ПАКЕТНОЙ ОТРИСОВКИ # Создать пробную прямоугольную область lBox = Screen.BoxCreate(inTopInt=10, inLeftInt=10, inHeightInt=100, inWidthInt=100) lBox2 = Screen.BoxCreate(inTopInt=60, inLeftInt=60, inHeightInt=100, inWidthInt=100) Screen.BoxDraw([lBox, lBox2])
- Параметры
inBox (Box) – Экземпляр класса прямоугольной области Box
inColorStr (str, необязательный) – цвет подсветки прямоугольной области. Варианты: „red“, „green“, „blue“. По умолчанию „green“
inThicknessInt (int, необязательный) – толщина подсветки прямоугольной области. По умолчанию 2
- pyOpenRPA.Robot.Screen.BoxGetPoint(inBox, inPointRuleStr='CC') Point [исходный код]¶
L+,W+:Получить точку Point по заданной прямоугольной области Box и строковому параметру расположения inPointRuleStr.
# Screen: Взаимодействие с мышью объектами экрана from pyOpenRPA.Robot import Screen lBox1 = Screen.BoxCreate(inTopInt=10, inLeftInt=10, inHeightInt=100, inWidthInt=1000) lPoint = Screen.BoxGetPoint(inBox=lBox1, inPointRuleStr="LC")
- Параметры
inBox (Box, обязательный) – Прямоугольная область на экране
inPointRuleStr (str, опциональный) – Правило идентификации точки на прямоугольной области (правила формирования см. выше). Варианты: «LU»,»CU»,»RU»,»LC»,»CC»,»RC»,»LD»,»CD»,»RD». По умолчанию «CC»
- Результат
Точка на экране
- Тип результата
Screen.Point
- pyOpenRPA.Robot.Screen.BoxModify(inBox, inDWidthInt=None, inDHeightInt=None, inPointRuleStr='CC')[исходный код]¶
L+,W+: Изменить ширину / высоту прямоугольной области.
!ВНИМАНИЕ! ПОДДЕРЖИВАЕТ ПАКЕТНУЮ ОБРАТКУ ПРИ ПЕРЕДАЧЕ СПИСКА ЭКЗЕМПЛЯРОВ BOX
!ВНИМАНИЕ! ЕСЛИ СМЕЩЕНИЕ ПРИВЕДЕТ К ОБРАЗОВАНИЮ ДРОБНОГО ЧИСЛА, БУДЕТ ВЫПОЛНЕНО ОКРУГЛЕНИЕ ПО МАТЕМАТИЧЕСКИМ ПРАВИЛАМ
# Screen: Взаимодействие с экраном from pyOpenRPA.Robot import Screen # Вариант изменения 1-го элемента # Создать пробную прямоугольную область lBox = Screen.BoxCreate(inTopInt=10, inLeftInt=10, inHeightInt=10, inWidthInt=10) # Скорректировать пробную прямоугольную область lBox2 = Screen.BoxModify(lBox,10,10,"CC"); print(lBox2) lBox2 = Screen.BoxModify(lBox,10,10,"LU"); print(lBox2) lBox2 = Screen.BoxModify(lBox,10,10,"LD"); print(lBox2) lBox2 = Screen.BoxModify(lBox,10,10,"RU"); print(lBox2) lBox2 = Screen.BoxModify(lBox,10,10,"RD"); print(lBox2)
- Параметры
inBox (Box) – Экземпляр класса прямоугольной области Box
inDXInt (int, опциональный) – Смещение левой верхней координаты по оси X в пикселях (горизонтальная ось).
inDYInt (int, опциональный) – Смещение левой верхней координаты по оси Y в пикселях (вертикальная ось).
inPointRuleStr (str, опциональный) – Символьное указание точки (подробнее см. выше), относительно которой выполнить изменение прямоугольной области. Допустимые значения: «CC» (по умолчанию), «LU», «LD», «RD», «RU»
- Результат
Экземпляр класса прямоугольной области Box
- Тип результата
Box
- pyOpenRPA.Robot.Screen.BoxMoveTo(inBox, inDXInt=None, inDYInt=None)[исходный код]¶
L+,W+: Переместить прямоугольную область (сохранить длину/ширину).
!ВНИМАНИЕ! ПОДДЕРЖИВАЕТ ПАКЕТНУЮ ОБРАТКУ ПРИ ПЕРЕДАЧЕ СПИСКА ЭКЗЕМПЛЯРОВ BOX
# Screen: Взаимодействие с экраном from pyOpenRPA.Robot import Screen # Вариант изменения 1-го элемента # Создать пробную прямоугольную область lBox = Screen.BoxCreate(inTopInt=10, inLeftInt=10, inHeightInt=10, inWidthInt=10) # Переместить пробную прямоугольную область lBox = Screen.BoxMoveTo(lBox, inDXInt=100, inDYInt=200)
- Параметры
inBox (Box) – Экземпляр класса прямоугольной области Box
inDXInt (int, опциональный) – Смещение левой верхней координаты по оси X в пикселях (горизонтальная ось).
inDYInt (int, опциональный) – Смещение левой верхней координаты по оси Y в пикселях (вертикальная ось).
- Результат
Экземпляр класса прямоугольной области Box
- Тип результата
Box
- pyOpenRPA.Robot.Screen.BoxOverlay(inBox1, inBox2) bool [исходный код]¶
L+,W+:Проверить наложение 2-х прямоугольных областей друг на друга.
# Screen: Взаимодействие с экраном from pyOpenRPA.Robot import Screen lBox1 = Screen.BoxCreate(inTopInt=10, inLeftInt=10, inHeightInt=100, inWidthInt=1000) lBox2 = Screen.BoxCreate(inTopInt=160, inLeftInt=160, inHeightInt=100, inWidthInt=100) Screen.BoxDraw([lBox1, lBox2]) Screen.BoxOverlay(lBox1,lBox2)
- Параметры
inBox1 (Box) – Экземпляр класса прямоугольной области Box
inBox2 (Box) – Экземпляр класса прямоугольной области Box
- Результат
True - inBox1 наложен на inBox2
- Тип результата
bool
- pyOpenRPA.Robot.Screen.BoxParse(*args, **kwargs)[исходный код]¶
L+,W+: Создать экземпляр прямоугольной области.
# Screen: Взаимодействие с экраном from pyOpenRPA.Robot import Screen # Поддерживает форматы Screen.BoxParse(x=1,y=1,w=900, h=90) Screen.BoxParse(1,1,900, 90) Screen.BoxParse(x=1,y=1,r=901, b=91) Screen.BoxParse(x=1,y=1,r=901, bottom=91) Screen.BoxParse([1,1,900, 90]) Screen.BoxParse((1,1,900, 90)) Screen.BoxParse({"x":1,"y":1,"w":900, "h":90})
- pyOpenRPA.Robot.Screen.BoxToDict(inBox)[исходный код]¶
L+,W+: Конвертировать объект Box в {«x»:0, «y»:0, «width»:100, «height»:100}
- Параметры
inBox (Box, list, dict) – Прямоугольная область
- pyOpenRPA.Robot.Screen.DisplayBox(inBox)[исходный код]¶
L+,W-: Скорректировать прямоугольную область Box под существующие экраны.
- Параметры
inBox (Box, list, dict) – Прямоугольная область
- pyOpenRPA.Robot.Screen.DisplayInfo()[исходный код]¶
L+,W-: Получить информацию об экранах
# Screen: Взаимодействие с экраном from pyOpenRPA.Robot import Screen Screen.DisplayInfo() # RESULT: [{'x': 0, 'y': 0, 'width': 1920, 'height': 1080, 'depth': 24}]
- pyOpenRPA.Robot.Screen.ImageClick(inImgPathStr: str, inBoxIndexInt: int = 0, inPointRuleStr: str = 'CC', inIsGrayModeBool: bool = False, inConfidenceFloat: Optional[float] = None, inWaitSecFloat: float = 0, inWaitIntervalSecFloat: float = 0)[исходный код]¶
L+,W+:Выполнить поиск прямоугольной области по изображению.
!ВНИМАНИЕ! Для использования параметра точности inConfidenceFloat необходим пакет Python opencv-python (python -m pip install opencv-python)
# Screen: Взаимодействие с объектами экрана from pyOpenRPA.Robot import Screen Screen.ImageClick(inImgPathStr="Button.png",inConfidenceFloat=0.9)
- Параметры
inImgPathStr (str, относительный или абсолютный) – Путь к изображению, которое требуется искать на экране
inBoxIndexInt (int, опционально) – Индекс прямоугольной области, по которой выполнить клик (если обнаружено несколько областей Box), По умолчанию 0
inPointRuleStr (str, опциональный) – Правило идентификации точки на прямоугольной области (правила формирования см. выше). Варианты: «LU»,»CU»,»RU»,»LC»,»CC»,»RC»,»LD»,»CD»,»RD». По умолчанию «CC»
inIsGrayModeBool (bool, опционально) – True - выполнить поиск изображения в режиме серых оттенков (ускоряет производительность, если допускается искажение цвета). По умолчанию False
inConfidenceFloat (float, опционально) – Показатель точности. 1.0 - идентичное соответствие, 0.0 - полное несоответствие. По умолчанию 1.0 (None)
inWaitSecFloat (float, опциональный) – Время ожидания появления изображения в сек. По умолчанию 0
inWaitIntervalSecFloat (float, опциональный) – Интервал повторной проверки наличия изображения. По умолчанию 0
- pyOpenRPA.Robot.Screen.ImageExists(inImgPathStr: str, inIsGrayModeBool: bool = False, inConfidenceFloat: Optional[float] = None) list [исходный код]¶
L+,W+:Проверить, имеется ли на экране хотя бы один подходящий объект. Вернуть булево значение
!ВНИМАНИЕ! Для использования параметра точности inConfidenceFloat необходим пакет Python opencv-python (python -m pip install opencv-python)
# Screen: Взаимодействие с объектами экрана from pyOpenRPA.Robot import Screen lResult = Screen.ImageExists(inImgPathStr="Button.png",inConfidenceFloat=0.9)
- Параметры
inImgPathStr (str, относительный или абсолютный) – Путь к изображению, которое требуется искать на экране
inIsGrayModeBool (bool, опционально) – True - выполнить поиск изображения в режиме серых оттенков (ускоряет производительность, если допускается искажение цвета). По умолчанию False
inConfidenceFloat (float, опционально) – Показатель точности. 1.0 - идентичное соответствие, 0.0 - полное несоответствие. По умолчанию 1.0 (None)
- Результат
Список из Box
- Тип результата
list
- pyOpenRPA.Robot.Screen.ImageLocateAll(inImgPathStr: str, inIsGrayModeBool: bool = False, inConfidenceFloat: Optional[float] = None) list [исходный код]¶
L+,W+: Искать на экране графические объекты, которые похожи на inImgPathStr. Вернуть список прямоугольных областей на экране (Box)
!ВНИМАНИЕ! Для использования параметра точности inConfidenceFloat необходим пакет Python opencv-python (python -m pip install opencv-python)
# Screen: Взаимодействие с объектами экрана from pyOpenRPA.Robot import Screen Screen.ImageLocateAll(inImgPathStr="Button.png",inConfidenceFloat=0.9)
- Параметры
inImgPathStr (str, относительный или абсолютный) – Путь к изображению / Строка Base64 / Список bytes, которое требуется искать на экране.
inIsGrayModeBool (bool, опционально) – True - выполнить поиск изображения в режиме серых оттенков (ускоряет производительность, если допускается искажение цвета). По умолчанию False
inConfidenceFloat (float, опционально) – Показатель точности. 1.0 - идентичное соответствие, 0.0 - полное несоответствие. По умолчанию 1.0 (None)
- Результат
Список из Box
- Тип результата
list
- pyOpenRPA.Robot.Screen.ImageLocateAllInfo(inImgPathStr: str, inIsGrayModeBool: bool = False, inConfidenceFloat: Optional[float] = None) list [исходный код]¶
L+W+: Искать на экране графические объекты, которые похожи на inImgPathStr. Вернуть список прямоугольных областей на экране (Box)
!ВНИМАНИЕ! Для использования параметра точности inConfidenceFloat необходим пакет Python opencv-python (python -m pip install opencv-python)
# Screen: Взаимодействие с объектами экрана from pyOpenRPA.Robot import Screen Screen.ImageLocateAll(inImgPathStr="Button.png",inConfidenceFloat=0.9)
- Параметры
inImgPathStr (str, относительный или абсолютный) – Путь к изображению, которое требуется искать на экране
inIsGrayModeBool (bool, опционально) – True - выполнить поиск изображения в режиме серых оттенков (ускоряет производительность, если допускается искажение цвета). По умолчанию False
inConfidenceFloat (float, опционально) – Показатель точности. 1.0 - идентичное соответствие, 0.0 - полное несоответствие. По умолчанию 1.0 (None)
- Результат
Список из { left: 777, top: 497, width: 264, height: 52 }
- Тип результата
list
- pyOpenRPA.Robot.Screen.ImageRecognize(inImgPathStr: str, inLangStr='rus+eng')[исходный код]¶
L+,W+: Выполнить распознавание текста на изображении
# Screen: Взаимодействие с объектами экрана from pyOpenRPA.Robot import Screen RecognizedStr = Screen.ImageRecognize(inImgPathStr="Button.png")
- Параметры
inImgPathStr (str, относительный или абсолютный) – Путь к изображению / Строка Base64 / Список bytes, которое требуется искать на экране.
inLangStr (str, опционально) – Языки, используемые для распознавания. По умолчанию rus+eng
- Результат
Список из Box
- Тип результата
list
- pyOpenRPA.Robot.Screen.ImageToBase64(inImgPathStr: str, inLimitBytesInt: int = 30000) str [исходный код]¶
L+,W+: Открыть файл и преобразовать содержимое изображения в формат base64 (в виде строки). Вернуть None, если файл не существует или превышает допустимый размер
# Screen: Взаимодействие с объектами экрана from pyOpenRPA.Robot import Screen ImageBase64Str = Screen.ImageToBase64(inImgPathStr="Button.png") ImageBytes = base64.b64decode(ImageBase64Str.encode())
- pyOpenRPA.Robot.Screen.ImageWaitAppear(inImgPathStr: str, inWaitSecFloat: float = 60, inWaitIntervalSecFloat: float = 1.0, inIsGrayModeBool: bool = False, inConfidenceFloat: Optional[float] = None) list [исходный код]¶
L+,W+:Ожидать появление изображения на протяжении inWaitSecFloat секунд. Проверять с периодичностью inWaitIntervalSecFloat. Вернуть список прямоугольных областей, которые удовлетворяют условию
!ВНИМАНИЕ! Для использования параметра точности inConfidenceFloat необходим пакет Python opencv-python (python -m pip install opencv-python)
# Screen: Взаимодействие с объектами экрана from pyOpenRPA.Robot import Screen lBoxList = Screen.ImageWaitAppear(inImgPathStr="Button.png",inConfidenceFloat=0.9)
- Параметры
inImgPathStr (str, относительный или абсолютный) – Путь к изображению, которое требуется искать на экране
inWaitSecFloat (float, опциональный) – Время ожидания появления изображения в сек. По умолчанию IMAGE_WAIT_SEC_FLOAT (60)
inWaitIntervalSecFloat (float, опциональный) – Интервал повторной проверки наличия изображения. По умолчанию IMAGE_WAIT_INTERVAL_SEC_FLOAT (1)
inIsGrayModeBool (bool, опционально) – True - выполнить поиск изображения в режиме серых оттенков (ускоряет производительность, если допускается искажение цвета). По умолчанию False
inConfidenceFloat (float, опционально) – Показатель точности. 1.0 - идентичное соответствие, 0.0 - полное несоответствие. По умолчанию 1.0 (None)
- Результат
Список из Box или [] если прошло время ожидания.
- Тип результата
list
- pyOpenRPA.Robot.Screen.ImageWaitDisappear(inImgPathStr: str, inWaitSecFloat: float = 60, inWaitIntervalSecFloat: float = 1.0, inIsGrayModeBool: bool = False, inConfidenceFloat: Optional[float] = None)[исходный код]¶
L+,W+:Ожидать исчезновение изображения на протяжении inWaitSecFloat секунд. Проверять с периодичностью inWaitIntervalSecFloat.
!ВНИМАНИЕ! Для использования параметра точности inConfidenceFloat необходим пакет Python opencv-python (python -m pip install opencv-python)
# Screen: Взаимодействие с объектами экрана from pyOpenRPA.Robot import Screen Screen.ImageWaitDisappear(inImgPathStr="Button.png",inConfidenceFloat=0.9)
- Параметры
inImgPathStr (str, относительный или абсолютный) – Путь к изображению, которое требуется искать на экране
inWaitSecFloat (float, опциональный) – Время ожидания появления изображения в сек. По умолчанию IMAGE_WAIT_SEC_FLOAT (60)
inWaitIntervalSecFloat (float, опциональный) – Интервал повторной проверки наличия изображения. По умолчанию IMAGE_WAIT_INTERVAL_SEC_FLOAT (1)
inIsGrayModeBool (bool, опционально) – True - выполнить поиск изображения в режиме серых оттенков (ускоряет производительность, если допускается искажение цвета). По умолчанию False
inConfidenceFloat (float, опционально) – Показатель точности. 1.0 - идентичное соответствие, 0.0 - полное несоответствие. По умолчанию 1.0 (None)
- pyOpenRPA.Robot.Screen.InitSnipingTool(inPath)[исходный код]¶
L-,W+:Выполнить выделение прямоугольной области на экране и сохраненить его как изображение.
!ВНИМАНИЕ! Для того, чтобы временно свернуть окно, нажмите кнопку CTRL, чтобы раскрыть - отпустите кнопку CTRL
# Screen: Взаимодействие с объектами экрана from pyOpenRPA.Robot import Screen Screen.InitSnipingTool(inPath="Screenshot.png")
- Параметры
inPath (str, относительный или абсолютный) – Путь, по которому будет сохранена выделенная область
- pyOpenRPA.Robot.Screen.PointClick(inPoint: Point, inClickCountInt: int = 1, inIntervalSecFloat: float = 0.0, inButtonStr: str = 'left', inMoveDurationSecFloat: float = 0.0, inWaitAfterSecFloat: Optional[float] = None)[исходный код]¶
L+,W+:Нажатие (вниз) кнопки мыши и затем немедленно выпуск (вверх) её. Допускается следующая параметризация.
# Screen: Взаимодействие с мышью объектами экрана from pyOpenRPA.Robot import Screen lPoint = Screen.PointCreate(100,150) Screen.PointClick(lPoint) #Выполнить нажатие левой клавиши мыши
- Параметры
inPoint (Point, обязательный) – Точка на экране, по которой выполнить нажатие мыши
inClickCountInt (int, опциональный) – Количество нажатий (вниз и вверх) кнопкой мыши, По умолчанию 1
inIntervalSecFloat (float, опциональный) – Интервал ожидания в секундах между нажатиями, По умолчанию 0.0
inButtonStr (str, опциональный) – Номер кнопки, которую требуется нажать. Возможные варианты: „left“, „middle“, „right“ или 1, 2, 3. В остальных случаях инициирует исключение ValueError. По умолчанию „left“
inMoveDurationSecFloat (float, опциональный) – Время перемещения указателя мыши, По умолчанию 0.0 (моментальное перемещение)
inWaitAfterSecFloat (float, опциональный) – Количество секунд, которые ожидать после выполнения операции. По умолчанию установлено в настройках модуля Mouse (базовое значение 0.4)
- pyOpenRPA.Robot.Screen.PointClickDouble(inPoint: Point, inWaitAfterSecFloat: Optional[float] = None)[исходный код]¶
L+,W+:Двойное нажатие левой клавиши мыши. Данное действие аналогично вызову функции (см. ниже).
# Screen: Взаимодействие с мышью объектами экрана from pyOpenRPA.Robot import Screen lPoint = Screen.PointCreate(100,150) Screen.PointClickDouble(lPoint) #Выполнить двойное нажатие левой клавиши мыши
- Параметры
inPoint (Point, обязательный) – Точка на экране, по которой выполнить нажатие мыши
inWaitAfterSecFloat (float, опциональный) – Количество секунд, которые ожидать после выполнения операции. По умолчанию установлено в настройках модуля Mouse (базовое значение 0.4)
- pyOpenRPA.Robot.Screen.PointCreate(inXInt, inYInt)[исходный код]¶
L+,W+:Создать точку Point.
# Screen: Взаимодействие с мышью объектами экрана from pyOpenRPA.Robot import Screen lPoint = Screen.PointCreate(inXInt=10, inYInt=10)
- Параметры
inXInt (int, опциональный) – Смещение указателя мыши по оси X (горизонтальная ось).
inYInt (int, опциональный) – Смещение указателя мыши по оси Y (вертикальная ось).
- Результат
Точка на экране
- Тип результата
Screen.Point
- pyOpenRPA.Robot.Screen.PointDown(inPoint: Point, inButtonStr: str = 'left', inWaitAfterSecFloat: Optional[float] = None)[исходный код]¶
L+,W+:Переместить указатель по координатам inPoint, после чего нажать (вниз) клавишу мыши и не отпускать до выполнения соответсвующей команды (см. Up).
# Screen: Взаимодействие с мышью объектами экрана from pyOpenRPA.Robot import Screen lPoint = Screen.PointCreate(100,150) Screen.PointDown(lPoint)
- Параметры
inPoint (Point, обязательный) – Точка на экране, по которой выполнить нажатие мыши
inButtonStr (str, опциональный) – Номер кнопки, которую требуется нажать. Возможные варианты: „left“, „middle“, „right“ или 1, 2, 3. В остальных случаях инициирует исключение ValueError. По умолчанию „left“
inWaitAfterSecFloat (float, опциональный) – Количество секунд, которые ожидать после выполнения операции. По умолчанию установлено в настройках модуля Mouse (базовое значение 0.4)
- pyOpenRPA.Robot.Screen.PointFromBox(inBox, inRuleStr)[исходный код]¶
L+,W+:Создать точку Point на основании прямоугольной области и символьного указания точки (см функцию BoxGetPoint).
# Screen: Взаимодействие с мышью объектами экрана from pyOpenRPA.Robot import Screen lBox1 = Screen.PointFromBox(inTopInt=10, inLeftInt=10, inHeightInt=100, inWidthInt=1000) lPoint = Screen.PointFromBox(inBox=lBox1, inPointRuleStr="LC")
- Параметры
inBox (Box, обязательный) – Прямоугольная область на экране
inRuleStr (str, опциональный) – Правило идентификации точки на прямоугольной области (правила формирования см. выше). Варианты: «LU»,»CU»,»RU»,»LC»,»CC»,»RC»,»LD»,»CD»,»RD». По умолчанию «CC»
- Результат
Точка на экране
- Тип результата
Screen.Point
- pyOpenRPA.Robot.Screen.PointIsInBox(inPoint, inBox)[исходный код]¶
L+,W+: Проверить вхождение точки Point в прямоугольную область Box
# Screen: Взаимодействие с экраном from pyOpenRPA.Robot import Screen # Поддерживает форматы Screen.PointIsInBox([1,1], [10,10,200,200]) Screen.PointIsInBox((1,1), (1,1,200,200)) Screen.PointIsInBox({"x":1,"y":1}, {"x":1,"y":1, "w":200,"h":200})
- pyOpenRPA.Robot.Screen.PointModify(inPoint, inDXInt, inDYInt) Point [исходный код]¶
L+,W+:Скорректировать точку Point.
# Screen: Взаимодействие с мышью объектами экрана from pyOpenRPA.Robot import Screen lPoint = Screen.PointCreate(inXInt=10, inYInt=10) lPoint = Screen.PointModify(inPoint=lPoint, inDXInt=90, inDYInt=10)
- Параметры
inPoint (Point, обязательный) – Точка на экране, по которой выполнить нажатие мыши
inDXInt (int, опциональный) – Смещение указателя мыши по оси X (горизонтальная ось).
inDYInt (int, опциональный) – Смещение указателя мыши по оси Y (вертикальная ось).
- Результат
Точка на экране
- Тип результата
Screen.Point
- pyOpenRPA.Robot.Screen.PointMoveTo(inPoint: Point, inWaitAfterSecFloat: Optional[float] = None)[исходный код]¶
L+,W+:Переместить указатель мыши на позицию inXInt, inYInt за время inMoveDurationSecFloat.
!ВНИМАНИЕ! Отсчет координат inXInt, inYInt начинается с левого верхнего края рабочей области (экрана).
# Screen: Взаимодействие с мышью объектами экрана from pyOpenRPA.Robot import Screen lPoint = Screen.PointCreate(100,150) Screen.PointMoveTo(inXInt=100, inYInt=200)
- Параметры
inPoint (Point, обязательный) – Точка на экране, по которой выполнить нажатие мыши
inWaitAfterSecFloat (float, опциональный) – Количество секунд, которые ожидать после выполнения операции. По умолчанию установлено в настройках модуля Mouse (базовое значение 0.4)
- pyOpenRPA.Robot.Screen.PointParse(*args, **kwargs)[исходный код]¶
L+,W+: Создать экземпляр точки.
# Screen: Взаимодействие с экраном from pyOpenRPA.Robot import Screen # Поддерживает форматы Screen.PointParse(x=1,y=1) Screen.PointParse(1,1) Screen.PointParse(x=1,y=1) Screen.PointParse(l=1,t=1) Screen.PointParse([1,1]) Screen.PointParse((1,1)) Screen.PointParse({"x":1,"y":1})
- pyOpenRPA.Robot.Screen.PointUp(inPoint: Point, inButtonStr: str = 'left', inWaitAfterSecFloat: Optional[float] = None)[исходный код]¶
L+,W+:Отпустить (вверх) клавишу мыши.
# Screen: Взаимодействие с мышью объектами экрана from pyOpenRPA.Robot import Screen lPoint = Screen.PointCreate(100,150) Screen.PointUp(lPoint)
- Параметры
inPoint (Point, обязательный) – Точка на экране, по которой выполнить нажатие мыши
inButtonStr (str, опциональный) – Номер кнопки, которую требуется поднять. Возможные варианты: „left“, „middle“, „right“ или 1, 2, 3. В остальных случаях инициирует исключение ValueError. По умолчанию „left“
inWaitAfterSecFloat (float, опциональный) – Количество секунд, которые ожидать после выполнения операции. По умолчанию установлено в настройках модуля Mouse (базовое значение 0.4)
- pyOpenRPA.Robot.Screen.ResolutionsGet()[исходный код]¶
L-,W+:Получить разрешение всех используемых экранов.
!ВНИМАНИЕ! Данная функция возвращает разрешения с учетом scale factor (масштабирование в настройках Windows)
# Screen: Взаимодействие с объектами экрана from pyOpenRPA.Robot import Screen Screen.ImageClick(inImgPathStr="Button.png",inConfidenceFloat=0.9)
- Результат
Список с разрешением в формате [ширина, высота].
- Тип результата
list
- class pyOpenRPA.Robot.Screen.SnipingTool(parent, path)[исходный код]¶
Methods:
L+,W+: Определение разрешения всей области экрана (охватывает все подключенные мониторы)
movingRect
(event)L-,W+: Построения выделяемой прямоугольной области
startRect
(event)L-,W+: Начало построения выделяемой прямоугольной области
stopRect
(event)L-,W+: Завершение построения выделяемой прямоугольной области
- getMonitorsResolution()[исходный код]¶
L+,W+: Определение разрешения всей области экрана (охватывает все подключенные мониторы)
- movingRect(event)[исходный код]¶
L-,W+: Построения выделяемой прямоугольной области
- Параметры
event (событие) – Перемешение мыши
- startRect(event)[исходный код]¶
L-,W+: Начало построения выделяемой прямоугольной области
- Параметры
event (событие) – Нажатие клавиши мыши
- stopRect(event)[исходный код]¶
L-,W+: Завершение построения выделяемой прямоугольной области
- Параметры
event (событие) – Поднятие клавиши мыши