text_click("扫一扫",1,0); /** ttext = 文本 kong 0 = 点击文本 (举例:需要点击的内容为“123”,,若出现“1234,123” 则点击123) 1 = 点击包括文本 (举例:需要点击的内容为“123”,,若出现“1234,123” 则点击1234) 2 = 点击出现的最后一个文本 的控件 (举例:需要点击的内容为“123”,,若出现“123,123,123” 则点击第三个123) 3 = 点击按钮控件文本 (举例:一般用于点击:按钮,弹窗按钮,授权提示按钮,等....) clickmod 0 = 控件或位置 (举例:控件点击不了 则点位置) 1 = 位置 (举例:点文本,控件) 2 = 控件 (举例:点文本,位置) **/ function text_click(ttext,kong,clickmod){//文本,, var texi = null; var 是否可点 = false; var 是否找到 = true; console.log("[text_click]","ttext="+ ttext +"&kong="+ kong +"&clickmod="+ clickmod); var texi = 控件判断(ttext,kong,"TextView"); if(texi == null && texi == undefined){ console.log("[text_click]","没有找到:TextView"); 是否找到 = false; texi = 控件判断(ttext,kong,"Button"); if(texi == null && texi == undefined){ console.log("[text_click]","没有找到:Button"); texi = 控件是否可点(texi); if(texi != false){ 点击位置或控件(texi,ttext,clickmod); }else{ 点击位置(texi,ttext); } } } if(是否找到 == true){//是否找到 texi = 控件是否可点(texi); if(texi != false){ 点击位置或控件(texi,ttext,clickmod); }else{ 点击位置(texi,ttext); } } console.log("[text_click]","完毕:"+ 是否找到); } function 控件判断(ttext,kong,clas){ var texi = null; var 是否可点 = false; var 是否找到 = false; console.log("[控件判断]","进入类库:ttext="+ ttext +"&kong="+ kong +"&clas="+ clas); if(kong == 0){ texi = className(clas).text(ttext).findOne(1000); if(texi)是否找到 = true; if(是否找到 == false){ console.log("[控件判断]","是否找到:"+ 是否找到); texi = className(clas).textContains(ttext).findOne(1000); }else{ console.log("[控件判断]","是否找到:"+ 是否找到); } }else if(kong == 1){ texi = className(clas).textContains(ttext).findOne(1000); }else if(kong == 2){ var fsfan = className(clas).textContains(ttext).find(); var lengt = fsfan.length-1; console.log("[控件判断]","lengt="+ lengt); texi = fsfan[lengt]; }else if(kong == 3){ texi = className("Button").textContains(ttext).findOne(1000); } if(是否找到 == false){ if(texi){ 是否找到 = true; } } console.log("[控件判断]","完毕:"+ 是否找到); return texi; } function 点击位置(texi,ttext){ console.log("[点击位置]","进入:ttext:"+ ttext); if(texi != null && texi != undefined && texi != false){ var aws = texi.bounds(); var 是否成功 = false; if(shell("screencap /sdcard/root.png",true).code == 0){ 是否成功 = Tap(aws.centerX(),aws.centerY());//有root权限 }else{ 是否成功 = click(aws.centerX(),aws.centerY());//无root权限 } } console.log("[点击位置]","完毕:"+ 是否成功); } function 点击位置或控件(texi,ttext,clickmod){ var clickcode = false; console.log("[点击位置或控件]","进入clickmod="+ clickmod +"&ttext="+ ttext); if(clickmod == 0){ clickcode = texi.click(); if(clickcode == false){ 点击位置(texi,ttext); } }else if(clickmod == 1){ 点击位置(texi,ttext); }else if(clickmod == 2){ clickcode = texi.click(); } console.log("[点击位置或控件]","完毕clickcode="+ clickcode +"&ttext="+ ttext); } function 控件是否可点(texi){ console.log("[控件是否可点]","进入类库"); var czz = ""; var 是否找到 = false; for(var i=0;i<=10;i++){ sleep(122); if(texi != null && texi != undefined){ if(texi.clickable() == true){ sleep(166); 是否找到 = texi; console.log("[控件是否可点]","控件可点true"); break; }else{ texi = texi.parent(); } }else{ console.log("[控件是否可点]","texi::::"+ texi); } } if(是否找到 == false){ console.log("[控件是否可点]","完毕:"+ 是否找到); }else{ console.log("[控件是否可点]","完毕:true"); } return 是否找到; }