【发布时间】:2021-01-27 01:29:08
【问题描述】:
我正在尝试创建一个机器人来识别屏幕上的图像并能够点击该图像。但是,当提示机器人点击图片时,提示我 TypeError: cannot unpack non-iterable NoneType object。
import pyautogui as pg
import keyboard
import time
import pytesseract as tess
from PIL import Image
if pg.locateOnScreen('follow1.png', confidence=0.5) != None:
pg.click('follow1.png')
但是,机器人可以识别屏幕上的图像,但无法点击它。
import pyautogui as pg
import keyboard
import time
import pytesseract as tess
from PIL import Image
if pg.locateOnScreen('follow1.png', confidence=0.5) != None:
pg.print('found it!')
脚本如何识别屏幕上的图像但点击失败?
【问题讨论】:
-
pg.click('follow1.png')不遵循该函数的任何记录用途。locateOnScreen返回一组坐标,click()将坐标作为输入;您没有使用locateOnScreen的返回值,而是将一个字符串传递给click(),我预计这会失败,因为这根本不是该库的工作方式。尝试阅读这两个函数的文档,查找它们的一些使用示例,然后再试一次,看看是否还有问题。 -
这不是真的 - pg.click('image.png') 是一个有记录的使用,尽管它可能是错误的 (pyautogui.readthedocs.io/en/latest)
-
正如@RandomDavis 提到的,您最好使用 locateOnScreen 然后单击。 locateOnScreen 还允许您指定置信度。
-
@Konrads 我的错,我没有在他们的官方页面上看到
click()的用法,它一定很新?
标签: python