Airtest实现在手机界面快速批量采集数据
一、问题
- Airtest使用的poco方法比较慢,寻找差不多一周,看完这篇文章能节省一周时间,希望帮到大家。
二、解决思路
使用Airtest图像识别,这样就会速度上提升效率。
三、解决办法
-
使用页面规律,要找到每条数据的附近规律(一般是图像规律),使用find_all(规律图像)计算得到坐标,再依据和图像同一条数据的坐标,计算得到差值四个(四个差值分别是左上和右下的X,Y坐标差值),图像和差值坐标经过计算得到每条数据的坐标,依据每条数据的坐标截图经过ocr识别出数据并保存。
(图像和poco方法都适用)
四、代码实现
# -*- encoding=utf8 -*-
__author__ = "Administrator"
from airtest.core.api import *
import random
from airtest.aircv import *
from PIL import Image
import pytesseract
import csv
import pyocr
import pyocr.builders
auto_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]<