书接上文:https://www.jianshu.com/p/0e759365f8b1
这是auto.js的第二篇非官方教程~
前几天,写了一篇auto的入门教程,简单介绍了一下auto.js的各个内容和下载过程,顺带写了个“hello world”。那么应该就算是入门完毕了吧~
脚本毕竟是脚本,不同其他正常的学习语言,以做题来熟悉,脚本还是通过完成实例来完成要好得多。
那么本期的实例,便是,“抖音极速版自动刷视频脚本”。众所周知,现在大大小小的短视频APP都弄了不少的看视频赚现金领红包之类的玩法提高用户的留存率,这些看视频的钱说多不多说少也不少,每天有事没事的时候还是可以薅薅羊毛赚个一点点零花钱的,当然,前提是你的流量和电不要钱~
好,正式开始本文的脚本教程。在开始编写脚本前,我们要明确我们要实现的目标:在抖音极速版通过刷视频来获取金币!
1. 我们抓字眼逐步完成功能,首先我们要完成的目标就是 “在抖音极速版”,那么如何完成这一步呢?首先,auto.js提供了一个打开手机文件的功能函数,
app.launchApp(appName)
-
appName
{string} 应用名称
通过应用名称启动应用。如果该名称对应的应用不存在,则返回false; 否则返回true。如果该名称对应多个应用,则只启动其中某一个。
该函数也可以作为全局函数使用。
launchApp("抖音极速版");//打开抖音极速版
这个函数是直接通过查找手机应用的名字找到相应应用的名字,将上面代码中的”抖音极速版“换成其他应用也可以打开其他手机应用。
2. 打开APP后我们通常会进入首页的位置,也就是已经在刷视频了,但可能也有意外,这时我们要判断没进入刷视频界面的情况,让脚本自行进入。我们通过一个指令:click()来点击首页进入刷视频界面。(即使已经是这个界面了,点击一次也不会有影响。)
click(name)
-
name
{string} 点击的文字
通过判断文字,点击相应文字的位置,如果没有对应的文字,则返回false,否则返回true。
click("首页");//点击文字”首页“
这个代码用以点击文字用,脚本会根据代码要求,模拟点击相应的位置,这个代码用处非常广,只要把引号中的中文改了,就可以完成许多应用的一些日常操作。
3. 有同学做到这一步了,发现脚本运行后似乎并不会点击文字"首页",那么到底是哪一步出问题了呢?手机和电脑和人都一样,都是靠大脑来处理信息,也就是cpu,但手机的cpu反应速度要远比人的速度要快,所以,在手机运行比较慢的情况下,还没进入抖音极速版的界面,便已经完成点击的那一步代码了,自然便不会再点击一次了。所以,我们要让手机,慢下来!
sleep(n)
-
n
{number} 毫秒数
暂停运行n毫秒的时间。1秒等于1000毫秒。
sleep(1000);//延时1000毫秒。
当你发现你有些功能实现不了的时候,不要想太多,往功能前面加上延时就对了~具体延时多久自行根据手机反应速度判断。一般建议5秒最稳,也就是5000毫秒
4.那么已经进入界面了,前期的准备步骤已经完成了,下面就要开始刷视频了。刷视频通常都是通过视频的上滑或者下滑来完成。那么,我们要通过一个滑动的代码来完成这个操作。
swipe(x1, y1, x2, y2, duration)
-
x1
{number} 滑动的起始坐标的x值 -
y1
{number} 滑动的起始坐标的y值 -
x2
{number} 滑动的结束坐标的x值 -
y2
{number} 滑动的结束坐标的y值 -
duration
{number} 滑动时长,单位毫秒
模拟从坐标(x1, y1)滑动到坐标(x2, y2),并返回是否成功。只有滑动操作执行完成时脚本才会继续执行。
每个手机的坐标可能都不太一样,华为手机可以通过设置—系统—开发人员选项—指针位置,获取坐标位置,这里只推荐一个比较标准通用的上滑操作指令。
swipe(550, 1100, 450, 180, 500);
这里的标准是华为手机6.0寸屏幕,大家可以根据自己的情况自行调整。这里的上滑下滑肯定不止是用来刷视频用,就像我之前,写过一个左右滑动的代码,来自动翻页读小说。请灵活运用脚本。创造来源于生活,有需求才有发展!
5.上面这一步的滑动已经写好了,我们已经可以完成一次滑动的操作了,但要领红包,肯定是要不停滑动视频,才能保证红包源源不断的转动,难道我们要写好几十个滑动的代码?当然不是,任何程序都有自己的循环代码,非常方便。
js中的for循环和C语言是一样的:for(var i=1;i<=10;i++){
//运行内容
}
// i=1是初始次数,10是结束次数,灵活调整这个数字可以循环完成重复的操作。
那么我们自动滑动视频的代码该怎么写呢?这里只要把第4和第5的代码合二为一即可:
for(var i=1;i<=10;i++){
swipe(550, 1100, 450, 180, 500);
sleep(10000)
}
当然,这里要加上延时,避免两次操作重合
至此,一个简单的薅羊毛脚本已经完成了!让我们看一下这个脚本,一共用了几个代码。
- app.launchApp(appName)//打开文件
- click(name)//点击文字
- sleep(n)//延时函数
- swipe(x1, y1, x2, y2, duration)//滑动屏幕
- for循环//写循环
是不是觉得非常简单?
最后补上整段代码(部分优化),上一篇教程已经下载好auto.js 的同学可以尝试一下。
launchApp("抖音极速版");
sleep(1000);
click("首页");
for(var i=1;i<=10;i++){
if(i%5==0){
swipe(550, 880, 450, 1800, 500);
sleep(10000);
toast("这是第"+(i)+"次滑动,已运行"+(i*10)+"秒");
}
else{
swipe(550, 1080, 450, 180, 500);
sleep(10000);
toast("这是第"+(i)+"次滑动,已运行"+(i*10)+"秒");
}
}