如何在屏幕上搜索某个图像
假设桌面有个熟悉的图标如下:
我们该如何用pyautogui找到它呢?
如果是你,你该怎么找呢?
是不是首先得参照上面这个图片,然后在屏幕上逐行扫描,扫到为止。
pyautogui也是类似的:
# 图像识别(一个)
oneLocation = pyautogui.locateOnScreen('weixin.png')
print(oneLocation)
locateOnScreen() 函数返回4个整数的元组,是屏幕上首次发现该图像时左边的 x 坐标、顶边的 y 坐标、宽度以及高度。
如果屏幕上找不到该图像,locateOnScreen() 函数将返回 None。
请注意要成功识别,屏幕上的图像必须与提供的图像完全匹配。
即使只差一个像素, locateOn Screen() 函数也会返回None。
如果电脑屏幕上有多个一样的图标,可以使用locateAllOnScreen()函数。
import pyautogui
allLocation = pyautogui.locateAllOnScreen('weixin.png')
print(list(allLocation))
P.S.以下为自动点赞的小例子:
import pyautogui
import time
def zan():
time.sleep(0.5)
xy = pyautogui.locateOnScreen('dianzan.png') # 寻找刚才保存点赞手势图片
center = pyautogui.center(xy) # 寻找图片的中心
pyautogui.click(center)
print('点赞成功!')
count=10#为了防止一直运行下去,点一点数量的赞就结束,自己定义
while True:
if pyautogui.locateOnScreen('dianzan.png'):
zan() # 调用点赞函数
count-=1
else:
pyautogui.scroll(-500) #本页没有图片后,滚动鼠标;
print('没有找到目标,屏幕下滚~')
print("点10个赞结束!")