hamibot的这段代码加一个打印“成功启动应用”
// 启动中国银河证券APP,先确保应用唤起
launchApp('中国银河证券');
// 等待 8 秒,给应用启动和弹窗加载留时间
sleep(8000);
第 1 条补充
 · 3 个月前
用Hamibot在此段代码上加一个判断页面是否有X符号的图标,有就点击X的符号
launchApp('中国银河证券');
toastLog("成功打开应用")
sleep(8000); // 等待应用启动
第 2 条补充
 · 3 个月前
// 启动中国银河证券APP,先确保应用唤起
launchApp('中国银河证券');
// 打印成功启动应用信息
toastLog("成功启动应用");
// 等待 8 秒,给应用启动和弹窗加载留时间
sleep(8000);
在此段代码上加一个判断页面是否有X符号的图标,有就点击X的图标

回答
在代码中添加 toastLog 函数即可实现打印效果,以下是修改后的代码:
// 启动中国银河证券APP,先确保应用唤起
launchApp('中国银河证券');
// 打印成功启动应用信息
toastLog("成功启动应用");
// 等待 8 秒,给应用启动和弹窗加载留时间
sleep(8000);
功能说明
- toastLog("成功启动应用")会同时触发:- 屏幕显示气泡提示
- 控制台输出日志(可通过 Hamibot 的日志面板查看)
 
- 该方法符合 Hamibot 的异步执行特性,无需额外处理阻塞问题
文档地址 https://docs.hamibot.com/
补充回答 1
以下是添加判断并点击X图标的功能代码:
// 请求截图权限
if (!requestScreenCapture()) {
    toastLog("需要截图权限才能执行检测");
    hamibot.exit();
}
// 启动中国银河证券APP
launchApp('中国银河证券');
toastLog("成功打开应用");
sleep(8000); // 等待应用启动
// 截图检测X图标
var img = captureScreen();
// 查找红色X图标(示例颜色值#FF0000)
var p = images.findColor(img, "#FF0000", {
    threshold: 4 // 颜色相似度容差
});
if (p) {
    toastLog("检测到X图标,正在点击关闭");
    click(p.x, p.y);
} else {
    toastLog("未检测到X图标");
}
实现说明
- 权限处理:新增截图权限请求,避免无权限导致的脚本异常
- 颜色检测:
- 使用 images.findColor检测红色#FF0000作为示例
- 可根据实际图标颜色修改颜色值(建议用吸色器获取准确颜色)
 
- 使用 
- 阈值控制:threshold=4 允许±4的RGB误差,提高容错性
- 执行逻辑:
- 检测到图标时输出提示并点击
- 未检测到时继续执行后续逻辑
 
扩展建议
- 区域限定:若X图标在固定位置,可通过region: [x, y, w, h]限定查找范围
- 多颜色检测:若X由多种颜色组成,可用findMultiColors检测复合特征
- 循环检测:需持续检测时可包裹setInterval循环
文档地址 https://docs.hamibot.com/
补充回答 2
// 请求截图权限(必须在脚本开头调用)
if (!requestScreenCapture()) {
    toastLog("截图权限未授权,退出脚本");
    hamibot.exit();
}
// 启动中国银河证券APP
launchApp('中国银河证券');
toastLog("成功启动应用");
sleep(8000); // 等待应用启动
// 截图检测X图标(需要根据实际图标调整参数)
var img = captureScreen();
// 查找红色X图标(示例颜色值#FF0000,需替换为真实颜色值)
var p = images.findColor(img, "#FF0000", {
    region: [0, 0, device.width, device.height], // 全屏检测
    threshold: 4 // 颜色相似度容差
});
if (p) {
    toastLog("检测到X图标,坐标("+p.x+","+p.y+")");
    click(p.x, p.y);
    sleep(1000); // 等待关闭动画
} else {
    toastLog("未检测到X图标");
}
实现说明
- 权限处理:强制要求截图权限,否则直接退出脚本
- 颜色检测:
- 使用 #FF0000红色作为示例值(实际需用吸色器获取)
- region参数可限制查找区域,提高效率
- threshold调整容差值(0-255,值越精确匹配越严格)
 
- 使用 
- 坐标处理:点击检测到的图标坐标并添加1秒等待
- 调试建议:
- 建议通过 img.save("/sdcard/x_icon.png")保存截图分析
- 可用 images.writeImage("/sdcard/screen.png", img)保存当前屏幕图像
 
- 建议通过 
优化方向
- 图像匹配(需提供模板图片):var template = images.read("/sdcard/x_icon.png"); var p = images.findImage(img, template, { threshold: 0.8 // 相似度阈值 });
- 多点检测:检测多个颜色点提高准确性
- AI识别(需购买专业版):使用 ocr.recognize()识别特定图形
                ℹ️ 本回答由 AI 生成,内容仅供参考