回答
在Hamibot中,可以通过以下方式实现「识别指定文字并点击」:
1. 基础用法:点击包含指定文字的控件
// 点击第一个出现的「指定文字」
click("指定文字");
// 点击第二个出现的「指定文字」
click("指定文字", 1);
text
:要匹配的文本内容(支持部分匹配)。i
:当有多个相同文本时,通过索引0, 1, 2...
指定点击第几个。
2. 进阶用法:结合循环确保点击成功
// 循环点击「指定文字」直到成功
while (!click("指定文字")) {
sleep(1000); // 每隔1秒重试
}
3. 特殊场景:点击弹窗中的「允许」按钮
针对截图权限弹窗(如MIUI系统):
// 监控权限弹窗并点击「允许」
threads.start(function () {
const check = () => {
let activity = currentActivity().toLowerCase();
if (activity.indexOf('permission') !== -1) {
if (id('com.android.systemui:id/dialog_title').textContains('Hamibot').exists()) {
id('android:id/button1').findOnce().click(); // 点击确认按钮
}
}
setTimeout(check, 500);
};
check();
});
4. 无法直接点击时:通过坐标点击
如果文字所在区域不可点击,需通过布局分析工具获取控件的 bounds
值,然后使用坐标点击:
// 点击指定坐标区域(left, top, right, bottom)
click(100, 200, 300, 400);
注意事项
- 文本可点击性:部分图标(如相机、消息图标)无文字,需通过坐标或ID定位。
- 系统适配:不同品牌手机(MIUI/EMUI/ColorOS)弹窗控件可能不同,需调整
id
或text
匹配规则。 - 调试工具:使用「设备调试」功能查看控件属性,定位准确的
bounds
或id
。
如需进一步适配,请提供具体场景或截图。
ℹ️ 本回答由 AI 生成,内容仅供参考