【发布时间】:2021-06-22 02:13:06
【问题描述】:
所以,我想检查屏幕的某个区域是否有 RGB 为“0,158,187”的像素,如果有,我想获取它的坐标以便我可以点击那里。
这是我尝试过的:
im = ImageGrab.grab(bbox=(268,118,1150,866))
x = 268
y = 118
while True:
x = x + 5
xy = (x, y)
if im.getpixel(xy) == (0,158,187):
pyautogui.click(x, y)
break
if x >= 1150:
x = 268
y = y + 5
if y >= 866:
sys.exit()
但是,我不断收到错误
"IndexError: image index out of range"
即使我在 X 范围达到 1150 时不断重置它,如果 Y 达到 866 则结束程序,因为没有继续它们的意义。
【问题讨论】:
-
268增加5最终会得到比1150更大的值。然后在您检查条件之前,它将尝试在不存在的坐标处im.getpixel(xy)。
标签: python python-3.x python-imaging-library pyautogui