由于笔者深陷学校的宿舍打卡与每天的疫情信息填表,笔者通过找大量的开源代码,通过临沂大学的一个同学发布的代码,在这里非常感谢这位同学。由于需求不同,我参考了其代码之后,改编了属于我们学校自己的代码,由于代码是用JavaScript语言编写,我没有使用过这种语言,通过半天的学习,笔者成功的理解里面的代码,所以代码写的不好,请理解。
通过代码改编,我还扩展了每天晚上的宿舍查寝打卡的脚本(此脚本在下一文章推送)。在此说明:此代码切勿倒卖,倒卖可耻,此代码只给哪些受困与天天繁琐的打卡内容,但是不针对身体不健康或者信息与填报内容不符的人。
var my = {}
my.appName = "今日校园"
//以下 不想自动按的写false
my.confirm = true //本人是否承诺以上所填的全部内容属实、准确,不存在任何隐瞒与不实的情况?
my.reConfirm = true //确认已认真查看,且填写信息无误的
my.isSubmit = true //最后的提交按钮
my.jsVersion = "2022-1-1" //只点击当天的表单
my.isFinalSubmit = true //针对最后的提交 默认false ,这里我改为true,我是直接提交
console.show()
auto.waitFor()
log("查看是否打开无障碍权限")
sleep(500)
log("开始执行 版本" + my.jsVersion)
//开始
if (launchApp(my.appName)) {
log("打开 app 等待进入主页")
log("等待消息出现")
text("消息").waitFor()
sleep(500)
if (text("消息").findOne().parent().parent().click()) {
log("进入消息通知成功")
sleep(500)
if (text("辅导员通知").findOne().parent().parent().parent().parent().click()) {
log("进入辅导员通知成功")
sleep(500)
var objectWriting = textContains("未填写").find()
if(objectWriting.length==0) {
log("今天似乎没有未填写!")
exit()
}
var writing=objectWriting[objectWriting.length-1]
if (writing.parent().parent().parent().click()) {
log("进入信息填表成功")
log("等待界面加载")
sleep(500)
//再一次确认
if (my.reConfirm) {
text("确认已认真查看,且填写信息无误。").findOne().click()
log("reConfirm点击成功")
}
sleep(200)
if (my.isSubmit) {
text("提交").findOne().click()
log("isSubmit点击成功")
}
sleep(200)
if (my.isFinalSubmit) {
className("android.widget.Button").text("提交").findOne().click()
log("isFinalSubmit点击成功")
}
log("脚本执行完毕")
sleep(1000)
console.hide()
} else {
log("通过 信息收集 失败 请关闭应用重新打开")
toast("通过信息收集失败")
}
} else {
log("通过信息收集失败 请关闭应用重新打开脚本")
}
}
} else {
log("打开APP失败")
}
最后强调的是由于我自己的学校是一些其它信息都是默认填好的,我们只需要确认信息正确就行。所以我就没有编写一些比如说:你今天健康码的颜色是什么?,或者你今天的体温是多少?等等。
另外我们还可以在auto.js中设置每天代码按时运行比如
特别注意auto.js使用时一定要打开无障碍权限