为什么PyAutoGui LocateOnScreen()只返回Non

2024-04-29 00:18:14 发布

您现在位置:Python中文网/ 问答频道 /正文

下面是我要运行的代码:

import pyautogui
r=pyautogui.locateOnScreen('C:\Users\David\Desktop\index.png',grayscale=False)
print r

Tags: 代码importfalseindexpngusersdavidprint
3条回答

它必须是像素的完美匹配才能被发现。为了允许任何类型的偏差,您可以调用一个置信参数。

例如:

loc = pyautogui.locateOnScreen(image, grayscale=True, confidence=.5)

但是,为了使用confidence参数,必须安装opencv_python。使用pip很容易安装:

./python -m pip install opencv_python

在那之后,你应该能够解释细微的差异。

我是通过以下方法来完成这项工作的:

r = None
while r is None:
    r = pyautogui.locateOnScreen('rbin.PNG', grayscale = True)
print icon_to_click + ' now loaded'

关键是使grayscale=True。

我遇到了同样的问题,我所做的就是

import pyautogui 
r= None 
while r is None:
    r=pyautogui.locateOnScreen('C:\Users\David\Desktop\index.png',grayscale=False)
print r

我想这只是因为定位图像需要时间。如果你找到更好的解决方案,请与我分享:)

相关问题 更多 >