[英]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
任何人都可以帮助我吗?
所以我想出了这个:
确保您的图像与您尝试使用机器人查找的图像大小相同。
将它放在与“.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 中。
图片尺寸:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.