利用adb shell和node.js实现抖音自动抢红包功能
运行环境
搭建过程网上很多,就不赘述啦~ 抢红包逻辑逻辑很简单,在抖音视频播完之后如果是红包视频,会跳出红包。 点击、返回、上滑,就这么三步行为,无论有红包没红包都成立,只要计算好时间就行。 代码下面是一段 touch.js var process = require('child_process');
function exec(shell) {
process.exec(shell,function (error,stdout,stderr) {
if (error !== null) { console.log('exec error: ' + error); }
});
}
function click() {
console.log('click')
exec(`adb shell input tap 400 600`)
setTimeout(back,1000)
}
function swipe() {
console.log('swipe')
exec(`adb shell input swipe 400 800 400 0 500`)
setTimeout(click,20000)
}
function back() {
console.log('back')
exec(`adb shell input keyevent 4`)
setTimeout(swipe,1000)
}
swipe()
打开手机的开发者模式,启动 $ node touch.js
如果发现抖音每20秒上滑一次,说明成功啦~ 原理类似使用 adb shell 来操作手机的文章还有操作跳一跳等,下面说下原理。 child_process.exec(command[,options][,callback])该方法功能为衍生一个 shell,然后在 shell 中执行 command,且缓冲任何产生的输出。具体可以看参考文档 adb shelladb 是电脑连接手机的开发工具,所有电脑对手机的操作其实都是adb 完成的,包括各种手机助手帮你装 APP 也是。 adb shell 可以装apk、看手机信息、操作手机文件、模拟点击行为等功能,是非常强大的。我们这里主要是要模拟点击行为 // 输入文本 content
$ adb shell input text “hello” // 点击返回按钮 keynumber
$ adb shell input keyevent 4 // 点击屏幕某个点 x y
$ adb shell input tap 400 400 // 滑动 x1 y1 x2 y2 time
$ adb shell input swipe 400 800 400 0 500 // 下面三个不太清楚,再研究
$ adb shell input press
$ adb shell input roll
$ adb shell input tmode
更多按键对应值可以看Android keyevent 对应的值 最后这其实是个很简单的逻辑,但是给我很多启发,以后再有什么简单的操作就可以使用adb和node来重复执行啦~ 最后吐槽下:抖音的红包真的少,昨天刷了3个小时就几毛钱,不够电费的说。就当娱乐吧~ (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |