app小程序手机端Python爬虫实战12实现自动化退出考研帮app并清空缓存

uiautomator 虚幻 225℃ 0评论

app小程序手机端Python爬虫实战11实现自动化退出考研帮app并清空缓存

9465c455db6d4897900a0835ea186a6f - app小程序手机端Python爬虫实战12实现自动化退出考研帮app并清空缓存

一、捕获安卓吐司的消息

结束安卓的吐司操作:

        while True:
            if self.d.toast.get_message(0)=="没有更多了":
                break
            self.d.swipe(x1, y1, x1, y2)

二、脚本结束时清理缓存

完成之后清理app的缓存:

def close_app(self):
    #监控器关闭
    self.d.watcher.stop()
    #停止考研帮app
    self.d.app_stop("com.tal.kaoyan")
    # 清理缓存
    self.d.app_clear("com.tal.kaoyan")

在吐司操作完成后,结束app

            while True:
                if self.d.toast.get_message(0)=="没有更多了":
                    self.close_app()
                    return
                self.d.swipe(x1, y1, x1, y2)

三、考研帮脚本完整代码

完整代码如下:

import uiautomator2 as u2
import time

class HandleKaoyanbang(object):
    def __init__(self, serial="127.0.0.1:62001"):
        # 当前是通过usb的方法来街道移动设备的
        self.d = u2.connect_usb(serial=serial)
        self.size = self.get_windowsize()
        self.handle_watcher()

    def handle_watcher(self):
        """定义一个监控器:会单独启动一个线程来监控有没有符合要求的控件"""
        # 用户隐私协议
        self.d.watcher.when('//*[@resource-id="com.tal.kaoyan:id/tip_commit"]').click()
        # 广告
        self.d.watcher.when('//*[@resource-id="com.tal.kaoyan:id/tv_skip"]').click()
        # 监控器写好之后 通过start方法启动
        self.d.watcher.start()

    def get_windowsize(self):
        """获取手机屏幕的大小"""
        return self.d.window_size()

    def close_app(self):
        #监控器关闭
        self.d.watcher.stop()
        #停止考研帮app
        self.d.app_stop("com.tal.kaoyan")
        # 清理缓存
        self.d.app_clear("com.tal.kaoyan")

    def handle_kaoyanbang_app(self):
        """启动考研帮app,并实现自动化操作"""
        self.d.app_start(package_name="com.tal.kaoyan")

        # 点击密码登录
        self.d(text="密码登录").click_exists(timeout=10)

        # 输入用户名(文本控件-用set_text输入文字)
        self.d(resourceId="com.tal.kaoyan:id/login_email_edittext").set_text("12121212")
        # 输入password
        self.d(resourceId="com.tal.kaoyan:id/login_password_edittext").set_text("1121212")

        # 点击登录
        self.d(resourceId="com.tal.kaoyan:id/login_login_btn").click()

        # 等待页面出现(在10秒内,如果这个页面出现了,我们就进入下一步操作,
        if (self.d.wait_activity("com.tal.kaoyan.ui.activity.HomeTabActivity", timeout=10)):
            # 点击社区
            self.d(text="社区").click_exists(timeout=10)

        # 获取到屏幕的坐标
        x1 = int(self.size[0] * 0.5)
        y1 = int(self.size[1] * 0.9)
        y2 = int(self.size[1] * 0.15)

        while True:
            if self.d.toast.get_message(0)=="内同已经全部加载完了":
                close_app()
                return
            self.d.swipe(x1, y1, x1, y2)

if __name__ == '__main__':
    k = HandleKaoyanbang()
    k.handle_kaoyanbang_app()

转载请注明:虚坏叔叔 » app小程序手机端Python爬虫实战12实现自动化退出考研帮app并清空缓存

喜欢 (2)

您必须 登录 才能发表评论!