如何在python 2.7中使用pyautogui获取屏幕图像坐标

时间:2017-02-16 16:24:19

标签: python python-2.7 pyautogui

当我运行此脚本时:

import pyautogui

x, y = pyautogui.locateCenterOnScreen('key7.png')
pyautogui.click(x, y)

我收到此错误消息:

Traceback (most recent call last):
  File "C:/Users/SMART/Desktop/locate.py", line 3, in <module>  
    x, y = pyautogui.locateCenterOnScreen('key7.png')  
TypeError: 'NoneType' object is not iterable

我想找到然后点击计算器上的按钮:

与数字7类似。我想找到密钥并获取它的中心xy

使用python 2.7和pyautogui执行此任务的任何建议?

2 个答案:

答案 0 :(得分:1)

我也有使用pyautogui定位图像的问题。我改进搜索的方式已经

1-使用pyautogui.locateOnScreen搜索较小的区域(&#39; someButton.png&#39;,region =(0,0,300,400))

2-用pyautogui拍摄屏幕截图(不是剪切工具等)

3- pyautogui在搜索中不使用透明度,所以如果PNG具有透明度(因为它需要像素完美)可以将其抛弃

您可能还想尝试灰度缩放搜索

答案 1 :(得分:0)

这是适用于我的代码:

>>>import pyautogui
>>>button7location = pyautogui.locateOnScreen('calc7key.png')
>>>button7location
(1416, 562, 50, 41)
>>>x, y = pyautogui.center(button7location)
>>>x, y
(1441, 582)
>>>pyautogui.click(x, y)

这是我的key7图片key 7 image