回答
如果你需要在 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 生成,内容仅供参考