YYPOST群发软件 发表于 2025-8-20 14:59:17

AIWROK软件IOS苹果系统检测目标类[Detect]方法小结

AIWROK软件IOS苹果系统检测目标类方法小结


// 🔨检测目标类 方法小结
// 第一个方法:📌score 获取检测分数
/*
类别 详情说明
方法功能 获取检测对象的分数
方法签名 Single score ()
返回值 Single
参数 无
*/
// 示例:获取检测对象的分数
var detect = new Detect ();
var score = detect.score (); // 获取检测分数
// 第二个方法:📌getRect 获取检测区域
/*
类别 详情说明
方法功能 获取检测对象的区域(所属模块:获取检测区域)
方法签名 String getRect ()
返回值 String
参数 无
*/
// 示例:获取检测对象的区域信息
var detect = new Detect ();
var rectInfo = detect.getRect (); // 获取检测区域
// 第三个方法:📌clickRandom 随机点击
/*
类别 详情说明
方法功能 随机点击目标的一个坐标
方法签名 Void clickRandom ()
返回值 Void
参数 无
*/
// 示例:随机点击目标区域内的坐标
var detect = new Detect ();
detect.clickRandom (); // 随机点击
// 第四个方法:📌click 点击
/*
类别 详情说明
方法功能 执行点击操作
方法签名 Void click ()
返回值 Void
参数 无
*/
// 示例:对检测目标执行点击操作
new Detect ().click (); // 执行点击📌score 获取检测分数
类别详情说明
方法功能获取检测对象的分数
方法签名Single score()
返回值Single
参数无
案例var detect = new Detect();var score = detect.score(); // 获取检测分数
📌getRect 获取检测区域
类别详情说明
方法功能获取检测对象的文本内容(所属模块:获取检测区域)
方法签名String text()
返回值String
参数无
案例var detect = new Detect();var detectedText = detect.text(); // 获取检测文本
📌clickRandom随机点击
类别详情说明
方法功能随机点击目标的一个坐标
方法签名Void clickRandom()
返回值Void
参数无
案例hid.clickRandom();
📌click点击
类别详情说明
方法功能执行点击操作
方法签名Void click()
返回值Void
参数无
案例new Detect().click();
示例演示:/*
   欢迎使用AiWork安卓自动化IDE
   帮助文档: http://help.autoapp.net.cn
   官方地址: www.aiwork24.com
   qq群: 711841924
*/

// 🔨检测目标类 实际运行示例

// 创建一个可以实际运行的示例
function runDetectExample() {
    printl("开始执行Detect类实际运行示例");
   
    try {
      // 先进行全屏截图
      printl("正在进行屏幕截图...");
      var screenshot = screen.screenShotFull();
      printl("截图完成");
      
      // 使用自带OCR进行文字识别
      printl("正在进行OCR识别...");
      var ocrResult = screenshot.ocr(0, 0, 1, 1);
      printl("OCR识别完成");
      
      // 释放截图资源
      screenshot.close();
      
      // 获取所有识别的文本
      var allText = ocrResult.getAllString();
      printl("识别到的所有文本: " + allText);
      
      // 获取所有识别的目标
      var detects = ocrResult.getAllDetect();
      printl("识别到的目标数量: " + detects.length);
      
      // 遍历所有检测到的目标并演示Detect类的方法
      if (detects.length > 0) {
            for (var i = 0; i < Math.min(detects.length, 3); i++) { // 限制最多处理3个目标
                var detect = detects;
               
                printl("\n=== 检测目标 " + (i+1) + " ===");
               
                // 方法一:获取检测分数
                try {
                  var score = detect.score();
                  printl("score()方法 - 检测分数: " + score);
                } catch (e) {
                  printl("score()方法调用失败: " + e.message);
                }
               
                // 方法二:获取检测区域
                try {
                  var rect = detect.getRect();
                  printl("getRect()方法 - 检测区域: " + rect);
                } catch (e) {
                  printl("getRect()方法调用失败: " + e.message);
                }
               
                // 注意:clickRandom()和click()方法会实际执行点击操作,
                // 在没有明确目标的情况下不建议执行,以免影响设备操作
                printl("clickRandom()方法 - 随机点击目标区域(此方法会实际执行点击操作)");
                printl("click()方法 - 点击目标中心点(此方法会实际执行点击操作)");
            }
            
            // 演示查找特定文本并执行点击操作
            printl("\n=== 查找特定文本示例 ===");
            try {
                // 尝试查找常见的UI文本
                var commonTexts = ["确定", "取消", "关闭", "下一步", "完成"];
                var foundTarget = null;
               
                for (var j = 0; j < commonTexts.length; j++) {
                  var textDetect = ocrResult.findText(commonTexts, );
                  if (textDetect != null) {
                        foundTarget = textDetect;
                        printl("找到文本 '" + commonTexts + "',分数: " + foundTarget.score());
                        printl("目标区域: " + foundTarget.getRect());
                        break;
                  }
                }
               
                if (foundTarget != null) {
                  printl("演示点击操作 (注意:为避免误操作,实际点击已被注释)");
                  // foundTarget.click(); // 实际点击操作
                  // foundTarget.clickRandom(); // 随机点击操作
                } else {
                  printl("未找到预定义的常见文本");
                }
            } catch (e) {
                printl("查找特定文本时发生错误: " + e.message);
            }
      } else {
            printl("未检测到任何目标");
      }
      
    } catch (e) {
      printl("执行过程中发生错误: " + e.message);
      printl("错误堆栈: " + e.stack);
    }
   
    printl("\nDetect类方法演示完成");
}

// 简化版本的示例,只输出方法调用示例而不实际执行点击
function detectMethodExamples() {
    printl("\n=== Detect类方法调用示例 ===");
    printl("以下是在实际脚本中使用Detect类的典型方式:");
   
    printl("\n1. 基本OCR识别流程:");
    printl("   var screenshot = screen.screenShotFull();");
    printl("   var ocrResult = screenshot.ocr(0, 0, 1, 1);");
    printl("   var detects = ocrResult.getAllDetect();");
    printl("   screenshot.close(); // 释放资源");
   
    printl("\n2. 遍历并分析检测目标:");
    printl("   for (var i = 0; i < detects.length; i++) {");
    printl("       var detect = detects;");
    printl("       var score = detect.score();   // 获取置信度");
    printl("       var rect = detect.getRect();    // 获取区域坐标");
    printl("       printl('目标' + i + ' 分数:' + score + ' 区域:' + rect);");
    printl("   }");
   
    printl("\n3. 查找特定文本并操作:");
    printl("   var target = ocrResult.findText('确定', );");
    printl("   if (target != null) {");
    printl("       printl('找到目标,置信度: ' + target.score());");
    printl("       // target.click(); // 点击中心点");
    printl("       // target.clickRandom(); // 随机点击");
    printl("   }");
   
    printl("\n4. 查找包含特定文本的目标:");
    printl("   var targets = ocrResult.findIncludeTexts('领', );");
    printl("   for (var j = 0; j < targets.length; j++) {");
    printl("       printl('目标区域: ' + targets.getRect());");
    printl("       // targets.click(); // 执行点击操作");
    printl("   }");
}

// 执行示例
runDetectExample();
detectMethodExamples();
printl("\n脚本执行完成。请根据实际需求修改和使用这些示例代码。");


页: [1]
查看完整版本: AIWROK软件IOS苹果系统检测目标类[Detect]方法小结