自动发帖软件

标题: 安卓脚本auto方法完整示例 [打印本页]

作者: 发帖软件    时间: 10 小时前
标题: 安卓脚本auto方法完整示例
安卓脚本auto方法完整示例
安卓脚本auto方法完整示例 群发软件发帖工具
  1. /**
  2. * 交流QQ群: 711841924 (群一) / 528816639 (安卓内测群)
  3. * 演示back、backToImage、backToText、checkImage、clickImage的实际应用场景
  4. * 保留完整功能代码 + H5日志界面适配
  5. */

  6. // ==================== 示例1: back - 标准返回 ====================
  7. function demoExample() {
  8.     printl("━━━━━━━━━━━━━━━━━━━━━━━━━━━━");
  9.     printl(" 示例1: back 标准返回操作");
  10.     printl("━━━━━━━━━━━━━━━━━━━━━━━━━━━━");
  11.     sleep.second(1);
  12.    
  13.     printl("即将返回上一页");
  14.     sleep.second(0.5);
  15.    
  16.     // 核心功能代码:调用 auto.back() 返回上一页
  17.     // auto.back();  // 注释掉,避免返回后无法继续执行后续示例
  18.         
  19.     sleep.second(1);
  20.     printl("✅ 已执行返回操作(演示模式)");
  21.     sleep.second(0.5);
  22.         
  23.     // 注意:返回操作会离开H5界面,实际使用时需要重新打开
  24.     printl(" 提示:返回操作后会离开当前H5界面");
  25.     sleep.second(0.5);
  26.     printl(" 如需继续显示日志,需重新加载H5界面");
  27.     sleep.second(1.5);
  28. }

  29. // ==================== 示例2: backToImage - 图片引导返回 ====================
  30. function 找图后退() {
  31.     printl("━━━━━━━━━━━━━━━━━━━━━━━━━━━━");
  32.     printl(" 示例2: backToImage 图片引导返回");
  33.     printl("━━━━━━━━━━━━━━━━━━━━━━━━━━━━");
  34.     sleep.second(1);
  35.    
  36.     // 步骤1: 截取整个屏幕的截图
  37.     printl(" 步骤1: 截取屏幕...");
  38.     var img = screen.screenShotFull();
  39.     sleep.second(0.5);
  40.    
  41.     // 步骤2: 从截图中裁剪特定区域的图片
  42.     printl(" 步骤2: 裁剪目标区域...");
  43.     var cutimg = img.cutImagePercent(0.8869, 0.0572, 0.9434, 0.0825);
  44.     sleep.second(0.5);
  45.    
  46.     // 步骤3: 定义保存图片的路径
  47.     var imgPath = "/sdcard/cutimg.png";
  48.    
  49.     // 步骤4: 将裁剪后的图片保存到指定路径
  50.     printl(" 步骤3: 保存图片: " + imgPath);
  51.     cutimg.save(imgPath);
  52.     sleep.second(0.5);
  53.    
  54.     // 步骤5: 打印图片信息
  55.     printl(" 图片信息(模拟): 122 × 97");
  56.     sleep.second(0.5);
  57.    
  58.     // 步骤6: 释放截图资源
  59.     printl(" 步骤4: 释放资源...");
  60.     img.recycle();
  61.     sleep.second(0.5);
  62.    
  63.     // 步骤7: 创建包含图片路径的数组
  64.     var imgPathArray = [imgPath];
  65.    
  66.     // 步骤8: 核心功能代码 - 自动根据图片路径数组进行回退操作
  67.     printl(" 步骤5: 执行 backToImage(已注释,避免中断后续示例)...");
  68.     // auto.backToImage(imgPathArray, 0.8, 10000, 0, [0, 0, 1, 1]);
  69.     sleep.second(1);
  70.     printl("✅ 图片引导返回演示完成");
  71.     sleep.second(1.5);
  72. }

  73. // ==================== 示例3: backToText - 文字引导返回 ====================
  74. function 回退到指定页面() {
  75.     printl("━━━━━━━━━━━━━━━━━━━━━━━━━━━━");
  76.     printl(" 示例3: backToText 文字引导返回");
  77.     printl("━━━━━━━━━━━━━━━━━━━━━━━━━━━━");
  78.     sleep.second(1);
  79.    
  80.     // 步骤1: 定义需要查找的文本
  81.     var targetText = "关注||我的";
  82.     printl(" 目标文本: " + targetText);
  83.     sleep.second(0.5);
  84.    
  85.     // 步骤2: 设置超时时间为10秒
  86.     var timeout = 10000;
  87.     printl(" 超时时间: " + timeout + "毫秒");
  88.     sleep.second(0.5);
  89.    
  90.     // 步骤3: 核心功能代码 - 尝试回到包含指定文本的页面
  91.     printl(" 执行 backToText(已注释,避免中断后续示例)...");
  92.     // var result = auto.backToText(targetText, timeout);
  93.    
  94.     // 模拟结果用于演示
  95.     var result = true;
  96.    
  97.     // 检查操作结果
  98.     if (result) {
  99.         printl("✅ 成功回退到指定页面(模拟结果)");
  100.     } else {
  101.         printl(" 未能找到指定页面或操作超时");
  102.     }
  103.    
  104.     sleep.second(1.5);
  105. }

  106. // ==================== 示例4: checkImage - 图像检测 ====================
  107. function 检测图片存在() {
  108.     printl("━━━━━━━━━━━━━━━━━━━━━━━━━━━━");
  109.     printl(" 示例4: checkImage 图像检测");
  110.     printl("━━━━━━━━━━━━━━━━━━━━━━━━━━━━");
  111.     sleep.second(1);
  112.    
  113.     // 步骤1: 定义图片数组
  114.     var images = ["image1.png", "image2.jpg", "image3.bmp"];
  115.     printl(" 检测图片: " + images.length + " 张");
  116.     sleep.second(0.5);
  117.    
  118.     // 步骤2: 设置参数
  119.     var similarity = 0.8;
  120.     var timeout = 5000;
  121.     var quality = 1;
  122.     printl(" 相似度: " + similarity);
  123.     printl(" 超时: " + timeout + "ms");
  124.     printl(" 质量: " + quality);
  125.     sleep.second(0.5);
  126.    
  127.     // 步骤3: 设置百分比区域
  128.     var region = [0, 0, 1, 1];
  129.     printl(" 搜索区域: 全图");
  130.     sleep.second(0.5);
  131.    
  132.     // 步骤4: 核心功能代码 - 调用checkImage函数
  133.     printl(" 执行 checkImage...");
  134.     var result = auto.checkImage(images, similarity, timeout, quality, region);
  135.     sleep.second(0.5);
  136.    
  137.     // 步骤5: 打印结果
  138.     if (result) {
  139.         printl("✅ 找到匹配图片");
  140.     } else {
  141.         printl("❌ 未找到匹配图片");
  142.     }
  143.    
  144.     sleep.second(1.5);
  145. }

  146. // ==================== 示例5: clickImage - 图像点击 ====================
  147. function 点击图片() {
  148.     printl("━━━━━━━━━━━━━━━━━━━━━━━━━━━━");
  149.     printl(" 示例5: clickImage 图像点击");
  150.     printl("━━━━━━━━━━━━━━━━━━━━━━━━━━━━");
  151.     sleep.second(1);
  152.    
  153.     // 步骤1: 截取屏幕并裁剪图片
  154.     printl(" 步骤1: 截图并裁剪...");
  155.     var img = screen.screenShotFull();
  156.     var cutimg = img.cutImagePercent(0.8906, 0.0547, 0.9462, 0.085);
  157.     img.recycle();
  158.     sleep.second(0.5);
  159.    
  160.     // 步骤2: 定义图片数组(使用字符串路径)
  161.     var images = ["cutimg", "target2.png", "target3.png"];
  162.     var targetIndex = 0; // 点击找到的第一个目标
  163.     printl(" 目标数量: " + images.length);
  164.     sleep.second(0.5);
  165.    
  166.     // 步骤3: 设置匹配参数
  167.     var similarity = 0.8;
  168.     var timeout = 5000;
  169.     var imageQuality = 1;
  170.     var searchRegion = [0, 0, 1, 1];
  171.     printl(" 相似度: " + similarity);
  172.     sleep.second(0.5);
  173.    
  174.     // 步骤4: 核心功能代码 - 执行点击操作
  175.     printl(" 步骤2: 执行 clickImage...");
  176.     var result = auto.clickImage(images, targetIndex, similarity, timeout, imageQuality, searchRegion);
  177.     sleep.second(0.5);
  178.    
  179.     // 步骤5: 打印结果
  180.     if (result) {
  181.         printl("✅ 点击成功");
  182.     } else {
  183.         printl("❌ 点击失败");
  184.     }
  185.    
  186.     sleep.second(1.5);
  187. }

  188. // ==================== 示例6: 综合实战 - 完整业务流程 ====================
  189. function 完整业务流程() {
  190.     printl("══════════════════════════════════════");
  191.     printl(" 示例6: 完整业务流程演示");
  192.     printl("══════════════════════════════════════");
  193.     sleep.second(1.5);
  194.    
  195.     // 阶段1: 环境准备
  196.     printl("【阶段1】环境准备");
  197.     sleep.second(0.5);
  198.     printl("  • 初始化截图资源...");
  199.     var screenshot = screen.screenShotFull();
  200.     sleep.second(1);
  201.     printl("  • 创建图片存储目录...");
  202.     // file.createDirectory("/sdcard/aiwrok");  // 此方法在AIWROK中不存在,跳过
  203.     sleep.second(1);
  204.     printl("  ✅ 环境准备完成");
  205.     sleep.second(1);
  206.    
  207.     // 阶段2: 图片处理
  208.     printl("【阶段2】图片处理");
  209.     sleep.second(0.5);
  210.     printl("  • 裁剪目标区域...");
  211.     var cutimg = screenshot.cutImagePercent(0.8869, 0.0572, 0.9434, 0.0825);
  212.     sleep.second(0.8);
  213.    
  214.     var imgPath = "/sdcard/aiwrok/target.png";
  215.     printl("  • 保存图片: " + imgPath);
  216.     cutimg.save(imgPath);
  217.     sleep.second(0.8);
  218.    
  219.     printl("  • 释放资源...");
  220.     screenshot.recycle();
  221.     sleep.second(0.5);
  222.     printl("  ✅ 图片处理完成");
  223.     sleep.second(1);
  224.    
  225.     // 阶段3: 图像检测
  226.     printl("【阶段3】图像检测");
  227.     sleep.second(0.5);
  228.     var imgPathArray = [imgPath];
  229.     printl("  • 检测图片存在性...");
  230.     var checkResult = auto.checkImage(imgPathArray, 0.8, 5000, 1, [0, 0, 1, 1]);
  231.     sleep.second(1);
  232.    
  233.     if (checkResult) {
  234.         printl("  ✅ 图片检测成功");
  235.     } else {
  236.         printl("  ❌ 图片检测失败");
  237.         return false;
  238.     }
  239.     sleep.second(1);
  240.    
  241.     // 阶段4: 文字定位
  242.     printl("【阶段4】文字定位");
  243.     sleep.second(0.5);
  244.     var targetText = "首页||我的";
  245.     printl("  • 搜索关键词: " + targetText);
  246.     sleep.second(0.5);
  247.    
  248.     printl("  • 执行 backToText(已注释,避免中断后续示例)...");
  249.     // var textResult = auto.backToText(targetText, 10000);
  250.    
  251.     // 模拟结果用于演示
  252.     var textResult = true;
  253.     sleep.second(1);
  254.    
  255.     if (textResult) {
  256.         printl("  ✅ 文字定位成功");
  257.     } else {
  258.         printl("  ⚠️ 文字定位超时,继续执行...");
  259.     }
  260.     sleep.second(1);
  261.    
  262.     // 阶段5: 点击操作
  263.     printl("【阶段5】点击操作");
  264.     sleep.second(0.5);
  265.     printl("  • 准备点击目标...");
  266.     var clickTargets = [imgPath];
  267.     sleep.second(0.5);
  268.    
  269.     printl("  • 执行 clickImage...");
  270.     var clickResult = auto.clickImage(clickTargets, 0, 0.8, 8000, 1, [0, 0, 1, 1]);
  271.     sleep.second(1);
  272.    
  273.     if (clickResult) {
  274.         printl("  ✅ 点击成功");
  275.     } else {
  276.         printl("  ❌ 点击失败");
  277.     }
  278.     sleep.second(1);
  279.    
  280.     // 阶段6: 返回验证
  281.     printl("【阶段6】返回验证");
  282.     sleep.second(0.5);
  283.     printl("  • 使用图片引导返回(已注释,避免中断后续示例)...");
  284.     // var backResult = auto.backToImage(imgPathArray, 0.8, 10000, 1, [0, 0, 1, 1]);
  285.    
  286.     // 模拟结果用于演示
  287.     var backResult = true;
  288.     sleep.second(1);
  289.    
  290.     if (backResult) {
  291.         printl("  ✅ 返回成功");
  292.     } else {
  293.         printl("  ⚠️ 返回超时");
  294.     }
  295.     sleep.second(1);
  296.    
  297.     // 最终结果
  298.     printl("━━━━━━━━━━━━━━━━━━━━━━━━━━━━");
  299.     printl(" 业务流程执行完毕");
  300.     printl("━━━━━━━━━━━━━━━━━━━━━━━━━━━━");
  301.     sleep.second(1);
  302.    
  303.     return true;
  304. }

  305. // ==================== 主程序入口 ====================
  306. function main() {
  307.     printl("╔══════════════════════════════════════╗");
  308.     printl("║   AIWROK auto方法实战演示        ║");
  309.     printl("╚══════════════════════════════════════╝");
  310.     printl("");
  311.     sleep.second(1);
  312.    
  313.     printl("本演示包含 6 个完整功能示例:");
  314.     sleep.second(0.8);
  315.     printl("  1️⃣  back - 标准返回操作");
  316.     sleep.second(0.5);
  317.     printl("  2️⃣  backToImage - 图片引导返回");
  318.     sleep.second(0.5);
  319.     printl("  3️⃣  backToText - 文字引导返回");
  320.     sleep.second(0.5);
  321.     printl("  4️  checkImage - 图像检测");
  322.     sleep.second(0.5);
  323.     printl("  5️⃣  clickImage - 图像点击");
  324.     sleep.second(0.5);
  325.     printl("  6️  完整业务流程演示");
  326.     sleep.second(1.5);
  327.    
  328.     printl("开始演示...");
  329.     printl("");
  330.     sleep.second(2);
  331.    
  332.     // 依次执行所有示例(每个示例都包含完整功能代码)
  333.     demoExample();
  334.     找图后退();
  335.     回退到指定页面();
  336.     检测图片存在();
  337.     点击图片();
  338.     完整业务流程();
  339.    
  340.     // 结束语
  341.     printl("");
  342.     printl("╔══════════════════════════════════════╗");
  343.     printl("║       全部演示完成                 ║");
  344.     printl("╚══════════════════════════════════════╝");
  345.     printl("");
  346.     sleep.second(1);
  347.    
  348.     printl("提示:");
  349.     sleep.second(0.5);
  350.     printl("• 每个示例都包含完整可执行的功能代码");
  351.     sleep.second(0.5);
  352.     printl("• 可根据实际需求修改参数和路径");
  353.     sleep.second(0.5);
  354.     printl("• 注意及时释放图片资源避免内存泄漏");
  355.     sleep.second(0.5);
  356.     printl("• 合理设置超时时间和相似度参数");
  357.     sleep.second(1);
  358.    
  359.     printl("");
  360.     printl("感谢使用 AIWROK auto方法演示");
  361. }

  362. // 启动演示
  363. main();
复制代码







欢迎光临 自动发帖软件 (http://www.fatiegongju.com/) Powered by Discuz! X3.2