app小程序手机端Python爬虫实战16-通过U2实现滑动手机视频

uiautomator 虚幻 170℃ 0评论

app小程序手机端Python爬虫实战15-通过U2实现滑动手机视频

import uiautomator2 as u2

class Douyin(object):
    # 在__init__
    def __init__(self, serial="127.0.0.1:62001"):
        self.d = u2.connect_usb(serial = serial)
        self.handle_watcher()
        self.start_app()
        self.size = self.get_windowsize()

    def start_app(self):
        """启动app"""
        self.d.app_start(package_name="com.ss.android.ugc.aweme")

    def handle_watcher(self):
        # 取消通知权限
        self.d.watcher.when('//*[@resource-id="com.ss.android.ugc.aweme:id/a4r"]').click()
        # 发现滑动查看更多
        self.d.watcher.when('//*[@text="滑动查看更多"]').click()
        # 监控器写好之后 通过start方法启动
        self.d.watcher.start()

    def get_windowsize(self):
        """获取窗口大小"""
        return self.d.window_size()

    def swipe_dou(self):
        """滑动抖音视频和点击视频发布者头像的操作"""
        # 判断是否正常的进入到视频页面
        # 考虑网络情况
        if self.d(resourceId="com.ss.android.ugc.aweme:id/yy", text="我").exists(timeout=20):
            while True:
                # 查看是不是正常的发布者(有加关注就不是广告)
                if self.d(resourceId="com.ss.android.ugc.aweme:id/u0").exists:
                    # 是正常的发布者,点击头像
                    self.d(resourceId="com.ss.android.ugc.aweme:id/tw").click()
                    # 返回
                    self.d(resourceId="com.ss.android.ugc.aweme:id/et").click()

                if self.d(resourceId="com.ss.android.ugc.aweme:id/yy", text="我").exists:
                    # 进入正常的视频页面 开始下滑
                    x1 = int(self.size[0] * 0.5)
                    y1 = int(self.size[1] * 0.9)
                    y2 = int(self.size[1] * 0.15)
                    self.d.swipe(x1, y1, x1, y2)

if __name__ == '__main__':
    k = Douyin()
    k.swipe_dou()

转载请注明:虚坏叔叔 » app小程序手机端Python爬虫实战16-通过U2实现滑动手机视频

喜欢 (0)

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