最近有几款比较火的刷短视频就可以领红包的App,只要简单的上下翻页浏览视频App就会自动计时累计红包,小编也快乐地参与到其中,由于浏览时间过长眼睛常常感觉到疲惫,手指也有点酸痛,根据多年的程序员思维,简单重复的工作必定有可以代替的方案,下面就跟着我的思维学习如何用Python实现自动刷视频领红包功能
首先这里只实现对Android手机的翻页刷视频功能,手机也不需要Root,保证了手机数据的安全性。
我们在实际开发App或者测试App的工作中,常常使用到ADB命令,实现对App的安装、卸载和测试,为了调试或者测试的方便,Android系统支持ADB 命令,这里只讲我们今天用到的adb shell input 模拟命令,可以模拟我们人手指滑动屏幕,这里简单说明input swipe的使用规范
adb shell input 命令格式
这里模拟滑屏只使用swipe [duration(ms)] (Default: touchscreen)
x1 起始位置x轴坐标 (指竖屏时水平线)y1 起始位置y轴坐标(指竖屏时垂直线)
x2 结束位置x轴坐标 (指竖屏时水平线)y2 结束位置y轴坐标(指竖屏时垂直线)
duration(ms) 指从起始坐标滑动到结束坐标用时,单位为毫秒
明确了x1、y1、x2、y2和duration 5个参数就可以滑动屏幕
首先我们输入一组参数做验证,这里以现在主流手机分别率1080*1920 并向上滑动1s为例
从手机屏幕的中心点向上滑动的手机屏幕边缘
adb shell input swipe 540 960 540 0 1000
adb 模拟向上滑动
正常情况下执行上述命令后手机页面就会自动向上滑动,部分手机可能需要在系统设置进入开发者选项中打开调试模式和模拟滑动开关,小米手机的话需要登录小米账号才有效果。
小米手机开发者选项
通过上面的介绍,我们已经掌握了adb shell input swipe 命令的使用方式,下面介绍使用python脚本自动不停的执行上述命令,就可以简单实现不断的滑动屏幕。
我的的实现思想:执行adb shell input swipe 延时一段时间再继续执行adb shell input swipe 这样不停的重复执行。
这里需要输入系统命令,必需通过import导入os库
import os
def swipe_up(size=[1080,1920], t=1000, n=1):
x1 = size[0] * 0.5
y1 = size[1] * 0.5
x2 = size[0] * 0.5
y2 = size[1] * 0.0
for i in range(n):
os.system("adb shell input swipe %f %f %f %f %d" % (x1, y1, x2, y2, t))
if __name__== '__main__':
swipe_up()
综上所述,我们实现了自动滑动屏幕的功能,如果这时手机打开短视频App的情况下,就可以实现自动翻页领取红包了,在实际使用过程中可能有多台手机同时连接电脑这种需要怎么处理下一遍我们接着讲。
测试自动翻页功能
声明:本节内容只用于学习熟悉adb shell input swipe命令,不可用于违法犯罪