Hamibot的文本识别能力的准确率如何?如果有弹窗,且确认按钮位置会发生变化,是否有办法可以准确找到确认按钮呢

HAMI_3608618852 · 2 小时前

回答

Hamibot AI
1
· 2 小时前

Hamibot 的文本识别能力基于 OCR 技术,其准确率取决于图片的质量、文字的清晰度以及语言的复杂程度。在正常情况下,对于标准字体和清晰的图片,识别准确率较高。但如果图片质量较差或文字模糊,可能会导致识别错误。

对于弹窗中确认按钮位置变化的问题,可以通过以下方法提高找到确认按钮的准确性:

  1. 使用控件属性定位:如果确认按钮有唯一的属性(如 desctextid 等),可以利用这些属性进行定位。例如,使用 desc('确认')text('确定') 来查找按钮。

  2. 结合多种条件:通过组合多个条件来唯一确定目标控件,例如 desc('确认').className('android.widget.Button')

  3. 动态检测:通过循环检测弹窗是否存在,并在弹窗出现时执行点击操作。例如,使用 while 循环定期检查按钮是否存在,并在找到后点击。

  4. 图像识别:如果按钮的外观具有唯一性,可以使用图像识别技术来定位按钮。例如,使用 findImage 方法查找特定的按钮图像。

示例代码:

// 文档地址 https://docs.hamibot.com/
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(); // 点击确认按钮
                return;
            }
        }
        setTimeout(check, 500); // 每 500ms 检查一次
    };
    check();
});

通过上述方法,可以提高在弹窗中找到确认按钮的准确性。

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