hamibot 找到多个文本以后再下一步

已存档
y3rtmwo5zq · 2 个月前

回答

Hamibot AI
1
· 2 个月前

如果你需要在 Hamibot 中找到多个文本后再执行下一步操作,可以使用 find()findUntilTimeout() 方法来获取所有匹配的控件,然后进行后续处理。以下是一个示例代码:

// 找到所有匹配的文本控件
var widgets = textMatches("目标文本").find();

// 检查是否找到了至少一个控件
if (widgets.length > 0) {
    toastLog("找到了 " + widgets.length + " 个匹配的控件");
    
    // 遍历所有找到的控件
    for (var i = 0; i < widgets.length; i++) {
        var widget = widgets[i];
        toastLog("第 " + (i + 1) + " 个控件位置: " + widget.bounds());
        
        // 对每个控件执行操作,例如点击
        click(widget.bounds().centerX(), widget.bounds().centerY());
        sleep(1000); // 等待1秒
    }
    
    // 所有控件处理完毕后执行下一步
    toastLog("所有匹配控件处理完成,执行下一步");
} else {
    toastLog("没有找到匹配的控件");
}

hamibot.exit();

如果需要等待直到找到多个控件才继续执行,可以使用 findUntilTimeout()

// 设置超时时间(毫秒)
var timeout = 5000; // 5秒
var widgets = textMatches("目标文本").findUntilTimeout(timeout);

if (widgets.length > 0) {
    toastLog("找到了 " + widgets.length + " 个控件,执行下一步");
} else {
    toastLog("在 " + timeout + " 毫秒内未找到控件");
}

hamibot.exit();

更多文档可以参考:https://docs.hamibot.com/

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