淘粉吧淘商品

# 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")

 

posted @ 2021-07-31 12:42  cforcnb  阅读(34)  评论(0)    收藏  举报