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 是否找到;
}