while (attemptCount++ < MAX_ATTEMPTS) {
let payBtn = className("android.widget.TextView").text("立即购买").findOne(3000);
if (payBtn) {
console.log('🖱️ 找到立即购买'+payBtn.visibility+payBtn.visibleToUser);
// safeClick(payBtn);
sleep(1000);
} else {
console.log("ℹ️ 未找到支付按钮,等待重试");
sleep(500);
}
let payBtn1 = className("android.widget.TextView").text("确定").findOne(3000);
if (payBtn1) {
console.log("🖱️ 找到确定"+payBtn1.visibility+payBtn1.visibleToUser);
// safeClick(payBtn);
sleep(1000);
} else {
console.log("ℹ️ 未找到确定");
sleep(500);
}
}在一个hamibot脚本里,我想知道某控件的2个属性,payBtn.visibility+payBtn.visibleToUser。怎么写这个log.在 Hamibot/Auto.js 脚本中,要正确获取并输出控件的 visibility 和 visibleToUser 属性
回答
在 Hamibot 脚本中,你可以这样正确获取并输出控件的 visibility
和 visibleToUser
属性:
// 文档地址 https://docs.hamibot.com/
while (attemptCount++ < MAX_ATTEMPTS) {
let payBtn = className("android.widget.TextView").text("立即购买").findOne(3000);
if (payBtn) {
console.log('🖱️ 找到立即购买 visibility:' + payBtn.visibility() + ' visibleToUser:' + payBtn.visibleToUser());
// safeClick(payBtn);
sleep(1000);
} else {
console.log("ℹ️ 未找到支付按钮,等待重试");
sleep(500);
}
let payBtn1 = className("android.widget.TextView").text("确定").findOne(3000);
if (payBtn1) {
console.log("🖱️ 找到确定 visibility:" + payBtn1.visibility() + " visibleToUser:" + payBtn1.visibleToUser());
// safeClick(payBtn);
sleep(1000);
} else {
console.log("ℹ️ 未找到确定");
sleep(500);
}
}
hamibot.exit();
关键点:
visibility
和visibleToUser
是方法而不是属性,所以需要加括号调用- 使用字符串拼接时,建议添加描述性文字以提高日志可读性
- 在 Hamibot 中,这些属性值通常是布尔值(true/false)
这样就可以正确输出控件的这两个状态值了。
ℹ️ 本回答由 AI 生成,内容仅供参考