首页 > 其他分享 >pyautogui

pyautogui

时间:2024-04-01 18:23:12浏览次数:24  
标签:pyautogui return target screenshot cv2 cls

from typing import Tuple

import pyperclip
import pyautogui
import cv2
import numpy as np


class Gui(object):
    '''
    pyautogui 操作
    '''

    @classmethod
    def find_img_position_yn(cls, file_path: str) -> (int, int):
        '''
        查找图片位置
        :param file_path: 文件路径
        :return: 返回是否查到
        '''
        target_image = cv2.imread(file_path)
        screenshot = pyautogui.screenshot()
        screenshot = np.array(screenshot)
        screenshot = cv2.cvtColor(screenshot, cv2.COLOR_RGB2BGR)
        result = cv2.matchTemplate(screenshot, target_image, cv2.TM_CCOEFF_NORMED)
        _, max_val, _, max_loc = cv2.minMaxLoc(result)
        if max_val > 0.9:
            return True
        else:
            return False

    @classmethod
    def find_img_position(cls, file_path: str) -> (int, int):
        '''
        查找图片位置
        :param file_path: 文件路径
        :return: 返回坐标
        '''
        target_image = cv2.imread(file_path)
        screenshot = pyautogui.screenshot()
        screenshot = np.array(screenshot)
        screenshot = cv2.cvtColor(screenshot, cv2.COLOR_RGB2BGR)
        result = cv2.matchTemplate(screenshot, target_image, cv2.TM_CCOEFF_NORMED)
        _, max_val, _, max_loc = cv2.minMaxLoc(result)
        target_center = (max_loc[0] + target_image.shape[1] // 2, max_loc[1] + target_image.shape[0] // 2)
        return target_center

    @classmethod
    def click(cls, position: Tuple[int, int]):
        return pyautogui.click(position)

    @classmethod
    def hotkey(cls, *args, **kwargs):
        return pyautogui.hotkey(args, kwargs)
        pass

    @classmethod
    def delete(cls):
        return pyautogui.press('delete')

    @classmethod
    def enter(cls):
        return pyautogui.press('enter')

    @classmethod
    def copy(cls, text: str):
        return pyperclip.copy(text)

    '''pyautogui.hotkey('ctrl', 'a')
    pyautogui.press('delete')'''
    pass

标签:pyautogui,return,target,screenshot,cv2,cls
From: https://www.cnblogs.com/hziwei/p/18109107

相关文章

  • 利用pyautogui调用微信ocr
    importpyautoguiimporttimedefocrweixin(filename):#鼠标点击,默认左键#移至sheet页pyautogui.click(1386,33)#点击地址框pyautogui.click(1364,94)pyautogui.hotkey('ctrl','a')time.sleep(0.5)pyautogui.typewrite(......
  • 使用pyautogui向下滚动条到底
    使用pyautogui向下滚动条到底一、pyautogui简介pyautogui是一个用于模拟鼠标和键盘操作的Python模块,它可以用来自动化执行一些重复性的任务,提高工作效率。在这篇文章中,将学习如何使用pyautogui模块来实现向下滚动条到底的功能。二、安装pyautogui模块在使用pyautogui之前,需要......
  • 使用pyautogui向下滚动条到底
    使用pyautogui向下滚动条到底一、pyautogui简介pyautogui是一个用于模拟鼠标和键盘操作的Python模块,它可以用来自动化执行一些重复性的任务,提高工作效率。在这篇文章中,将学习如何使用pyautogui模块来实现向下滚动条到底的功能。二、安装pyautogui模块在使用pyautogui之前,需要先......
  • python | 小游戏 开局托儿所 自动化脚本 pyautogui
    小游戏开局托儿所自动化脚本pyautogui纯sb游戏,我脚本都不是总能上100分。当然,跟我算法不是最优肯定也有关系。别玩这游戏,纯浪费时间。好久不写这种带算法的代码了,调了半天。importpyautoguideflike(boxa,boxb): ifabs(boxa.top-boxb.top)<10andabs(boxa.left-box......
  • PyAutoGUI使用
    让所有GUI都自动化-PyAutoGUI(GUI自动化工具) PyAutoGUI是一个纯Python的GUI自动化工具,其目的是可以用程序自动控制鼠标和键盘操作,利用它可以实现自动化任务,再也不用担心有重复枯燥的任务了。安装:pipinstallpyautogui或在pipy直接下载install在Py3中安装提示:Collecting......
  • onequant-pyautogui
    importosimporttimeimportsocketfromdatetimeimportdatetimeimportdatetime#fromwsgirefimportheadersimportpandasaspdfromcmathimportisnanimportrandomimportcsvimportcopyimportcodecsfrommultiprocessingimportPoolimportdateti......
  • Python之PyAutoGUI的使用
    PyAutoGUI是Python的一个库,使用示例如下。一、移动到某个坐标点进行点击importpyautoguiprint(pyautogui.position())pyautogui.moveTo(56,18,duration=1)pyautogui.click()二、依照图片相似度移动到某个图片的位置进行点击importpyautoguipos=pyautogui.locateO......
  • pyautogui.locateOnScreen()函数
    如何在屏幕上搜索某个图像假设桌面有个熟悉的图标如下:我们该如何用pyautogui找到它呢?如果是你,你该怎么找呢?是不是首先得参照上面这个图片,然后在屏幕上逐行扫描,扫到为止。pyautogui也是类似的:#图像识别(一个)oneLocation=pyautogui.locateOnScreen('weixin.png')print(on......
  • python selenium 利用pyautogui+ActionChains 完美解决我的滑块验证登录问题
    在解决滑块验证的时候不知道什么原因明明是滑块已经对上了,代码执行就是会校验不通过,手动时就可以,中间也做利用ActionChains模块减速滑动轨迹的操作,但仍然不行,后面在执行代码中添加了pyautogui模块使鼠标悬停在屏幕中的某个点而不改变ActionChains鼠标的定位后终于每次都能通过了fro......
  • python pyautogui AttributeError: module 'pyscreeze' has no attribute 'locateOnW
    目录pythonpyautoguiAttributeError:module'pyscreeze'hasnoattribute'locateOnWindow'pythonpyautoguiAttributeError:module'pyscreeze'hasnoattribute'locateOnWindow'安装好pyautogui后测试脚本报错如标题这个报错百度查询是版本过高导致......