疫情信息填表-----auto.js 2.0版

本篇文章代码提供给本校学生,其它学校学生可根据我的代码进行改编(我也是改编别人的😁)本文代码是JavaScript脚本语言编写。
step1:首先下载auto.js,这个下载auto.js的4.1.1 版本在使用手机在网上搜索就行,下载到手机桌面。
step2:然后创建一个文件如图
在这里插入图片描述
step3:自己命名文件名,下面给出代码

var my = {}
my.appName = "今日校园"
my.province = "安徽省"      //填名称 省份自己的省份
my.city = "xx市"          //城市自己所在的城市
my.county = "xx区"         //区或者县
my.details = "xxxxx"       //详细住址

//相关的具体信息如下
my.confirm = true               //本人是否承诺以上所填的全部内容属实、准确,不存在任何隐瞒与不实的情况?
my.reConfirm = true             //确认已认真查看,且填写信息无误的
my.isSubmit = true              //最后的提交按钮
my.temperature = "37.2℃及以下"       //一个字符都不能错
my.healthy="健康"
my.healthy_color="绿色"
my.jsVersion = "auto.js.4.1.1"           //只点击当天的表单
my.isFinalSubmit = false      //针对最后的提交 默认false 不建议直接打开 最好检查一次后打开 打开就没有后悔的机会了  (如果信息符合就把false改为true)
console.show()
auto.waitFor()
log("查看是否打开无障碍权限")
sleep(500)
log("本脚本只适合作者本校学生使用")
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("等待界面加载")
                text("请选择省或海外").waitFor()
                sleep(500)
                
                //页面操作
                auto1()
                log("1 必然成功啦")
                sleep(1000)
                className("android.widget.EditText").findOne().setText(my.details)
                log("2 填写完成")
                sleep(500)
                
                //温度
                if (text(my.temperature).findOne().click()) {
                    log("点击" + my.temperature + "成功")
                }
                else {
                    log("温度已经填写完成")
                }
                sleep(200)
                //健康状况
                if (text(my.healthy).findOne().click()){
                    log("点击"+my.healthy+"成功")
                }
                else{
                    log("已经填写为健康")
                }
                sleep(200)
                //健康码颜色
                if (text(my.healthy_color).findOne().click()){
                    log("点击"+my.healthy_color+"成功")
                }
                else{
                    log("健康码填写为绿色")
                }
                sleep(200)
                 

                var objectYes = className("android.widget.CheckBox").text("是").find()
                var objectNo = className("android.widget.CheckBox").text("否").find()
                objectNo.forEach(function (item, index) {
                    log(index)
                    if (item && index < 5) {
                        if (item.click()) {
                            sleep(200)
                            log("否 index=" + index + "点击成功")
                        }
                        else
                            log("fail")
                    }
                })
                //先这样写后期再修改
                objectYes.forEach(function (item, index) {
                    log(index)
                    if (item && index == 4 && my.confirm) {
                        if (item.click()) {
                            sleep(200)
                            log("confirm" + index + "点击成功")
                        }
                        else
                            log("fail")
                    }
                })
                sleep(200)
                //reConfirm
                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("access to 辅导猫 fail 请关闭应用重新打开")
                toast("access to 辅导猫 fail")
            }
        } else {
            log("access to 辅导猫 fail 请关闭应用重新打开脚本")
        }
    }
} else {
    log("open app fail")
}



function auto1() {
    sleep(500)
    if (text("请选择省或海外").findOne().parent().click()) {
        log("find success")
        sleep(200)
        if (text(my.province).findOne().click()) {
            log("click"+my.province+"success")
            sleep(1000)
        } else {
            log("find fail")
        }
        clickOk()
    } else {
        log("find fail")
    }
    
    sleep(200)
    if (text("请选择市或洲").findOne().parent().click()) {
        log("find success")
        if (text(my.city).findOne().click()) {
            log("click"+my.city+"success")
            sleep(1000)
        } else {
            log("find fail")
        }
        clickOk()
    } else {
        log("find fail")
    }
    sleep(200)
    if (text("请选择区/县或者国家").findOne().parent().click()) {
        log("find success")
        if (text(my.county).findOne().click()) {
            log("click"+my.county+"success")
            sleep(1000)
        } else {
            log("find fail")
        }
        clickOk()
    } else {
        log("find fail")
    }
}

function clickKey(key){

    className("android.widget.Button").text(key).findOne().click()
    sleep(1000)
}

function clickOk() {
    if (text("确认").findOne().click()) {
        log("ok success")
    } 
    else {
        log("ok fail")
    }
    sleep(1000)
}

step4:把代码粘贴复制就行,然后运行你的代码,切记今日校园没有打开过,如果打开过,把后台就行删除就行。然后再运行代码,切记运行代码时要打开auto.js的无障碍开关。
step5:如果想每天定时运行请看上一个博客,通过作者的观察,如果想每天定时运行,必须保证auto.js保持后台运行。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值