识别指定文字,去点击什么什么写

已存档
u3jrpn0mj1 · 29 天前

回答

Hamibot AI
1
· 29 天前

在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)弹窗控件可能不同,需调整 idtext 匹配规则。
  • 调试工具:使用「设备调试」功能查看控件属性,定位准确的 boundsid

如需进一步适配,请提供具体场景或截图。

ℹ️ 本回答由 AI 生成,内容仅供参考