Autojs6起点自动签到及做任务脚本
使用具备环境
所用 Auto.js 版本为 Autojs6。
测试手机为华为 Mate30,配合李跳跳一起使用。
自动保存日志可以查看,路径为脚本/起点日志 .txt。
更新记录:
1.2023 年 03 月 27 日 增加打开联网应用联网,增加自动解锁屏幕,现在可以定时自动完成
签到及做任务了。需要根据自己的情况删除打开 gwifi 的代码和更改为自己的解锁密码。
代码如下:
[mw_shl_code=javascript,true]"auto" // 系统配置初始化
auto.waitFor();
/* 测试正常后注释掉,log 不再控制台显示,
从 autoJs 此脚本设置菜单可查询 log. 如不需要运行 log,将所有 log 全部注释掉即可 */
console.setGlobalLogConfig({ "file": "/sdcard/ 脚本 / 起点日志 .txt" });
console.show();
console.log(" 调整位置 ...");
console.setPosition(0, 800);
device.setBrightnessMode(0);
device.setBrightness(20);
setScreenMetrics(1080, 2340);// 可不设置,理论上自适应各个主流分辨率
// 存储记录初始化
currentTime = new Date();
var currentDate = currentTime.getFullYear() + "-" + (currentTime.getMonth() + 1) + "-" + currentTime.getDate();
currentDate.toString();
var storage = storages.create("QDReaderCheck");
log(" 初始化完毕 ");
log(" 检查当前日期:" + currentDate);
console.hide();
sleep(1000)
console.hide();
unlock()
// 打开 GWIFI 联网
launch("com.gbcom.gwifi");
waitForPackage("com.gbcom.gwifi");
log("GWIFI 启动完成 ");
sleep(10000);
killApp("com.gbcom.gwifi")
sleep(1000);
home()
sleep(1000);
// 输入密码
function password_input()
{
var password = "******"
for(var i = 0; i < password.length; i++)
{
var p = text(password[i].toString()).findOne().bounds();
click(p.centerX(), p.centerY());
sleep(100);
}
}
// 解锁屏幕
function unlock()
{
if(!device.isScreenOn())
{
device.wakeUp();
sleep(500);
swipe(500,2000,500,1000,210);
password_input();
}
}
// 启动起点读书开始执行脚本功能
launch("com.qidian.QDReader");
waitForPackage("com.qidian.QDReader");
log(" 起点读书启动完毕 ");
sleep(7000);
var btnOk =id("btnOk").findOnce();
if (btnOk != null){
btnOk.click();
sleep(1000);
}
var qiandao=id("button_text_id").className("android.widget.TextView").text(" 签到 ").findOne(1000);
if (qiandao!=null){
log(" 判断是否签到 ")
click(qiandao.bounds().centerX(), qiandao.bounds().centerY())
toast(" 签到完成!");
log(" 判断退出键是否出现 ")
var tuichuqiandao=className("android.widget.ImageView").depth(5).findOne(1000);
click(tuichuqiandao.bounds().centerX(), tuichuqiandao.bounds().centerY())
sleep(1000)
var btnOk =id("btnOk").findOnce();
if (btnOk != null){
btnOk.click();
sleep(1000);
}
zuorichang()
toast(" 每日福利已完成,自动退出 ");
sleep(1000);
killApp("com.qidian.QDReader")
sleep(1000);
home()
engines.stopAllAndToast();
}
else{
toast(" 您已经签到过了!");
zuorichang()
toast(" 每日福利已完成,自动退出 ");
sleep(1000);
killApp("com.qidian.QDReader")
sleep(1000);
home()
engines.stopAllAndToast();
}
function zuorichang(){
log(" 做日常中 ")
var dianjiwo =id("view_tab_title_title").className("android.widget.TextView").text(" 我 ").findOne(1000);
if (dianjiwo!= null) {
click(dianjiwo.bounds().centerX(),dianjiwo.bounds().centerY());
}
var fulizx=className("android.view.ViewGroup").childCount(3).depth(16).drawingOrder(1).row(0).findOne(1000);
if (fulizx!= null) {
click(fulizx.bounds().centerX(),fulizx.bounds().centerY());
}
sleep(3000)
var tiaoguo=text(" 跳过教程 ").findOne(1000);
if (tiaoguo!= null) {
click(tiaoguo.bounds().centerX(),tiaoguo.bounds().centerY());
}
AutoRW()
gestures([350, [540, 2000], [540, 1000]]);
sleep(1000);
var kanship=text(" 看视频 ").findOne(1000);
if (kanship!=null)
{
click(kanship.bounds().centerX(),kanship.bounds().centerY());
closeAD();
sleep(1000);
}
gestures([350, [540, 2000], [540, 1000]]);
var kanship=text(" 看视频 ").findOne(1000);
if (kanship!=null)
{
click(kanship.bounds().centerX(),kanship.bounds().centerY());
closeAD();
sleep(1000);
var happyget=bounds(129,1473,951,1620).findOne(1000);
if (happyget!=null)
{
log(" 自动点击开心收下 ");
click(happyget.bounds().centerX(), happyget.bounds().centerY())
log(" 点击成功 2");
sleep(1000);
}
else
{
click(540,1545);
log(" 点击成功 3");
sleep(1000);
}
}
}
// 关闭广告
function closeAD()
{
log(" 等待广告加载…");
var a1= text(" 观看完视频,可获得奖励 ").exists();
var b1= text(" 观看视频 15 秒后,可获得奖励 ").exists();
if (a1||b1) {
log(" 广告加载完毕,播放中…");
}
var a= text(" 观看完视频,可获得奖励 ").findOnce();
var b= text(" 观看视频 15 秒后,可获得奖励 ").findOnce();
while (a==null&&b==null) {
sleep(1000);
closeAD();
break;
}
if(b!=null){
sleep(15500);
var closedad=className("android.view.View").bounds(66,147,114,198).findOne(1000);
if (closedad!=null){
log(" 自动点击退出按钮 ");
click(closedad.bounds().centerX(), closedad.bounds().centerY())
}
else{
log(" 点击退出按钮 ");
click(92,170);
}
}
if(a!=null){
sleep(8500);
var closedad=className("android.view.View").bounds(63,144,117,201).findOne(1000);
if (closedad!=null){
log(" 自动点击退出按钮 ");
click(closedad.bounds().centerX(), closedad.bounds().centerY())
}
else{
log(" 点击退出按钮 ");
click(92,170);
}
}
}
// 关闭应用
function killApp()
{
let packageName = currentPackage();
app.openAppSetting(packageName);
sleep(random(1000, 2000));
text(app.getAppName(packageName)).waitFor();
let is_sure = textMatches(/(.* 强 .*|.* 停 .*|.* 结 .*|.* 行 .*)/).findOne();
if (is_sure.enabled()) {
textMatches(/(.* 强 .*|.* 停 .*|.* 结 .*|.* 行 .*)/).findOne().click();
sleep(500);
click(764,2178);
log(app.getAppName(packageName) + "应用已被关闭 ");
sleep(random(1000, 2000));
back();
} else {
log(app.getAppName(packageName) + "应用不能被正常关闭或不在后台运行 ");
back();
sleep(random(1000, 2000));
}
}
// 自动任务
function AutoRW()
{
log(" 等待进入福利中心…");
var c1= bounds(132,1371,948,1494).exists();
var d1= text(" 明天再来吧 ").exists();
if (c1||d1)
{
log(" 已进入福利中心…");
}
var c= bounds(132,1371,948,1494).findOnce();
var d= text(" 明天再来吧 ").findOnce();
while (c==null&&d==null)
{
sleep(1000);
AutoRW();
break;
}
log(" 判断任务是否做完 ");
if(d!=null)
{
while(d!=null)
{
toast(' 看视频得章节已完成 ')
break
}
}
else
{
log(" 开始执行循环 ");
var clickrw=bounds(132,1371,948,1494).findOne(1000);
if (clickrw!=null)
{
log(" 自动点击退出按钮 ");
click(clickrw.bounds().centerX(), clickrw.bounds().centerY())
log(" 点击成功 1");
closeAD();
sleep(1000);
var happyget=bounds(129,1473,951,1620).findOne(1000);
if (happyget!=null)
{
log(" 自动点击开心收下 ");
click(happyget.bounds().centerX(), happyget.bounds().centerY())
log(" 点击成功 2");
sleep(1000);
AutoRW();
}
else
{
click(540,1545);
log(" 点击成功 3");
sleep(1000);
AutoRW();
}
}
}
}
Plain text
别的手机的用户想操作应该怎么办
只需要把 click 里面的坐标系改成你手机的实际坐标就可以。