如何让程序用 pyautogui 找到图像?

Posted

技术标签:

【中文标题】如何让程序用 pyautogui 找到图像?【英文标题】:how to make the program find an image with pyautogui? 【发布时间】:2022-01-18 12:25:16 【问题描述】:

在下面的代码中,如您所见,我试图在屏幕上找到一个带有 .png 的图像(我没有添加,因为我认为这不是问题)但它没有找到任何东西

import pyautogui as pt
from time import sleep

class Clicker:
    def __init__(self, target_png, speed):
        self.target_png = target_png
        self.speed = speed
        pt.FAILSAFE = True

    def nav_to_image(self):
        try:
            position = pt.locateOnScreen(self.target_png, confidence=.8)
            pt.moveTo(position[0] + 15, position[1] + 15, duration=self.speed)
            pt.doubleClick()

        except:
            print('No img found')
            return 0

if __name__=='__main__':
    sleep(1)
    clicker = Clicker('accetta.png', speed=.001)

    end = 0
    while True:
        sleep(1)
        if clicker.nav_to_image() == 00:
            end += 1

        if end > 5:
            break

【问题讨论】:

请修剪您的代码,以便更容易找到您的问题。请按照以下指南创建minimal reproducible example。 【参考方案1】:

我看到您的信心设置为 80%。当您不寻找精确匹配时,这有点棘手。您是否使用不需要信心即可工作的图像测试了代码?

有时色调会有所不同。试试 locateOnScreen(image, grayscale=False) 看看是否有区别。

如果您同时包含您尝试查找的图像和屏幕截图的副本以重现错误,将会有所帮助。

【讨论】:

以上是关于如何让程序用 pyautogui 找到图像?的主要内容,如果未能解决你的问题,请参考以下文章

PyAutoGUI 定位命令返回错误的图像识别坐标

python selenium框架解决ip代理框不能自动化登录,解决pyautogui开不了多线程问题

20180130之PYTHON学习笔记PYTHON3写个自动听课功能

通过selenium+pyautogui模拟登陆淘宝(完美实现)

pyautogui GIMP自动化问题

Pyautogui click不会注册我桌面上应用程序窗口的点击