/*
寻找节点
@way:查找方式: text/desc/id/className
@str:節點文本
@timeOut:查找超时的时间,默认1000毫秒。可空
@视频对照教学:www.loveps.vip/121.html
*/
requestScreenCapture(); //请求截图权限
log(APP_取用户性别())
function APP_取用户性别() {
// 0,女;1,男;2,无
let objectAge = textEndsWith("岁").depth(18).findOne(1000)
let objectMan = textEndsWith("男").depth(18).findOne(1000)
let objectWomen = textEndsWith("女").depth(18).findOne(1000)
if (objectAge != null || objectMan != null || objectWomen != null) {
var rect;
if (objectAge != null) {
rect = objectAge.bounds() //获取性别范围
} else if (objectMan != null) {
rect = objectMan.bounds() //获取男 范围
} else if (objectWomen != null) {
rect = objectWomen.bounds() //获取女 范围
};
var img = captureScreen(); //屏幕截图
// log(images.pixel(img, 66, 940))
var point = findColor(img, -16148307, {
region: [rect.left, rect.top, rect.width(), rect.height()],
threshold: 4
});
if (point) {
log("找到蓝色啦:" + point); //性别为男
return 1
} else {
log("没找到蓝色,开始寻找粉色");
var point = findColor(img, -3390887, {
region: [rect.left, rect.top, rect.width(), rect.height()],
threshold: 4
});
if (point) {
log("找到粉色啦:" + point); //性别为女
return 0
} else {
log("没找到粉色,该用户未设置性别");
return 2
}
};
} else {
log("Error:未获取到性别节点")
}
return 2
};
// -------------------------------------------------------------------------------------------------------------
/*
寻找节点
@way:查找方式: text/desc/id/className
@str:節點文本
@timeOut:查找超时的时间,默认1000毫秒。可空
*/
function findNode(way, str, timeOut) {
if (!timeOut) { timeOut = 1000 }
let result = false //点击结果
let objectAge;
if (way == "text") {
objectAge = text(str).findOne(timeOut);
} else if (way == "desc") {
objectAge = desc(str).findOne(timeOut);
} else if (way == "id") {
objectAge = id(str).findOne(timeOut);
} else if (way == "className") {
objectAge = className(str).findOne(timeOut);
} else {
log("Error:findNode-way参数不正确")
}
if (objectAge != null) {
result = true
} else {
// log("Error:findNode-组件不存在/没找到")
}
return result;
};
/*
点击节点中心点坐标
@way:查找方式
@str:節點文本
@sleepTime:点击成功后的延时,默认1000毫秒。可空
*/
function clickNodeR(way, str, sleepTime) {
if (!sleepTime) { sleepTime = 1000 }
let result = false //点击结果
let objectAge;
if (way == "text") {
objectAge = text(str).findOne(1000);
} else if (way == "desc") {
objectAge = desc(str).findOne(1000);
} else if (way == "id") {
objectAge = id(str).findOne(1000);
} else if (way == "className") {
objectAge = className(str).findOne(1000);
} else {
log("Error:clickNodeR-way参数不正确")
}
if (objectAge != null) {
let x = objectAge.bounds().centerX();
let y = objectAge.bounds().centerY();
log(x, y)
if (x > 0 && y > 0) {
result = click(parseInt(x), parseInt(y));
} else {
log("Error:clickNodeR-中心点坐标不在可视区")
}
result && sleep(sleepTime);
} else {
log("Error:clickNodeR-组件不存在/没找到")
}
return result;
};
/*
点击节点
@way:查找方式
@str:節點文本
@sleepTime:点击成功后的延时,默认1000毫秒。可空
*/
function clickNode(way, str, sleepTime) {
if (!sleepTime) { sleepTime = 1000 }
let result = false //点击结果
let objectAge;
if (way == "text") {
objectAge = text(str).findOne(1000);
} else if (way == "desc") {
objectAge = desc(str).findOne(1000);
} else if (way == "id") {
objectAge = id(str).findOne(1000);
} else if (way == "className") {
objectAge = className(str).findOne(1000);
} else {
log("Error:clickNode-way参数不正确")
}
if (objectAge != null) {
if (objectAge.clickable()) {
result = objectAge.click();
result && sleep(sleepTime);
// if (result) {
// sleep(sleepTime);
// }
} else {
log("Error:clickNode-组件不可点击")
}
} else {
log("Error:clickNode-组件不存在/没找到")
}
return result;
};