逻辑很简单,在抖音视频播完之后如果是红包视频,会跳出红包。 我们模拟逻辑如下:

点击屏幕中央,如果有红包打开红包,没有红包则暂停视频。

点击返回按钮,如果有红包关闭红包界面,没有红包提示再按一次退出(其实没退出)。

进行上滑操作,进入下一个视频。

点击、返回、上滑,就这么三步行为,无论有红包没红包都成立,只要计算好时间就行。

代码

下面是一段 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()

打开手机的开发者模式,启动 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;

好了,内容就介绍这么多。

linux脚本红包,利用adb shell和node.js实现抖音自动抢红包功能(推荐)相关推荐

  1. android js shell,利用adb shell和node.js实现抖音自动抢红包功能(推荐)

    逻辑很简单,在抖音视频播完之后如果是红包视频,会跳出红包. 我们模拟逻辑如下: 点击屏幕中央,如果有红包打开红包,没有红包则暂停视频. 点击返回按钮,如果有红包关闭红包界面,没有红包提示再按一次退出( ...

  2. 利用adb shell和node.js实现抖音自动抢红包功能

    昨天回家发现家里人都在用抖音抢红包,看了下操作逻辑,发现规律后觉得可以用软件控制点红包,于是做了以下尝试. 运行环境 node.js adb 搭建过程网上很多,就不赘述啦~ 抢红包逻辑 逻辑很简单,在 ...

  3. android js shell,使用adb shell+node.js实现抖音自动抢红包

    这次给大家带来使用adb shell+node.js实现抖音自动抢红包,使用adb shell+node.js实现抖音自动抢红包的注意事项有哪些,下面就是实战案例,一起来看一下. 逻辑很简单,在抖音视 ...

  4. 利用JS制作抖音同款3D照片墙(three.js)

    利用JS制作抖音同款3D照片墙(three.js) 520快到了,跟我一起学习threeJS 用threeJS制作抖音同款3D照片墙 源码下载:3D照片墙源码下载地址

  5. Node.js实现网络新闻爬虫及搜索功能(一)

    Node.js实现网络新闻爬虫及搜索功能(一) Node.js实现网络新闻爬虫及搜索功能(一) 项目要求 一.爬虫部分 1. 引入相关包 2. 建立数据库连接 3. 爬取并解析网页首页 4. 爬取并解 ...

  6. Node.js实现网络新闻爬虫及搜索功能(四)

    Node.js实现网络新闻爬虫及搜索功能(四) Node.js实现网络新闻爬虫及搜索功能(四) 项目要求 三.搜索网站部分 1. 建立前端网页 2. 建立后端路由 Node.js实现网络新闻爬虫及搜索 ...

  7. 十 Node.js实现微信小程序支付功能

    十 Node.js实现微信小程序支付功能 一 开发前提 二 支付流程介绍 三 上代码 1.小程序端发起后台请求,完成统一下单 1.1 小程序端发起后台请求 1.2 Node.js后台接收请求,完成统一 ...

  8. html5弹球打砖块代码,利用JS实现抖音弹球打砖块游戏代码

    特效描述:利用JS实现 抖音弹球 打砖块 游戏代码.利用JS实现抖音弹球打砖块游戏代码 代码结构 1. HTML代码 0分 总分:74 确定 /* javascript中严格区分大小写 a!==A; ...

  9. Android 手机上利用adb shell模拟手机相关操作

    1.连接安卓手机,进入cmd窗口: 2.执行adb shell + "input tap x y"执行点击屏幕上(x,y)的操作. 应用:如果有一个需要测试的安卓应用,可以分别精确 ...

最新文章

  1. swift 中拨电话的实现
  2. HttpWebRequest.GetResponse() raises exception when http status code 400 (bad request) is returned
  3. Ubuntu 16.04 64位安装arm-linux-gcc交叉编译器以及samba服务器
  4. POJ2301+水~~~~~~
  5. 小学 n 阶乘的后面包含多少零c语言,C语言---求n的阶乘后面有多少个连续的0
  6. boost::contract模块实现check的测试程序
  7. ubuntu中怎么打开python_如何在Linux Ubuntu 16.04下安装及打开PyCharm
  8. 前端学习(3124):react-hello-react之对props进行限制
  9. html插入图片出现红叉,网页图片显示红色叉怎么回事 网页图片有些不显示的有效解决方法...
  10. 我的conky 配置(拆分版)
  11. SpringBoot配置RestTemplate的代理和超时时间
  12. matlabpython建模_参加数学建模用 MATLAB,还是 Python?
  13. [2018.10.17 T1] 斜率
  14. MATLAB通信系统建模与仿真
  15. 网络安全设备Bypass功能分析
  16. Linux 安装 Hive教程
  17. 推荐这几个数据大屏可视化开发工具
  18. 一步一步做高性能服务器(C++) -- Day 0
  19. 【MDX】一文带你搞懂SQL Server Analysis Services 的安装和使用
  20. d类数字功放芯片音质怎么样?

热门文章

  1. 四川大学全课表下载程序(python爬虫)
  2. 快速入门脑机接口:BCI基础(一)
  3. 详谈 左晖 - 阅读笔记
  4. 佟强在经贸大学的个人介绍
  5. 【附源码】计算机毕业设计java智能交通信息管理平台设计与实现
  6. vue 生成二维码并下载
  7. HGP03参数监视软件
  8. ASO优化:关于后台关键词设置的逗号的使用
  9. 车牌号校验正则表达式
  10. 周期序列傅里叶级数的Matlab实现