# coding:utf-8
import uiautomator2 as u2
import time
import re
import os
import subprocess
import shutil
# adb_connect_init
cmds = [
"taskkill /f /im adb.exe",
'start adb',
"adb connect 127.0.0.1:21503",
"adb devices",
]
for cmd in cmds:
print(10*"--")
result = subprocess.Popen(cmd, shell=True, stdin=subprocess.PIPE, stdout=subprocess.PIPE,
stderr=subprocess.PIPE)
print(result.stdout.read().decode("gbk"))
time.sleep(2)
# 清空screenshoot文件夹
if os.path.exists('./screenshoot'):
shutil.rmtree('./screenshoot')
os.mkdir('./screenshoot')
else:
os.mkdir('./screenshoot')
# 连接APP
d = u2.connect('127.0.0.1:21503')
# 关闭之前旧的APP
# 停止所有正在进行的app
d.app_stop_all()
# 启动APP
d.app_start("com.leixun.taofen8")
time.sleep(5)
print('开始。。。')
d(text="券上返").click()
time.sleep(3)
d.drag(0.5, 0.9, 0.5, 0.276) # 上划
# d(scrollable=True).scroll.to(resourceId="com.leixun.taofen8:id/fl_item")
time.sleep(2)
for screen in range(300):
print("第{}屏".format(screen+1))
is_match = False
for i in range(len(d(textContains="折"))):
discount = d(textContains="折")[i].get_text()
if re.sub("\D","",discount).isdigit(): # 判断是否为数字
discount_num = float(re.sub("\D","",discount))
else:
discount_num = 99999.9
# print(discount_num)
if discount_num <= 20.0: # 注意:要乘以10
is_match = True
print("第{}屏-match!!!".format(screen + 1))
break
# 符合条件的话,截屏下来
if is_match == True:
pic_name = './screenshoot/{}.jpg'.format(screen + 1)
d.screenshot(pic_name) # 截屏
d.drag(0.5,0.9,0.5,0.136) # 上划
time.sleep(5)
# 结束
d.app_stop("com.xiaopeng.mycarinfo")