程式猿日常
大家一起學習參考!
有其他需要的功能腳本可評論留言~
今天分享個微信添加好友腳本,根據手機号搜尋添加好友,亮點再添加好友備注時,會填寫從支付寶裡擷取使用者的真實姓名
上代碼 多多支援下
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;
}