autojs 抓去某行的大额存单利率 跳转 并点击购买

185 阅读1分钟

image.png

image.png



function findBestRate(){
    var refreshBtn;
    while(true){
        refreshBtn = className("android.view.View").text("测算年利率").clickable(true).findOne(1000);
        if(refreshBtn){
            break;
        }
    }

    // refreshBtn.click();
    
    while(true){
        refreshBtn.click();
        sleep(2000);
        var widgetList =  className("android.view.View").textContains("产品编号").find();
        if(widgetList && !widgetList.empty()){
            var rateList = [];
            console.log("====widgetList==="+widgetList.length);
            widgetList.forEach(function(view){
                var parent = view.parent();
                if(parent != null){
                    var children = parent.children();
                    console.log("=====children==="+children.length);
                    if(children && children.length > 3){
                        var rateView = children[2];
                        rateList.push(rateView.text());
                    }
                }
            });
            console.log("======size==="+rateList.length);
                var index = 0;
                var preRate = 0.0;
                var maxIndex = 0;
                rateList.forEach(function(item){
                console.log("item===="+item);
                   var rateStr =  item.slice(0, item.length - 1);
                   console.log(rateStr)
                   var rateNum = parseFloat(rateStr);
                   if(rateNum > preRate){
                    preRate = rateNum;
                    maxIndex = index;
                   }
                   index++;
                });
                console.log("preRate===="+preRate);
            if(preRate > 2.1){
                widgetList[maxIndex].click();
                findBuy();
            }
        }
    }
}

function findBuy(){
    while(true){
        sleep(300);
        var buyBUtton =  className("android.widget.Button").text("购买").findOne(1000);
    
        if(buyBUtton){
            buyBUtton.click();
            break;
        }
    }
   
}

findBestRate();