用Airtest做点有意思的事情,先来刷个抖音?
手边没有android手机,iOS又懒得搭ios-tagent的环境,于是采用最偷懒的方式:
- 夜神模拟器(可用安卓机代替)
- AirtestIDE
夜神模拟器装上抖音,用起来跟手机上一样舒服。看了下模拟器占内存200m和CPU 12%左右,还不错。夜神自带了一个多开器,后面分布式刷抖音再玩玩
打开AirtestIDE,按照文档连接好模拟器
为了每次能用代码自动打开抖音,先用右上角的安卓助手查看一下抖音的package id
手动加上代码
APP = "com.ss.android.ugc.aweme"
stop_app(APP)
start_app(APP)
然后将AirtestIDE调到安卓App的录制模式,进行一些操作,对应的代码就录制下来了
自动录制的代码不太好,稍微调整一下
poco(boundsInParent="[0.03194444444444444, 0.02734375]").click()
直接改成通过text
来识别按钮
poco(text="我").click()
后面的上划操作,改成上划屏幕的60%
poco("com.ss.android.ugc.aweme:id/ak2").swipe([0, -0.6])
然后按F5
运行一遍,一切正常
简单地修改下最后一行代码,就能一直刷下去了
for i in range(10):
poco("com.ss.android.ugc.aweme:id/ak2").swipe([0, -0.6])
sleep(1)
继续用IDE的录制功能,进行点赞操作,生成下面的代码
poco("com.ss.android.ugc.aweme:id/al8").click()
原来抖音需要登录之后才能点赞,先手动登录吧,代码里面留个TODO
if poco(text="输入手机号码").exists():
# TODO: 自动登录
print("先手动登录一下吧~")
break
然后我们截个图留念
snapshot()
再运行一下,效果非常好
tips: 点击IDE工具栏的
log
按钮,你还能看到每步操作的报告。
这个脚本里面没有用到图像识别,单个py文件就够了。于是我们从douyin.air
里面取出代码文件。这样可以用你喜欢的编辑器打开修改,用python直接运行了。
最终代码在code/douyin.py,直接python运行。
python douyin.py
- 录屏替代截图
- 多开&分布式
- 图像识别小姐姐点赞