如何实现循环检测指定像素颜色并满足条件后点击?(含报错解决)
解决方法
首先,你用numpy.repeat()完全找错了工具——这个函数是用来重复数组元素的,根本不是实现程序循环的。要实现“重复检查直到条件满足”的需求,直接用Python的while循环就行,配合time.sleep()来控制间隔。
正确代码如下:
import pyautogui import time while True: # 获取指定坐标像素的G通道值(你代码里取索引1,对应RGB中的G分量) green_value = pyautogui.pixel(1493, 782)[1] if green_value == 222: pyautogui.click(1493, 782) break # 条件满足,点击后退出循环 time.sleep(1) # 不满足条件,等待1秒后再重新检查
代码说明
while True创建无限循环,直到触发break才会停止运行time.sleep(1)让程序每次检查后暂停1秒,避免频繁占用系统资源- 当目标像素的G通道值等于222时,执行点击操作,随后用
break跳出循环,结束程序
你之前的错误原因
numpy.repeat()是用于数组元素重复的函数,需要传入数组和重复次数(比如numpy.repeat([1,2], 3)),不能用来循环执行代码逻辑numpy.repeats是不存在的属性,所以会触发AttributeError报错
内容的提问来源于stack exchange,提问作者Snowman
相关产品推荐
相关产品推荐

