程序猿日常

大家一起学习参考!
有其他需要的功能脚本可评论留言~

今天分享个微信添加好友脚本,根据手机号搜索添加好友,亮点再添加好友备注时,会填写从支付宝里获取用户的真实姓名

上代码 多多支持下
auto.waitFor();
log("---启动---微信添加好友功能");
 
storage.put("RUN_JS_RUNING",true);//运行启动
 
var startTime=new Date().getTime();
var DATA_WXADD_PHONE=storage.getStr("DATA_WXADD_PHONE","");//手机号
var DATA_WXADD_MIAOSHU=storage.getStr("DATA_WXADD_MIAOSHU","");//添加备注
var DATA_WXADD_YTJ_PHONE=storage.getStr("DATA_WXADD_YTJ_PHONE","");//记录遍历的名称
var DY_jzjl_zxjgsj_min=storage.get("DATA_WXADD_JG_MIN",8);//休息最小时间 秒
var DY_jzjl_zxjgsj_max=storage.get("DATA_WXADD_JG_MAX",15);//休息最小时间 秒
var DATA_WXADD_RWS=storage.get("DATA_WXADD_RWS",20);//任务数
var DATA_WXADD_ZFB=storage.get("DATA_WXADD_ZFB",true);//支付宝获取姓名
 
var dataNum=0;//记录挖掘的数量
var phoneList;
if(DATA_WXADD_PHONE!=null&&DATA_WXADD_PHONE!=""){
    phoneList=DATA_WXADD_PHONE.split(",");
}
beforRun();
doNext();
endRun();
storage.put("RUN_JS_RUNING",false);//运行结束
log("---停止---微信添加好友功能");
 
//继续下一步
function doNext(){
    var editTextView=text("帐号/手机号").findOne(1000);
    if(editTextView==null){
        log("系统提示:请停留在添加好友页面");
        return;
    }
    suijiSmallSleep();
 
    for(var i=0;i<phoneList.length;i++){
        var phoneStr=phoneList[i];
        addFriend(phoneStr);
        if(dataNum>=DATA_WXADD_RWS){
            //任务数量执行完成
            break;
        }
        suijiSleep();
    }
}
//运行开始
function beforRun(){
    if(phoneList==null||phoneList.length==0){
        return;
    }
    log("系统提示:共有"+phoneList.length+"个号");
    console.warn("手机号列表:"+DATA_WXADD_PHONE);
}
 
//运行结束
function endRun(){
    var endTime=new Date().getTime();
    log("时间提示:运行"+(endTime-startTime)/1000+"秒");
    log("添加用户数量:"+dataNum);
}
 
//添加好友
function addFriend(phoneStr){
    if(DATA_WXADD_YTJ_PHONE.indexOf(phoneStr)!=-1){
        log("系统提示:已添加过好友"+phoneStr);
        addDescData(phoneStr,"已添加过");
        return;
    }
    log("系统提示:开始添加好友"+phoneStr);
 
    var editTextView=text("帐号/手机号").findOne(1000);
    if(editTextView==null){
        return;
    }
    var editTextViewParent=editTextView.parent().parent();
    if(editTextViewParent==null||"android.widget.LinearLayout"!=editTextViewParent.className()){
        return;
    }
    console.warn("点击位置:"+editTextViewParent.bounds().centerX()+","+editTextViewParent.bounds().centerY());
    click(editTextViewParent.bounds().centerX(),editTextViewParent.bounds().centerY());
    console.warn("点击添加朋友输入框");
    sleep(1000);
    var phoneEdit=className("android.widget.EditText").findOne(1000);
    if(phoneEdit==null){
        return;
    }
    //赋值
    phoneEdit.setText(phoneStr);
    sleep(1000);
    var searchLableT=textContains("搜索:").findOne(1000);
    if(searchLableT==null){
        return;
    }
//    var searchLableParent=searchLableT.parent().parent();
//    if(searchLableParent==null||"android.widget.RelativeLayout"!=searchLableParent.className()){
//        return;
//    }
 
    click(searchLableT.bounds().centerX(),searchLableT.bounds().centerY());
//    searchLableParent.click();
    console.warn("点击搜索");
    sleep(5000);
    var addTxlLabel=text("添加到通讯录").findOne(2000);
    if(addTxlLabel==null){
        var fxxLable=text("发消息").findOne(2000);
        if(fxxLable!=null){
            addDescData(phoneStr,"已成为好友");
            log("系统提示:"+phoneStr+"用户已成为好友");
            DATA_WXADD_YTJ_PHONE=DATA_WXADD_YTJ_PHONE+phoneStr+"用户已成为好友,";
            storage.put("DATA_WXADD_YTJ_PHONE",DATA_WXADD_YTJ_PHONE);//保存已经添加好友记录
            back();
            sleep(2000);
            back();
        }else{
            addDescData(phoneStr,"用户不存在");
            log("系统提示:"+phoneStr+"用户不存在");
            DATA_WXADD_YTJ_PHONE=DATA_WXADD_YTJ_PHONE+phoneStr+"用户不存在,";
            storage.put("DATA_WXADD_YTJ_PHONE",DATA_WXADD_YTJ_PHONE);//保存已经添加好友记录
            back();
        }
        return;
    }
    var addTxlBtn=addTxlLabel.parent().parent();
    if(addTxlBtn==null||"android.widget.LinearLayout"!=addTxlBtn.className()){
        return;
    }
    console.warn("点击位置:"+addTxlBtn.bounds().centerX()+","+addTxlBtn.bounds().centerY());
    click(addTxlBtn.bounds().centerX(),addTxlBtn.bounds().centerY());
    log("系统提示:点击添加到通讯录");
    sleep(5000);
 
    var addFriendSqLabel=text("发送添加朋友申请").findOne(1000);
    if(addFriendSqLabel==null){
        back();
        sleep(2000);
        back();
        return;
    }
    var addFriendSqParent=addFriendSqLabel.parent();
    if(addFriendSqParent==null){
        return;
    }
    var addFriendSqEdit=addFriendSqParent.child(addFriendSqParent.childCount()-1);
    if("android.widget.EditText"!=addFriendSqEdit.className()){
        return;
    }
    var realName="";
    if(DATA_WXADD_ZFB){
        log("系统提示:跳转支付宝获取用户姓名"+phoneStr);
        realName=zfbRealName(phoneStr);
        var wxEditClass=null;
        back();
        sleep(1000);
        back();
        sleep(1000);
        while(wxEditClass==null){
            //返回到微信
            back();
            sleep(1000);
            wxEditClass=className("android.widget.EditText").findOne(1000);
        }
    }
 
    addFriendSqEdit.setText(realName+DATA_WXADD_MIAOSHU);
    log("系统提示:填写申请信息为"+realName+DATA_WXADD_MIAOSHU);
 
    //设置备注
    var addFriendBzLabel=text("设置备注").findOne(1000);
    if(addFriendBzLabel==null){
        return;
    }
 
    var addFriendBzParent=addFriendBzLabel.parent();
    if(addFriendBzParent==null){
        return;
    }
    var addFriendBzEdit=addFriendBzParent.child(addFriendBzParent.childCount()-1);
    if("android.widget.EditText"!=addFriendBzEdit.className()){
        return;
    }
    addFriendBzEdit.setText(addFriendBzEdit.text()+phoneStr);
    log("系统提示:填写备注为"+addFriendBzEdit.text()+phoneStr);
    suijiSmallSleep();
    //发送
    var sendAddFriendBtn=text("发送").findOne(1000);
    if(sendAddFriendBtn==null||"android.widget.Button"!=sendAddFriendBtn.className()){
        return;
    }
 
    //测试不发送
    sendAddFriendBtn.click();
 
    DATA_WXADD_YTJ_PHONE=DATA_WXADD_YTJ_PHONE+phoneStr+"已申请添加好友,";
    storage.put("DATA_WXADD_YTJ_PHONE",DATA_WXADD_YTJ_PHONE);//保存已经添加好友记录
    suijiSmallSleep();
    back();
    sleep(2000);
    back();
    dataNum++;
    log("系统提示:目前已添加"+dataNum+"个号");
    addDescData(phoneStr,"已申请添加好友");
}
 
//支付宝获取姓名
function zfbRealName(phoneStr){
    var realName="";
    //跳转至支付宝
    launchApp("支付宝");
    suijiSmallSleep();
    var zzLabel=text("转账").findOne(1000);
    if(zzLabel==null){
        return realName;
    }
    var zzLabelParent=zzLabel.parent().parent();
    if(zzLabelParent==null||"android.widget.RelativeLayout"!=zzLabelParent.className()){
        return realName;
    }
    zzLabelParent.click();
    suijiSmallSleep();
 
    var sjhPhoneLabel=textContains("输入手机号、银行卡号、联系人姓名转账").findOne(1000);
    console.warn("点击位置:"+sjhPhoneLabel.bounds().centerX()+","+sjhPhoneLabel.bounds().centerY());
    click(sjhPhoneLabel.bounds().centerX(),sjhPhoneLabel.bounds().centerY());
    console.warn("输入手机号、银行卡号、联系人姓名转账");
    suijiSmallSleep();
 
    var phoneEditView=className("android.widget.EditText").findOne(1000);
    if(phoneEditView==null){
        return realName;
    }
 
    //赋值
    log("系统提示:输入搜索手机号"+phoneStr);
    phoneEditView.setText(phoneStr);
    suijiSmallSleep();
 
    var realNameLabel=textContains("(*").findOne(1000);
    if(realNameLabel==null){
        console.warn("支付宝输入搜索手机号姓名为空");
        return realName;
    }
    if(realNameLabel==null||"android.widget.TextView"!=realNameLabel.className()){
        console.warn("支付宝输入搜索手机号姓名为空");
        return realName;
    }
    var realNameStr=realNameLabel.text();
    log("系统提示:用户名字为"+realNameStr);
    if(realNameStr==null||realNameStr.length<2){
        console.warn("支付宝输入搜索手机号姓名为空");
        return realName;
    }
    realName=realNameStr.substring(realNameStr.length-2,realNameStr.length-1);
    log("系统提示:截取名字为"+realName);
    return realName;
}