在前两篇文章出后,很多同学网课其他的自动签到怎么搞,其实无论什么软件的自动签到,点击、监视操作之类的都是一类代码,而且非常简单,今天给大家讲一下如何自己编写实用的js脚本。

首先需要下载auto.js

这里我用auto.js 4.1来教学

由于接下来的教学会涉及到很多获取手机上的坐标,下面先教大家如何获取坐标

这里以oppo为例

1.打开设置,找到关于手机,连续点击版本号,进入开发者模式

2.点击其他设置->开发者选项->指针位置打开

屏幕上会定位一个点,在最上面的x和y就是这个点的坐标(x,y)

1.常用的函数

1.toast()/toastLog

toast("start");//在手机上弹出toast小弹窗toastLog("start")//在手机上弹出toast小弹窗

2.click()

click(x,y);//点击坐标(x,y)

3.sleep

sleep(time);//time这里是数字,1000就是1s

这里也可以用乘积的形式表示time

sleep(60*60*1000);//等待一小时

4.swipe

swipe(x1,y1,x2,y2,z);//从(x1,y1)经过z秒滑动到(x2,y2)

swipe一般用于下滑界面,解锁之类的操作

5.press()

press(x,y,z);//在(x,y)长摁z秒

这几个是比较常用的一些函数,下面是一些一般连用的函数,讲的会比较简略,在项目实战中详细讲解

6.exists()

exists();//判断是否出现

7.text()

text("签到");//常与exists()连用text("签到").exists();//表示签到出现时

8.id()

id();//使用方法同text

9.desc()

desc();//使用方法同text

10.findOne()

findOne();//寻找,常与text(),id(),desc()连用text("签到”).findOne();//找到签到按钮

这些就是大家要学习的基本函数,有了这些再加上一些基本的语句,你就可以编写小程序啦

2.项目教学实战

至于我为什么推荐这个auto.js,是因为这款软件对新手十分友好,它甚至可以自动生成代码

下面是我编写的自动签到的程序

toast("start");
auto.waitFor();
for (; ;) {
if (text("签到").exists()) {
text("签到").findOne().click();
toastLog("success1");
}
if (text("懂了").exists()) {
text("懂了").findOne().click();
toastLog("success2");
}
}
toast("finish");
由于“签到”和“懂了”的原理是一样的,所以我把“懂了”部分删去
toast("start");
auto.waitFor();
for (; ;) {
if (text("签到").exists()) {
text("签到").findOne().click();
toastLog("success1");
}
}
toast("finish");

下面给大家逐句讲解

toast("start");//显而易见,在手机上显示start小弹窗auto.waitFor();//这是可有可无的一句

接下来这是一个死循环的模板,循环体需要用大括号括起来

for (; ;){}

while(1){}

for(var i=1;;i++){} //常见死循环模板

至于这些模板的意思是什么我接下来几篇文章会介绍

再来介绍一下if语句

if(条件){语句}//判断模板

if (text("签到").exists()){//当签到弹窗出现时 text("签到").findOne().click();//找到签到按钮并点击 toastLog("success1");//弹窗并在日志输出成功 }

最后一句其实是可有可无的,因为这是死循环,该语句不会出现。

现在很多同学会问了,怎么看这个的属性呢?

现在这个软件的优点就显露出来了

在你想要的页面

打开软件的悬浮窗,点击中间的蓝色标志

点击布局范围分析

我们以点击qq为例

点击你想要自动点击的地方

点击查看控件信息

会出来这么多让你头疼的东西

虽然这么多,但是我们只需要看几个就可以

clickable

这个是这个按钮是否可以点击,若可以则为true,不可以则为false

id,desc,text

如上图,这里的id是空,desc是空,text是"QQ"

所以如果要点击的话代码如下

text("QQ“).findOne().click();
desc和id同理
desc("xx“).findOne().click();id("xx“).findOne().click();

如果看懂了这些,你应该就可以写出简单的脚本啦

也可以看一下我的其他几篇有关文章,几篇文章一起学习会更快哦弹吉他的斯大林同志:网课终结者——基于auto.js的无限宝自动签到软件以及facerig控制摄像头内容zhuanlan.zhihu.com弹吉他的斯大林同志:网课终结者——基于auto.js的无限宝自动签到教程(电脑版)zhuanlan.zhihu.com

如果有不会的问题可以在问题下留言,每一条都会回复