技术理论
安装教程
推荐⼯作模式
注意事项
附录代码
软件准备
auto.js或者 auto.js pro版。auto.js⽬前官⽅已经停⽌更新,pro版本需要收费。⾃⾏百度下载 auto.js
技术理论
通过Javascript脚本,实现模拟点击。对于熄屏解锁,不同⼿机型号屏幕像素不⼀样,因此⽆法做到通⽤适配。⼤家可以⾃⾏编写代码实现。
安装教程
2.新建脚本,把代码复制进去。
3.保存,设置定时任务(每天固定打卡)
具体如下:
按照上⾯步骤,保存后,在主界⾯上点击三⾓形就会⽴马运⾏。点击旁边的三个点可以设置定时任务,定时设置为每天⼗⼀点,这个时间段⼤部分⼈⼿机处于亮屏状态。
推荐⼯作模式
不建议⽤上⾯的定时⽅式,因为不同机型后台管理机制有所差异,会结束auto.js的进程。建议使⽤创建快捷⽅式的模式。如上⾯最后⼀张图的 “定时任务”下⾯就是创建桌⾯快捷⽅式。如果创建失败,请在系统设置⾥⾯给予auto.js创建快捷⽅式权限。创建快捷⽅式后,只需要点击桌⾯图标,就能够⾃动运⾏。
起泡胶的简单做法注意事项
1.该脚本模拟的是⾸页下拉点击⼩程序进⼊。因此⾸页下拉⼩程序必须要有“嘉办事”否则执⾏失败。
2.为保证正常运⾏请授予auto.js软件⾃启、后台常驻、省电忽略、⽆障碍等权限。
3.若没开启⽆障碍,运⾏脚本时会⾃动跳转⽆障碍选项。
4.打卡成功后,会⾃动截图。截图会保存在⼿机存储的根⽬录。⽂件名是“⾃动打卡(查看⽇期)”,可以通过截图的⽇期详细信息判断打卡是否成功。若⽆截图,说明打卡出现问题。第⼆次打卡截图会覆盖第⼀次打卡的图⽚,⽆论你打卡多少次,都只会仅有⼀张截图。查看截图的⽇期,就可以知道有没有打成功。
5.请勿将运⾏本脚本与打卡成功进⾏等价,最后打卡成功与否⼀定要看有没有截图!!没有截图则需
要以及重新⼿动打卡⼀遍。
6.本脚本只是⽅便⽤户打卡,成功率因机型⽽异。切勿成为与⽣活委员、班长、学委、⽼师等争论依据。若打卡不成功请及时与我联系!
7.如果给予了⽆障碍权限后运⾏脚本还是跳转到⽆障碍的设置界⾯,此时可以尝试⼿动结束auto.js进程,然后重新打开 auto.js,在⾥⾯重新启⽤⽆障碍模式。如果不⾏,多试⼏遍即可。(部分机型可能会出现该问题.)
附录代码
auto.waitFor();
if (!device.isScreenOn()) {
device.wakeUp();
sleep(2000);
swipe((device.width) * 3 / 4, (device.height) * 3 / 4, (device.width) * 2 / 4, (device.height) * 2 / 4, 1000);
三皇五帝指的是哪三皇哪五帝var i;
var i;
装修贷款for (i = 0; i < 4; i++) {
sleep(500);
click(541, 2139.0);
}
console.log("⾃动解锁成功!");
sleep(2000);
}
console.show();
console.setSize(447, 502);
console.setPosition(300, 1350);
console.log("打卡开始 ^_^");
var appName = "";
launchApp(appName);
text("").waitFor(); //等待加载发现页⾯.text('')
console.log("进⼊⾸页");
var widget = className("TextView").depth(13).findOne();
click(widget.bounds().centerX(), widget.bounds().centerY());
console.log("操作成功,正在进⼊下⼀步(1/5)");
sleep(1000);
console.log("下滑⼩程序界⾯....");
swipe((device.width) / 4, (device.height) / 4, (device.width) * 3 / 4, (device.height) * 3 / 4, 1000); text("最近").waitFor();
var widget1 = text('嘉办事').findOne();
click(widget1.bounds().centerX(), widget1.bounds().centerY());
console.log("操作成功,正在进⼊下⼀步(2/5)");
console.log("进⼊打卡⼩程序...");
//sleep(2000);
text("⽇常健康打卡").waitFor();
var target2 = text('⽇常健康打卡').findOne();
click(target2.bounds().centerX(), target2.bounds().centerY());
console.log("操作成功,请确保⽹络畅通(3/5)");
sleep(3000);
var target3 = text('直接提交').findOne();
click(target3.bounds().centerX(), target3.bounds().centerY());
console.log("提交成功,打卡结束(4/5)");
sleep(3000);
threads.start(function() {
undefined
var beginBtn;
if (beginBtn = classNameContains('Button').textContains('允许').findOne(2000)) { undefined
beginBtn.click();
}
});
/
/ 此处findOne(2000)是为了限制查时间,如果留空,不到就会⼀直。
if (!requestScreenCapture()) {
undefined
toast("请求截图失败");
演员袁枚exit();
};
sleep(3000);
console.log("开始截图");
captureScreen("/storage/emulated/0/截图保存(查看⽇期)" + ".jpg");
console.log("截图成功!(5/5)");
sleep(3000);
穿越火线结局
var target4 = id(':id/fi').findOne();
click(target4.bounds().centerX(), target4.bounds().centerY());
console.log("正在进⾏结束操作,请稍等..");
var target5 = className("android.widget.ImageButton").indexInParent(2).findOne(); click(target5.bounds().centerX(), target5.bounds().centerY());
console.log("再见 ~^_^~");
林宥嘉sleep(3000);
console.hide(); //隐藏控制台;
exit();
发布评论