uiautomator2安卓自动化 批量喜欢、评论抖音快手视频
源代码如下
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
| # -*- coding: utf-8 -*- import uiautomator2 as u2 import time import random import logging #python -m uiautomator2 init 代码运行前需要初始化,cmd中执行该命令,结束后需要关闭服务看下面的注释 ''' 功能: PC端运行代码,自动化操控安卓手机,批量喜欢、评论抖音视频 代码主要是练习分享uiautomator2的使用,其实最开始是为了每天批量签到获得积分的(如果你用几十个号需要签到手点是很痛苦的), 编写了签到的代码,但是因为违规删帖了。 原理: uiautomator2 实现手机的自动化调试,网上一大堆教程。 代码会先点击喜欢按纽,然后点击评论,激活评论输入框后,随机输入textlist列表中的评论语并发送 返回到视频播放页,下滑进行下一个视频操作 准备: 1. python安装uiautomator2、random: pip3 install --pre -U uiautomator2 -i https://pypi.tuna.tsinghua.edu.cn/simple pip3 install random keyboard -i https://pypi.tuna.tsinghua.edu.cn/simple 2.安卓手机数据线连接电脑(传输文件,需非充电),并打开开发者选项中的usb调试、use模拟点击(小米,否则报32001 Jsonrpc error) cmd中运行:python -m uiautomator2 init 成功初始化后,手动点开抖音, 修改下面的textlist评论语列表,如果你只是批量喜欢而不需要评论,修改71行为like(d,0),运行代码 中途不想运行了,按ctrl+c中止,用完了之后,手机上ATX软件>停止ATXAGENT 停止UIATOMTOR 或者取消注释最后一行代码 提示: pip3 install -U appinspector UI查看器,weditor的新版本, 代码是在armV8 荣耀20上测试的,如果你发现代码无效,学习uiautomator2,需要用动appinspector,修改相关按纽的xpath ''' def like(d,type): try: like = d.xpath("%点赞%") like.click() time.sleep(2) if type == 1: talk(d,textlist) except Exception as e: print(e) pass def talk(d,textlist): try: d.xpath('评论%').click() #点击评论 time.sleep(3) #d.press("enter") #会出错 #d.click(320, 2135) #评论输入框的图标,激活评论框的另一种方法 d.xpath("//android.widget.EditText").click() #点击并激活评论框 time.sleep(1) text1 = random.choice(textlist).strip('\n') d(focused=True).set_text(text1) time.sleep(1) d.xpath('发送').click() time.sleep(1) d.press("back") except Exception: input('评论出错,请手动评论返回到视频播放页:') textlist = ['太好了','喜欢','开心'] if __name__ == '__main__': d = u2.connect() # connect to device d.xpath.logger.setLevel(logging.DEBUG) #默认是logging.INFO #d.app_start('com.ss.android.ugc.aweme') time.sleep(1) while True: try: like(d,1) #like(d,1) 喜欢并评论 like(d,0) 只喜欢不评论 d.swipe_ext("up",scale=0.9) time.sleep(3) except KeyboardInterrupt: break print('你已手动停止,程序结束') #d.service("uiautomator").stop() #停止ATXAGENT 停止UIATOMTOR,代码再次运行需要重新init
|