你的位置:首页 > 信息动态 > 新闻中心
信息动态
联系我们

auto.js B0037 每日答题版本1.0 2021-10-24

2021/10/24 2:00:03

toast("每日答题")
var question = ""
var Title = ""
function GetQuestion(){
    sleep(1000)
    // className("android.view.View").text("查看提示").findOne().click();
    // sleep(1000)
    widget = className("android.view.View").find();
    log(widget.length)
    jj = 0
    for (i = 0; i < widget.length; i++) {
        widgetText = widget[i].text();
        if (widgetText != "") {
            question += widgetText;
            //indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置。
            if (widgetText.indexOf('学】') > -1 || widgetText.indexOf('学]') > -1) {
                break
            }
        }
    }

    if (question.indexOf("题】") != -1) { //【单选题】【多选题】
        var index = question.indexOf("题】")
        question = question.substring(index + 2, question.length)
    }
    if (question.indexOf("【出题:武汉大学】") != -1) {
        var index = question.indexOf("【出题:武汉大学】")
        question = question.substring(0, index)
    }
    if (question.indexOf("[question来源:") != -1) {    //[question来源:湘潭大学西安交通大学上海交通大学]
        var index = question.indexOf("[question来源:")
        question = question.substring(0, index)
    }

    //对获取的question进行处理,去除所有特殊字符
    pattern = /[`~!@#$^&*()=|{}':;'“”,\\\[\]\.<>\/?~!@#¥……&*()——|{}【】';:""'。,、?\s]/g;
    question = question.replace(pattern, "")
    log(question)
    log("****字符串截取**********")
    log(question.substring(10,45))
    return question
}

function SingleChoice() {
    toastLog("进入单选题1")
    //获取所有字符串,包括题目答案。  查找查看提示控件的父控件
    var tips = className("android.view.View").text("查看提示").findOne(8000).parent()
    if(tips){
        sleep(1000);
        tips.click();
    }else{
        toastLog("单击提示出错。")
    }
    sleep(2000)
    //获取所有文字
    Title = GetQuestion();
    log("######################")
    log(Title)//所有字符串
    log("######################")
    
    //ABCD在题目和答案中出现的次数
    var SChoices = className("android.view.View").depth(13).indexInParent(2).find()
    log(SChoices.length)
    //多选就是全选
    for (var i = 0; i < SChoices.length; i++) {
        var tv = SChoices[i];
        if (tv) {
            toastLog(tv.text());
            sleep(1500);
        }
    }

}
function MultipleChoice() {
    toastLog("进入多选题2")
    var Choices = className("android.widget.CheckBox").depth(13).find()
    // log(Choices)
    log("******************")
    log(Choices.length)//childCount不可以使用
    //多选就是全选
    for (var i = 0; i < Choices.length; i++) {
        var tv = Choices[i];
        if (tv) {
            var tr = tv.bounds();
            click(tr.centerX(), tr.centerY());
            sleep(1500)
        }
    }

    var ChoiceTure = className("android.view.View").text("确定").findOne(8000)
    if (ChoiceTure) {
        ChoiceTure.click()
        sleep(2000)
    } else {
        toastLog("多选题确定失败.")
    }
}
//Fill in the blanks
function FillBlanks() {
    toastLog("进入填空题3")
}

function dailyAns() {
    sleep(800)//
    //每日答题  获取题目类型   多选题(全选)  填空题 OK 单选题
    var title = className("android.view.View").depth(11).drawingOrder(0).indexInParent(0).findOne(5000)

    if (title) {
        log(title.text())
        sleep(1000);
    } else {
        toastLog("未获取题目")
    }

    //对 单选  多选  填空  分别处理
    if (title.text() == "单选题") {
        SingleChoice();
    }
    else if (title.text() == "多选题") {
        MultipleChoice();
    }
    else if (title.text() == "填空题") {
        FillBlanks();
    }
    else {
        toastLog("错误-单选-多选-填空")
    }



    // className("android.widget.ListView").findOne(1000).child(10).child(3).click()//进入订阅
    // sleep(1000)
    // var Newspaper = className("android.widget.ImageView").depth(12).indexInParent(2).findOne()//
    // log(Newspaper)
    // if (Newspaper) {
    //     toastLog("订阅。。。。。")
    //     // Newspaper.click()//进入学习积分页面  项目列表
    //     sleep(2000);
    // }

}

dailyAns()