因为业务需求,了解到一些python自动化的内容,其中有类似于airtest截图点击的东西。本来是想使用pyautogui来实现获取图片坐标的功能,但是pyautogui对于小尺寸的图片识别不准确,或者说是识别不到,一番查找之下,发现另一个工具,做了封装如下。
1,使用pyautogui的方法
x, y=pyautogui.locateCenterOnScreen("img_path")
# 如果查找到值,会返回坐标的元组,找不到返回None。上面的写法会报错
print(x, y)
pyautogui.click(x,y)
# 点击操作
2,使用aircv
def matchImg(imgobj,confidence=0.7):
""" imgobj:待查找的图片 confidence:最低相似度 """
# 截取桌面操作,写入内存中,不必每次都保存实体图片
screenshotIm = screenshot(region=None)
desktop = np.array(screenshotIm)
imobj = ac.imread(imgobj)
return ac.find_template(desktop ,imobj,confidence)
if __name__ == "__main__":
imgobj = 'img_path'
print(matchImg(imgsrc,imgobj,confidencevalue))
返回值包含桌面大小,中心点,和待查询图片的四角坐标。否则为None