From 908131cda595c7a536021b68e7ad2c0c2ddf8c15 Mon Sep 17 00:00:00 2001 From: Ivan Maslov Date: Thu, 14 Jul 2022 14:05:03 +0300 Subject: [PATCH] screen in progress --- Sources/pyOpenRPA/Robot/Screen.py | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/Sources/pyOpenRPA/Robot/Screen.py b/Sources/pyOpenRPA/Robot/Screen.py index caf008ba..64b05ef1 100644 --- a/Sources/pyOpenRPA/Robot/Screen.py +++ b/Sources/pyOpenRPA/Robot/Screen.py @@ -1,4 +1,5 @@ from pyautogui import * +import pyautogui import pyscreeze import ctypes from pyOpenRPA.Tools import CrossOS @@ -470,7 +471,7 @@ def PointMoveTo(inPoint:pyscreeze.Point, inMoveDurationSecFloat:float=0.0, inWai # Screen: Взаимодействие с мышью объектами экрана from pyOpenRPA.Robot import Screen lPoint = Screen.PointCreate(100,150) - Mouse.PointMoveTo(inXInt=100, inYInt=200) + Screen.PointMoveTo(inXInt=100, inYInt=200) :param inPoint: Точка на экране, по которой выполнить нажатие мыши :type inPoint: pyscreeze.Point, обязательный @@ -480,3 +481,23 @@ def PointMoveTo(inPoint:pyscreeze.Point, inMoveDurationSecFloat:float=0.0, inWai :type inWaitAfterSecFloat: float, опциональный """ Mouse.Down(inXInt=inPoint.x, inYInt=inPoint.y, inMoveDurationSecFloat=inMoveDurationSecFloat, inWaitAfterSecFloat=inWaitAfterSecFloat) + +def ImageLocateAll(inImgPathStr:str, inIsGrayModeBool:bool=False, inConfidenceFloat:float=1.0) -> list: + """Искать на экране графические объекты, которые похожи на inImgPathStr. Вернуть список прямоугольных областей на экране (pyscreeze.Box) + + .. code-block:: python + + # Screen: Взаимодействие с объектами экрана + from pyOpenRPA.Robot import Screen + Screen.LocateAll(inImgPathStr="Button.png",inConfidenceFloat=0.9) + + :param inImgPathStr: Путь к изображению, которое требуется искать на экране + :type inImgPathStr: str, относительный или абсолютный + :param inIsGrayModeBool: True - выполнить поиск изображения в режиме серых оттенков (ускоряет производительность, если допускается искажение цвета). По умолчанию False + :type inIsGrayModeBool: bool, опционально + :param inConfidenceFloat: Показатель точности. 1.0 - идентичное соответствие, 0.0 - полное несоответствие. По умолчанию 1.0 + :type inConfidenceFloat: float, опционально + :return: Список из pyscreeze.Box + :rtype: list + """ + return pyautogui.locateAllOnScreen(image = inImgPathStr, grayscale = inIsGrayModeBool, confidence = inConfidenceFloat)