YYPOST群发软件 发表于 2026-6-30 06:41:53

完整苹果IOS小脚本文本输入与粘贴流程


完整苹果IOS小脚本文本输入与粘贴流程




/*
AIWROK 自动化任务 - 文本输入与粘贴流程
*/

// ==================== 配置 ====================
var cvFile1 = '图色132334.cv';   // 第一步: 定位并点击应用图标中心点
var cvFile2 = '图色470275.cv';   // 第二步: 定位并点击编辑区域中心点
var cvFile3 = '图色646551.cv';   // 第三步: 定位并点击完成按钮中心点
var testSimilarity = 0.7;      // 相似度阈值
var maxRetryCount = 3;         // 最大重试次数
var waitAfterClick = 2;          // 点击后等待秒数
var loopCount = 3;               // 循环次数

printl("══════════════════════════════════════╗");
printl("║自动化任务: 文本输入与粘贴流程       ║");
printl("╚══════════════════════════════════════╝");
printl("");

// ==================== 辅助函数 ====================
function findAndClick(cvFileName, description, waitTime) {
    printl("▶ " + description);
    var detects = opencv.findImagesEx(cvFileName);
   
    if (detects != null && detects.length > 0) {
      var rect = detects.getRect();
      var score = detects.score() * 100;
      printl("✓ 找到目标: " + cvFileName);
      printl("    位置: (" + rect.getCenterX() + ", " + rect.getCenterY() + ")");
      printl("    相似度: " + score.toFixed(1) + "%");
      
      detects.clickRandom();
      printl("✓ 已点击");
      sleep.second(秒=waitTime);
      return true;
    } else {
      printl("✗ 未找到: " + cvFileName);
      return false;
    }
}

function findWithRetry(cvFileName, description, maxRetry) {
    for (var i = 0; i < maxRetry; i++) {
      printl("尝试 " + (i + 1) + "/" + maxRetry + "...");
      var detects = opencv.findImagesEx(cvFileName);
      
      if (detects != null && detects.length > 0) {
            var rect = detects.getRect();
            printl("✓ 第" + (i + 1) + "次成功找到!");
            printl("    位置: (" + rect.getCenterX() + ", " + rect.getCenterY() + ")");
            
            detects.clickRandom();
            printl("✓ 已点击");
            sleep.second(秒=waitAfterClick);
            return true;
      }
      
      if (i < maxRetry - 1) {
            sleep.second(秒=1);
      }
    }
   
    printl("✗ 重试" + maxRetry + "次后仍未找到");
    return false;
}

// ==================== 主流程 ====================
for (var loop = 1; loop <= loopCount; loop++) {
    printl("");
    printl("━━━━━━━━━━ 第 " + loop + " 轮循环 ━━━━━━━━━━");
    printl("");
   
    // 步骤1: 点击应用图标打开应用
    var step1Success = findAndClick(cvFile1, "步骤1: 点击应用图标", waitAfterClick);
    if (!step1Success) {
      printl("⚠️ 步骤1失败,跳过本轮循环");
      continue;
    }
    printl("");
   
    // 步骤2: 点击编辑区域
    var step2Success = findAndClick(cvFile2, "步骤2: 点击编辑区域", waitAfterClick);
    if (!step2Success) {
      printl("⚠️ 步骤2失败,跳过本轮循环");
      continue;
    }
    printl("");
   
    // 步骤3: 使用画中画复制粘贴功能输入文本
    printl("▶ 步骤3: 使用画中画复制粘贴功能");
    try {
      // 设置要输入的文本内容
      var inputText = "AIWROK自动化测试文本";
            
      // 使用clipboard.copyToClipboard复制到剪贴板
      clipboard.copyToClipboard(inputText);
      printl("✓ 已复制文本到剪贴板: " + inputText);
      sleep.second(秒=1);
            
      // 使用hid.paste粘贴内容
      printl("执行粘贴操作...");
      hid.paste();
      printl("✓ 已完成粘贴操作");
      sleep.second(秒=1);
            
    } catch (e) {
      printl("⚠️ 剪贴板操作异常: " + e);
    }
    printl("");
   
    // 步骤4: 点击完成按钮
    var step4Success = findAndClick(cvFile3, "步骤4: 点击完成按钮", waitAfterClick);
    if (!step4Success) {
      printl("⚠️ 步骤4失败,但继续执行");
    }
    printl("");
   
    // 步骤5: 返回iOS主页面
    printl("▶ 步骤5: 返回iOS主页面");
    try {
      // 使用hid.home()返回主页
      printl("执行hid.home()返回主页...");
      hid.home();
      printl("✓ 已返回iOS主页面");
      sleep.second(秒=waitAfterClick);
    } catch (e) {
      printl("⚠️ hid.home()失败,尝试hid.mouseHome()...");
      try {
            hid.mouseHome();
            printl("✓ 已使用hid.mouseHome()返回主页");
            sleep.second(秒=waitAfterClick);
      } catch (e2) {
            printl("✗ 所有返回方式均失败: " + e2);
            printl("   请手动返回主页后继续");
      }
    }
    printl("");
   
    printl("━━━━━━━━━━ 第 " + loop + " 轮完成 ━━━━━━━━━━");
}

// ==================== 总结 ====================
printl("");
printl("═══════════ 全部流程执行完毕 ═══════════");
printl("");
printl("&#128204; 执行摘要:");
printl("总循环次数: " + loopCount);
printl("使用的模板文件:");
printl("    - " + cvFile1 + " (打开应用)");
printl("    - " + cvFile2 + " (编辑区域)");
printl("    - " + cvFile3 + " (完成按钮)");
printl("");
printl("&#128161; 注意事项:");
printl("1. 确保所有.cv文件在项目资源目录中");
printl("2. 根据实际界面调整粘贴按钮的点击坐标");
printl("3. 可根据需要修改loopCount增加循环次数");
printl("4. 如果找不到图标,降低testSimilarity值");


页: [1]
查看完整版本: 完整苹果IOS小脚本文本输入与粘贴流程