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();
}
}
}
}
别的手机的用户想操作应该怎么办
只需要把click里面的坐标系改成你手机的实际坐标就可以。