好,所以我有这个脚本,它只单击具有一定灰色阴影的像素,除一件事外,它在大多数情况下都可以正常工作,它循环的时间太长,每次需要大约一秒钟才能完成我应该更改休息时间以更好地工作,并阻止它在ive找到一个有效像素后四处循环吗?
xx = 0
while xx <= 600:
with mss.mss() as sct:
region = {'top': 0, 'left': 0, 'width': 1920, 'height': 1080}
imgg = sct.grab(region)
pxls = imgg.pixels
for row, pxl in enumerate(pxls):
for col, pxll in enumerate(pxl):
if pxll == (102, 102, 102):
if col>=71 and col<=328 and row<=530 and row>=378:
foundpxl = pxll
print(str(col) +" , "+ str(row))
pyautogui.click(col,row)
break
xx = xx + 1
time.sleep(.05)
答案 0 :(得分:0)
如果在内圈或外圈for-else
中找不到有效像素(因此没有出现continue
),则可以使用break
构造来break
如果找到一个:
for row, pxl in enumerate(pxls):
for col, pxll in enumerate(pxl):
if pxll == (102, 102, 102) and col >= 71 and col <= 328 and row <= 530 and row >= 378:
foundpxl = pxll
print(str(col) + " , " + str(row))
pyautogui.click(col, row)
break
else:
continue
break
答案 1 :(得分:0)
免责声明:我对mss不熟悉。 您可以改进的几件事:
for row, pxl in enumerate(pxls, start=378):
if row > 530:
break
for col, pxll in enumerate(pxl, start=71):
if col > 328:
break
region = {'top': 378, 'left': 71, 'width': 328-71, 'height': 530-378}