基于auto.js编写的疫情信息填表的脚本

由于笔者深陷学校的宿舍打卡与每天的疫情信息填表,笔者通过找大量的开源代码,通过临沂大学的一个同学发布的代码,在这里非常感谢这位同学。由于需求不同,我参考了其代码之后,改编了属于我们学校自己的代码,由于代码是用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使用时一定要打开无障碍权限
在这里插入图片描述

  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值