 | |  |  | AIWROK软件IOS苹果系统检测目标类[Detect]方法方法小结
- // 🔨检测目标类 [Detect] 方法小结
- // 第一个方法:📌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
- */
- // 🔨检测目标类 [Detect] 实际运行示例
- // 创建一个可以实际运行的示例
- 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[i];
-
- 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[j], [0, 0, 1, 1]);
- if (textDetect != null) {
- foundTarget = textDetect;
- printl("找到文本 '" + commonTexts[j] + "',分数: " + 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[i];");
- printl(" var score = detect.score(); // 获取置信度");
- printl(" var rect = detect.getRect(); // 获取区域坐标");
- printl(" printl('目标' + i + ' 分数:' + score + ' 区域:' + rect);");
- printl(" }");
-
- printl("\n3. 查找特定文本并操作:");
- printl(" var target = ocrResult.findText('确定', [0, 0, 1, 1]);");
- printl(" if (target != null) {");
- printl(" printl('找到目标,置信度: ' + target.score());");
- printl(" // target.click(); // 点击中心点");
- printl(" // target.clickRandom(); // 随机点击");
- printl(" }");
-
- printl("\n4. 查找包含特定文本的目标:");
- printl(" var targets = ocrResult.findIncludeTexts('领', [0, 0, 1, 1]);");
- printl(" for (var j = 0; j < targets.length; j++) {");
- printl(" printl('目标区域: ' + targets[j].getRect());");
- printl(" // targets[j].click(); // 执行点击操作");
- printl(" }");
- }
- // 执行示例
- runDetectExample();
- detectMethodExamples();
- printl("\n脚本执行完成。请根据实际需求修改和使用这些示例代码。");
复制代码
| |  | |  |
|