Airtest实现在手机界面快速批量采集数据
一、问题
- Airtest使用的poco方法比较慢,寻找差不多一周,看完这篇文章能节省一周时间,希望帮到大家。
二、解决思路
使用Airtest图像识别,这样就会速度上提升效率。
三、解决办法
-
使用页面规律,要找到每条数据的附近规律(一般是图像规律),使用find_all(规律图像)计算得到坐标,再依据和图像同一条数据的坐标,计算得到差值四个(四个差值分别是左上和右下的X,Y坐标差值),图像和差值坐标经过计算得到每条数据的坐标,依据每条数据的坐标截图经过ocr识别出数据并保存。
(图像和poco方法都适用)
四、代码实现
# -*- encoding=utf8 -*-
__author__ = "Administrator"from airtest.core.api import *
import randomfrom airtest.aircv import *from PIL import Image
import pytesseract
import csvimport pyocr
import pyocr.buildersauto_setup(__file__)def zuobiao_new_txt(m,n):# 获取每个特征的图片坐标并完成转换# Airtest的多图查找与两图对比title_shibie = []# 参数==========日期,数据results_m= find_all(m)results_n= find_all(n)print("---------------日期-----------------")print("识别到图片的个数{}".format(len(results_m)))print(results_m)print(results_m[0]['rectangle'][0][0])print("----------------数据----------------")print(results_n)# x_0的差值m_x_0 = int(results_m[0]['rectangle'][0][0])n_x_0 = int(results_n[0]<