由于某些未知原因,Pyautogui的locateOnScreen()
函数(以及所有其他Pyautogui的locate函数)不能正常工作,并返回None
。
我的代码:
>>> pyautogui.screenshot('test.png',region=(100,20, 30, 20))
<PIL.Image.Image image mode=RGB size=30x20 at 0x39E35C0>
>>> print pyautogui.locateOnScreen('test.png')
None
My research
我知道当它返回None
时,这意味着pyautogui
无法在屏幕上定位图像。我也知道它必须在屏幕上可见。上面的代码是在不移动任何窗口的情况下执行的。
我也知道在this one这样的stackoverflow上也有非常相似/相同的问题。但这个问题的解决方案并不适用于我的情况,因为我实际上是直接使用pyautogui的屏幕截图和裁剪功能,甚至没有使用第三方软件进行裁剪,但pyautogui无法定位它。
其他信息
Python:2.7.15 (64-bit)
操作系统:Windows 10 Home 64-bit
发布于 2018-07-13 07:54:50
locateOnScreen
、locateCenterOnScreen
和(可能)所有其他Pyautogui的locate函数都有一个可选的参数confidence
。
顾名思义,设置Pyautogui可以容忍多少轻微偏差。降低置信度可以解决这个问题,但会增加误报的机会。
附注:Pyautogui's documentation中没有提到confidence
。如果他们把它加进去,那就太好了,也很有帮助。
https://stackoverflow.com/questions/51284908
复制相似问题