繁体   English   中英

PyAutoGui Locateonscreen(MAC 和 Windows)

[英]PyAutoGui Locateonscreen (MAC and Windows)

我在运行代码时遇到了一些问题。 我在 Mac 和 Windows 中开发相同的代码。

PyAutoGui 中的 LocateOnScreen 函数在 Windows 中不起作用,即使我安装了 OpenCV。 MAC中的相同图像完美运行

我创建了一个函数来了解代码是在 Windows 还是 Mac 中运行,只是因为分辨率

请参阅下面的代码

    cond = True
    while cond:
        try:
            x, y = auto.center(auto.locateOnScreen(settings.btnLogin, confidence=.5))
            ## Click in Windows
            auto.click(x, y)

            ## Click in Mac
            auto.click(x/2, y/2)
            cond = False
        except Exception as e:
            print("Error", e)
    return

我只是不明白为什么它可以在 Mac 和 Windows 中继续返回 None

登录按钮 完整页面

任何人都可以帮助我吗?

所以我想出了这个:

  1. 确保您的图像与您尝试使用机器人查找的图像大小相同。

  2. 将它放在与“.py”文件和“btnLogin.jpg”相同的文件夹中。

工作代码应该是这样的:

import pyautogui
cond = True

while cond:
    try:
        x, y = pyautogui.locateCenterOnScreen('btnLogin.jpg')
        #Click in Windows
        pyautogui.click(x, y)
        cond = False
    except Exception as Ex:
        print('Error: ', Ex)

这基本上是代码的核心,不会循环,但如果您只需要自动登录,应该足够快:

import pyautogui
try:
    x, y = pyautogui.locateCenterOnScreen('btnLogin.jpg')
    pyautogui.click(x, y)
except Exception as Ex:
    print('ERROR: ', Ex)

如果有什么不清楚或不适合您,请告诉我:)

我将窗口设置为以预设大小打开,所以我拍摄了我需要的所有照片。

我检查了我是否找到了所有图像,并且我发现它们恰到好处。 但是现在我把它放在Mac上运行,打开相同大小的窗口,但是,它没有找到图像。

我不知道为什么,但即使窗口大小相同,Mac 上的图像也会变小 :(

我打开一个大小为 (1440, 900) 的窗口并拍摄了 2 张登录按钮的照片。 1 张图片在 Mac 中,另一张在 Windows 中。

图片尺寸:

  • 麦克 = (207, 53)
  • 窗户 = (253, 73)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM