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