android js shell,使用adb shell+node.js实现抖音自动抢红包
这次给大家带来使用adb shell+node.js实现抖音自动抢红包,使用adb shell+node.js实现抖音自动抢红包的注意事项有哪些,下面就是实战案例,一起来看一下。
逻辑很简单,在抖音视频播完之后如果是红包视频,会跳出红包。 我们模拟逻辑如下:点击屏幕中央,如果有红包打开红包,没有红包则暂停视频。
点击返回按钮,如果有红包关闭红包界面,没有红包提示再按一次退出(其实没退出)。
进行上滑操作,进入下一个视频。
点击、返回、上滑,就这么三步行为,无论有红包没红包都成立,只要计算好时间就行。
代码
下面是一段 node.js 代码:
touch.jsvar 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()
打开手机的开发者模式,启动 USB调试 ,如果是小米请另外打开 USB调试(安全设置) 。连接手机,打开抖音主界面。将这个js保存到本地,使用node执行即可。$ node touch.js
如果发现抖音每20秒上滑一次,说明成功啦~
原理
类似使用 adb shell 来操作手机的文章还有操作跳一跳等,下面说下原理。child_process.exec(command[, options][, callback])
该方法功能为衍生一个 shell,然后在 shell 中执行 command,且缓冲任何产生的输出。具体可以看参考文档 其实就是等于执行脚本,shell命令了。 我们利用它来执行 adb shell 命令。
adb shell
adb 是电脑连接手机的开发工具,所有电脑对手机的操作其实都是adb 完成的,包括各种手机助手帮你装 APP 也是。 PS:做了这么久手机,今天才发现这个好玩的功能……汗……
adb shell 可以装apk、看手机信息、操作手机文件、模拟点击行为等功能,是非常强大的。我们这里主要是要模拟点击行为 adb shell input 。 下面罗列下各功能:// 输入文本 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个小时就几毛钱,不够电费的说。就当娱乐吧~
PS:下面介绍下Android keyevent 对应的值
Android keyevent 中的各个值,在使用adb shell input 的时候用得到。KEYCODE_UNKNOWN=0;
KEYCODE_SOFT_LEFT=1;
KEYCODE_SOFT_RIGHT=2;
KEYCODE_HOME=3;
KEYCODE_BACK=4;
KEYCODE_CALL=5;
KEYCODE_ENDCALL=6;
KEYCODE_0=7;
KEYCODE_1=8;
KEYCODE_2=9;
KEYCODE_3=10;
KEYCODE_4=11;
KEYCODE_5=12;
KEYCODE_6=13;
KEYCODE_7=14;
KEYCODE_8=15;
KEYCODE_9=16;
KEYCODE_STAR=17;
KEYCODE_POUND=18;
KEYCODE_DPAD_UP=19;
KEYCODE_DPAD_DOWN=20;
KEYCODE_DPAD_LEFT=21;
KEYCODE_DPAD_RIGHT=22;
KEYCODE_DPAD_CENTER=23;
KEYCODE_VOLUME_UP=24;
KEYCODE_VOLUME_DOWN=25;
KEYCODE_POWER=26;
KEYCODE_CAMERA=27;
KEYCODE_CLEAR=28;
KEYCODE_A=29;
KEYCODE_B=30;
KEYCODE_C=31;
KEYCODE_D=32;
KEYCODE_E=33;
KEYCODE_F=34;
KEYCODE_G=35;
KEYCODE_H=36;
KEYCODE_I=37;
KEYCODE_J=38;
KEYCODE_K=39;
KEYCODE_L=40;
KEYCODE_M=41;
KEYCODE_N=42;
KEYCODE_O=43;
KEYCODE_P=44;
KEYCODE_Q=45;
KEYCODE_R=46;
KEYCODE_S=47;
KEYCODE_T=48;
KEYCODE_U=49;
KEYCODE_V=50;
KEYCODE_W=51;
KEYCODE_X=52;
KEYCODE_Y=53;
KEYCODE_Z=54;
KEYCODE_COMMA=55;
KEYCODE_PERIOD=56;
KEYCODE_ALT_LEFT=57;
KEYCODE_ALT_RIGHT=58;
KEYCODE_SHIFT_LEFT=59;
KEYCODE_SHIFT_RIGHT=60;
KEYCODE_TAB=61;
KEYCODE_SPACE=62;
KEYCODE_SYM=63;
KEYCODE_EXPLORER=64;
KEYCODE_ENVELOPE=65;
KEYCODE_ENTER=66;
KEYCODE_DEL=67;
KEYCODE_GRAVE=68;
KEYCODE_MINUS=69;
KEYCODE_EQUALS=70;
KEYCODE_LEFT_BRACKET=71;
KEYCODE_RIGHT_BRACKET=72;
KEYCODE_BACKSLASH=73;
KEYCODE_SEMICOLON=74;
KEYCODE_APOSTROPHE=75;
KEYCODE_SLASH=76;
KEYCODE_AT=77;
KEYCODE_NUM=78;
KEYCODE_HEADSETHOOK=79;
KEYCODE_FOCUS=80;//*Camera*focus
KEYCODE_PLUS=81;
KEYCODE_MENU=82;
KEYCODE_NOTIFICATION=83;
KEYCODE_SEARCH=84;
KEYCODE_MEDIA_PLAY_PAUSE=85;
KEYCODE_MEDIA_STOP=86;
KEYCODE_MEDIA_NEXT=87;
KEYCODE_MEDIA_PREVIOUS=88;
KEYCODE_MEDIA_REWIND=89;
KEYCODE_MEDIA_FAST_FORWARD=90;
KEYCODE_MUTE=91;
好了,内容就介绍这么多。
相信看了本文案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!
推荐阅读:
android js shell,使用adb shell+node.js实现抖音自动抢红包相关推荐
- android js shell,利用adb shell和node.js实现抖音自动抢红包功能(推荐)
逻辑很简单,在抖音视频播完之后如果是红包视频,会跳出红包. 我们模拟逻辑如下: 点击屏幕中央,如果有红包打开红包,没有红包则暂停视频. 点击返回按钮,如果有红包关闭红包界面,没有红包提示再按一次退出( ...
- linux脚本红包,利用adb shell和node.js实现抖音自动抢红包功能(推荐)
逻辑很简单,在抖音视频播完之后如果是红包视频,会跳出红包. 我们模拟逻辑如下: 点击屏幕中央,如果有红包打开红包,没有红包则暂停视频. 点击返回按钮,如果有红包关闭红包界面,没有红包提示再按一次退出( ...
- 利用adb shell和node.js实现抖音自动抢红包功能
昨天回家发现家里人都在用抖音抢红包,看了下操作逻辑,发现规律后觉得可以用软件控制点红包,于是做了以下尝试. 运行环境 node.js adb 搭建过程网上很多,就不赘述啦~ 抢红包逻辑 逻辑很简单,在 ...
- Node.js 系列:构建原生 Node.js 应用
原生 Node.js 应用 Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境 Node.js 使用了一个事件驱动.非阻塞式 I/O 的模型,使其轻量又高效 Nod ...
- Node.js 框架设计及企业 Node.js 基础建设相关讨论
大家好,我是若川.19年我写的 lodash源码 文章投稿到海镜大神知乎专栏竟然通过了,后来20年海镜大神还star了我的博客,同时还转发了我的微博.时间真快啊.今天分享这篇Node.js的讨论. 2 ...
- node.js 模块_如何创建Node JS可重用模块
node.js 模块 In my previous post, we have discussed about "How to export and import a Node JS Mod ...
- 【Node.js】第一章 初识Node.js
目录 1.1 浏览器中的javascript的运行环境 1.2 Node.js 简介 1.1 浏览器中的javascript的运行环境 1. 浏览器的组成部分 2. javascript能在浏览器执 ...
- node JS獲取GPS_Python与Node.JS:哪一个最适合您的项目?
使用一组预定义因素对Python和Node.js进行详细比较 > Photo by Tim van der Kuip on Unsplash 在进行新项目时选择正确的编程语言可能是程序员经常做出 ...
- Node.js 寒假学习日志之Node.js
学习计划 ES6 Node.js VUE.JS Uni-App 学习日志之Node.js 2021/1/22 P3 http模块(http/s) //引入http(s)模块 PS:http与https ...
最新文章
- Android横竖屏切换继续播放视频
- jzoj4598. 【NOIP2016模拟7.9】准备食物
- C++利用栈实现计算器
- jQuery学习(五)—课堂实训题专栏
- 《构建之法》第4章读后感
- eclipse 输入提示插件_【STM32】搭建基于Eclipse平台的STM32调试环境
- leetcode—26.求前k大值与前k小值
- 为什么最好不用SSL免费证书? 免费ssl证书有什么不好?
- 传说中的“猴年马月”就要来了,感觉很多愿望都要实现啦!
- Web前端--HTML+CSS+JS实现3D立体魔方小游戏
- 演化博弈matlab代码,Matlab演化博弈仿真
- 有 4 件事,我很后悔
- PMP项目进度网络图详解——第3篇:CCPM关键链法
- 快速排序详细图解分析(含代码示例)
- 【Git】Git修改 commit 的信息
- 互连网、互联网、因特网、万维网、局域网、以太网 区别
- Java 爪哇学习(三) 基础
- ios 9 10 11 air mirror 交互协议
- 2020-11-21-卡农吉他谱
- 交通也迈入大数据时代:中国高速公路、铁路里程均居世界首位
热门文章
- idea中Web项目 class path resource [applicationContext.xml] cannot be opened because it does not exist
- uni-app引用外部css,在vue/uni-app中引入外部的css文件
- 成本--积分兑换商城搭建必须要考虑的核心问题
- 点击回退,拦截并弹窗 react 挽留弹窗
- python数据分析库有哪些餐厅_使用 Python 分析全国所有必胜客餐厅
- 新书推荐:《Android Studio开发实战:从零基础到App上线》终章
- linux网络命令大全
- 滴滴旗下小桔车服收购嗨修养车
- iOS开发 UILabel 详细介绍(属性+富文本)
- 使用JS解决TextArea换行失效