B2B网络软件

标题: 完整苹果IOS小脚本文本输入与粘贴流程 [打印本页]

作者: YYPOST群发软件    时间: 1 小时前
标题: 完整苹果IOS小脚本文本输入与粘贴流程

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


完整苹果IOS小脚本文本输入与粘贴流程 B2B网络软件

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

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

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

  16. // ==================== 辅助函数 ====================
  17. function findAndClick(cvFileName, description, waitTime) {
  18.     printl("▶ " + description);
  19.     var detects = opencv.findImagesEx(cvFileName);
  20.    
  21.     if (detects != null && detects.length > 0) {
  22.         var rect = detects[0].getRect();
  23.         var score = detects[0].score() * 100;
  24.         printl("  ✓ 找到目标: " + cvFileName);
  25.         printl("    位置: (" + rect.getCenterX() + ", " + rect.getCenterY() + ")");
  26.         printl("    相似度: " + score.toFixed(1) + "%");
  27.         
  28.         detects[0].clickRandom();
  29.         printl("  ✓ 已点击");
  30.         sleep.second(秒=waitTime);
  31.         return true;
  32.     } else {
  33.         printl("  ✗ 未找到: " + cvFileName);
  34.         return false;
  35.     }
  36. }

  37. function findWithRetry(cvFileName, description, maxRetry) {
  38.     for (var i = 0; i < maxRetry; i++) {
  39.         printl("  尝试 " + (i + 1) + "/" + maxRetry + "...");
  40.         var detects = opencv.findImagesEx(cvFileName);
  41.         
  42.         if (detects != null && detects.length > 0) {
  43.             var rect = detects[0].getRect();
  44.             printl("  ✓ 第" + (i + 1) + "次成功找到!");
  45.             printl("    位置: (" + rect.getCenterX() + ", " + rect.getCenterY() + ")");
  46.             
  47.             detects[0].clickRandom();
  48.             printl("  ✓ 已点击");
  49.             sleep.second(秒=waitAfterClick);
  50.             return true;
  51.         }
  52.         
  53.         if (i < maxRetry - 1) {
  54.             sleep.second(秒=1);
  55.         }
  56.     }
  57.    
  58.     printl("  ✗ 重试" + maxRetry + "次后仍未找到");
  59.     return false;
  60. }

  61. // ==================== 主流程 ====================
  62. for (var loop = 1; loop <= loopCount; loop++) {
  63.     printl("");
  64.     printl("━━━━━━━━━━ 第 " + loop + " 轮循环 ━━━━━━━━━━");
  65.     printl("");
  66.    
  67.     // 步骤1: 点击应用图标打开应用
  68.     var step1Success = findAndClick(cvFile1, "步骤1: 点击应用图标", waitAfterClick);
  69.     if (!step1Success) {
  70.         printl("⚠️ 步骤1失败,跳过本轮循环");
  71.         continue;
  72.     }
  73.     printl("");
  74.    
  75.     // 步骤2: 点击编辑区域
  76.     var step2Success = findAndClick(cvFile2, "步骤2: 点击编辑区域", waitAfterClick);
  77.     if (!step2Success) {
  78.         printl("⚠️ 步骤2失败,跳过本轮循环");
  79.         continue;
  80.     }
  81.     printl("");
  82.    
  83.     // 步骤3: 使用画中画复制粘贴功能输入文本
  84.     printl("▶ 步骤3: 使用画中画复制粘贴功能");
  85.     try {
  86.         // 设置要输入的文本内容
  87.         var inputText = "AIWROK自动化测试文本";
  88.             
  89.         // 使用clipboard.copyToClipboard复制到剪贴板
  90.         clipboard.copyToClipboard(inputText);
  91.         printl("  ✓ 已复制文本到剪贴板: " + inputText);
  92.         sleep.second(秒=1);
  93.             
  94.         // 使用hid.paste粘贴内容
  95.         printl("  执行粘贴操作...");
  96.         hid.paste();
  97.         printl("  ✓ 已完成粘贴操作");
  98.         sleep.second(秒=1);
  99.             
  100.     } catch (e) {
  101.         printl("  ⚠️ 剪贴板操作异常: " + e);
  102.     }
  103.     printl("");
  104.    
  105.     // 步骤4: 点击完成按钮
  106.     var step4Success = findAndClick(cvFile3, "步骤4: 点击完成按钮", waitAfterClick);
  107.     if (!step4Success) {
  108.         printl("⚠️ 步骤4失败,但继续执行");
  109.     }
  110.     printl("");
  111.    
  112.     // 步骤5: 返回iOS主页面
  113.     printl("▶ 步骤5: 返回iOS主页面");
  114.     try {
  115.         // 使用hid.home()返回主页
  116.         printl("  执行hid.home()返回主页...");
  117.         hid.home();
  118.         printl("  ✓ 已返回iOS主页面");
  119.         sleep.second(秒=waitAfterClick);
  120.     } catch (e) {
  121.         printl("  ⚠️ hid.home()失败,尝试hid.mouseHome()...");
  122.         try {
  123.             hid.mouseHome();
  124.             printl("  ✓ 已使用hid.mouseHome()返回主页");
  125.             sleep.second(秒=waitAfterClick);
  126.         } catch (e2) {
  127.             printl("  ✗ 所有返回方式均失败: " + e2);
  128.             printl("   请手动返回主页后继续");
  129.         }
  130.     }
  131.     printl("");
  132.    
  133.     printl("━━━━━━━━━━ 第 " + loop + " 轮完成 ━━━━━━━━━━");
  134. }

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







欢迎光临 B2B网络软件 (http://bbs.niubt.cn/) Powered by Discuz! X3.2