信息发布软件,b2b软件,广告发布软件

 找回密码
 立即注册
搜索
查看: 1|回复: 0
打印 上一主题 下一主题

[宣传软件网站动态] 苹果系统点击方法综合示例

[复制链接]

772

主题

856

帖子

5488

积分

积分
5488

资讯缩略图:

资讯发布日期:2026-02-02

资讯发布简介:苹果系统点击方法综合示例

资讯关键词:苹果系统点击方法综合示例

资讯所属分类:IT资讯 

联系:

① 本信息收集于网络,如有不对的地方欢迎联系我纠正!
② 本信息免费收录,不存在价格的问题!
③ 如果您的网站也想这样出现在这里,请您加好友情链接,我当天会审核通过!

④友情链接关键字:软件网站分类目录 网址:http://www.postbbs.com/

资讯详细描述
苹果系统点击方法综合示例
  1. // AIWROK苹果系统点击方法综合示例
  2. // 🍎交流QQ群711841924群一,苹果内测群,528816639
  3. // 本文件整合了所有点击相关的操作方法


  4. function sleep(ms) {
  5.     var start = new Date().getTime();
  6.     while (new Date().getTime() - start < ms) {
  7.     }
  8. }

  9. function main() {
  10.     printl("========== AIWROK苹果系统点击方法综合示例 ==========\n");

  11.     demoHidClickMethods();           // 示例1: HID基础点击方法
  12.     demoHidPercentClickMethods();    // 示例2: HID百分比点击方法
  13.     demoHidDoubleClickMethods();      // 示例3: HID双击方法
  14.     demoOcrClickMethods();            // 示例4: OCR识别后点击方法
  15.     demoImageFindClickMethods();      // 示例5: 找图后点击方法
  16.     demoUIClickMethods();             // 示例6: UI组件点击方法
  17.     demoMouseClickMethods();          // 示例7: 鼠标操作方法
  18.     demoAdvancedClickMethods();       // 示例8: 高级点击方法
  19.     demoPracticalClickExamples();     // 示例9: 实用点击场景

  20.     printl("\n========== 所有示例执行完毕 ==========");
  21. }

  22. // ========== 示例1: HID基础点击方法 ==========
  23. function demoHidClickMethods() {
  24.     printl("【示例1】HID基础点击方法");
  25.     printl("说明:使用hid.click()在指定坐标位置点击");

  26.     try {
  27.         var x = 500;
  28.         var y = 800;
  29.         printl("点击坐标: x=" + x + ", y=" + y);
  30.         hid.click(x, y);
  31.         printl("✓ 点击成功");
  32.     } catch (e) {
  33.         printl("错误: " + e);
  34.     }
  35.     printl("");
  36. }

  37. // ========== 示例2: HID百分比点击方法 ==========
  38. function demoHidPercentClickMethods() {
  39.     printl("【示例2】HID百分比点击方法");
  40.     printl("说明:使用hid.clickPercent()在屏幕百分比位置点击");

  41.     try {
  42.         var xPercent = 0.5;
  43.         var yPercent = 0.5;
  44.         printl("点击百分比坐标: x=" + xPercent + ", y=" + yPercent);
  45.         hid.clickPercent(xPercent, yPercent);
  46.         printl("✓ 点击屏幕中心成功");
  47.     } catch (e) {
  48.         printl("错误: " + e);
  49.     }
  50.     printl("");
  51. }

  52. // ========== 示例3: HID双击方法 ==========
  53. function demoHidDoubleClickMethods() {
  54.     printl("【示例3】HID双击方法");
  55.     printl("说明:使用hid.doubleClick()和hid.doubleClickPercent()执行双击操作");

  56.     try {
  57.         printl("方式1: 绝对坐标双击");
  58.         var x = 500;
  59.         var y = 800;
  60.         hid.doubleClick(x, y);
  61.         printl("✓ 绝对坐标双击成功: (" + x + ", " + y + ")");

  62.         sleep(1000);

  63.         printl("方式2: 百分比坐标双击");
  64.         hid.doubleClickPercent(0.5, 0.5);
  65.         printl("✓ 百分比坐标双击成功: (0.5, 0.5)");
  66.     } catch (e) {
  67.         printl("错误: " + e);
  68.     }
  69.     printl("");
  70. }

  71. // ========== 示例4: OCR识别后点击方法 ==========
  72. function demoOcrClickMethods() {
  73.     printl("【示例4】OCR识别后点击方法");
  74.     printl("说明:先使用OCR识别文本,然后点击识别到的文本位置");

  75.     try {
  76.         var ocrResult = screen.ocr(0, 0, 1, 1);

  77.         printl("方式1: 精确查找文本并点击中心点");
  78.         var target1 = ocrResult.findText("设置", [0, 0, 1, 1]);
  79.         if (target1 != null) {
  80.             var centerX = target1.x + target1.width / 2;
  81.             var centerY = target1.y + target1.height / 2;
  82.             printl("找到文本 '设置',点击中心点");
  83.             hid.click(centerX * device.width, centerY * device.height);
  84.             printl("✓ 点击成功");
  85.         } else {
  86.             printl("未找到文本 '设置'");
  87.         }

  88.         sleep(1000);

  89.         printl("方式2: 查找包含特定文本并随机点击");
  90.         var target2 = ocrResult.findIncludeText("日志", [0, 0, 1, 1]);
  91.         if (target2 != null) {
  92.             printl("找到包含 '日志' 的文本");
  93.             target2.clickRandom();
  94.             printl("✓ 随机点击成功");
  95.         } else {
  96.             printl("未找到包含 '日志' 的文本");
  97.         }

  98.         sleep(1000);

  99.         printl("方式3: 使用正则表达式查找并点击");
  100.         var targets = ocrResult.findTextWithRegex("\\d+", [0, 0, 1, 1]);
  101.         if (targets != null && targets.length > 0) {
  102.             printl("找到 " + targets.length + " 个包含数字的文本");
  103.             targets[0].clickRandom();
  104.             printl("✓ 点击第一个匹配项成功");
  105.         } else {
  106.             printl("未找到包含数字的文本");
  107.         }

  108.         sleep(1000);

  109.         printl("方式4: 遍历所有文本并点击符合条件的文本");
  110.         var allDetects = ocrResult.getAllDetect();
  111.         for (var i = 0; i < allDetects.length; i++) {
  112.             var textStr = String(allDetects[i].text);
  113.             if (textStr.indexOf("设置") !== -1) {
  114.                 printl("找到包含 '设置' 的文本");
  115.                 allDetects[i].clickRandom();
  116.                 printl("✓ 点击成功");
  117.                 break;
  118.             }
  119.         }
  120.     } catch (e) {
  121.         printl("错误: " + e);
  122.     }
  123.     printl("");
  124. }

  125. // ========== 示例5: 找图后点击方法 ==========
  126. function demoImageFindClickMethods() {
  127.     printl("【示例5】找图后点击方法");
  128.     printl("说明:先使用OpenCV查找图片,然后点击找到的图片位置");

  129.     try {
  130.         printl("方式1: 使用findImagesEx查找单个图片并点击");
  131.         var detects1 = opencv.findImagesEx('图色769598.cv');
  132.         if (detects1 != null && detects1.length > 0) {
  133.             printl("找到目标,数量: " + detects1.length);
  134.             detects1[0].clickRandom();
  135.             printl("✓ 点击第一个目标成功");
  136.         } else {
  137.             printl("未找到目标");
  138.         }

  139.         sleep(1000);

  140.         printl("方式2: 查找多个相同图片并批量点击");
  141.         var detects2 = opencv.findImagesEx('图色769598.cv');
  142.         if (detects2 != null && detects2.length > 0) {
  143.             printl("找到 " + detects2.length + " 个相同目标");
  144.             for (var i = 0; i < detects2.length; i++) {
  145.                 printl("点击目标 " + (i + 1) + "/" + detects2.length);
  146.                 detects2[i].clickRandom();
  147.                 sleep(300);
  148.             }
  149.             printl("✓ 批量点击完成");
  150.         } else {
  151.             printl("未找到目标");
  152.         }

  153.         sleep(1000);

  154.         printl("方式3: 使用templateMatch查找并点击");
  155.         var image = screen.screenShotFull();
  156.         var mat = image.getMat();
  157.         var templates = ['图色769598.cv', '图色769599.cv'];
  158.         var matchResults = opencv.templateMatch(mat, templates, 0.8, [0, 0, 1, 1], false);
  159.         
  160.         if (matchResults != null && matchResults.length > 0) {
  161.             printl("模板匹配找到 " + matchResults.length + " 个目标");
  162.             matchResults[0].clickRandom();
  163.             printl("✓ 点击第一个匹配目标成功");
  164.         } else {
  165.             printl("未找到匹配目标");
  166.         }
  167.         
  168.         mat.close();
  169.         image.close();

  170.         sleep(1000);

  171.         printl("方式4: 指定区域找图并点击");
  172.         var region = [0.2, 0.2, 0.8, 0.8];
  173.         printl("在区域 [" + region.join(", ") + "] 内查找");
  174.         var regionResults = opencv.findImages(['图色769598.cv'], 0.7, 3000, 1, region);
  175.         
  176.         if (regionResults != null && regionResults.length > 0) {
  177.             printl("在指定区域内找到目标");
  178.             regionResults[0].clickRandom();
  179.             printl("✓ 点击成功");
  180.         } else {
  181.             printl("指定区域内未找到目标");
  182.         }
  183.     } catch (e) {
  184.         printl("错误: " + e);
  185.     }
  186.     printl("");
  187. }

  188. // ========== 示例6: UI组件点击方法 ==========
  189. function demoUIClickMethods() {
  190.     printl("【示例6】UI组件点击方法");
  191.     printl("说明:使用UI组件的onClick方法处理点击事件");

  192.     try {
  193.         printl("方式1: 按钮点击事件");
  194.         var button = new Button();
  195.         button.setText("点击我");
  196.         button.setColor(0, 150, 0);
  197.         button.onClick(() => {
  198.             printl("按钮被点击了!");
  199.             hid.clickPercent(0.5, 0.5);
  200.         });
  201.         printl("✓ 按钮点击事件已设置");

  202.         printl("方式2: 复选框点击事件");
  203.         var checkBox = new CheckBox();
  204.         checkBox.setText("启用选项");
  205.         checkBox.onClick(() => {
  206.             printl("复选框状态: " + (checkBox.isSelect() ? "选中" : "未选中"));
  207.         });
  208.         printl("✓ 复选框点击事件已设置");

  209.         printl("方式3: 标签点击事件(通过Button模拟)");
  210.         var labelButton = new Button();
  211.         labelButton.setText("标签按钮");
  212.         labelButton.setColor(100, 100, 100);
  213.         labelButton.onClick(() => {
  214.             printl("标签按钮被点击");
  215.         });
  216.         printl("✓ 标签按钮点击事件已设置");

  217.         printl("方式4: 闭包保存参数的点击事件");
  218.         for (var i = 0; i < 3; i++) {
  219.             var btn = new Button();
  220.             btn.setText("按钮" + i);
  221.             btn.setColor(50 + i * 50, 100, 150);
  222.             (function(index) {
  223.                 btn.onClick(() => {
  224.                     printl("按钮" + index + "被点击");
  225.                     hid.clickPercent(0.3 + index * 0.2, 0.5);
  226.                 });
  227.             })(i);
  228.         }
  229.         printl("✓ 闭包参数点击事件已设置");
  230.     } catch (e) {
  231.         printl("错误: " + e);
  232.     }
  233.     printl("");
  234. }

  235. // ========== 示例7: 鼠标操作方法 ==========
  236. function demoMouseClickMethods() {
  237.     printl("【示例7】鼠标操作方法");
  238.     printl("说明:使用鼠标相关方法进行点击和移动操作");

  239.     try {
  240.         printl("方式1: 鼠标按下");
  241.         hid.mouseDown();
  242.         printl("✓ 鼠标按下");
  243.         sleep(500);

  244.         printl("方式2: 鼠标抬起");
  245.         hid.mouseUp();
  246.         printl("✓ 鼠标抬起");
  247.         sleep(500);

  248.         printl("方式3: 鼠标移动(相对位置)");
  249.         hid.mouseMove(10, 10);
  250.         printl("✓ 鼠标向右移动10,向下移动10");
  251.         sleep(500);

  252.         printl("方式4: 鼠标回到主页");
  253.         hid.mouseHome();
  254.         printl("✓ 鼠标回到主页");
  255.         sleep(500);

  256.         printl("方式5: 移动到绝对坐标");
  257.         hid.moveToRealPoint(500, 500);
  258.         printl("✓ 鼠标移动到坐标(500, 500)");
  259.     } catch (e) {
  260.         printl("错误: " + e);
  261.     }
  262.     printl("");
  263. }

  264. // ========== 示例8: 高级点击方法 ==========
  265. function demoAdvancedClickMethods() {
  266.     printl("【示例8】高级点击方法");
  267.     printl("说明:组合使用多种点击方法实现复杂操作");

  268.     try {
  269.         printl("方式1: 点击指定区域内的随机点");
  270.         function clickRandomInRegion(x1, y1, x2, y2) {
  271.             var randomX = x1 + Math.random() * (x2 - x1);
  272.             var randomY = y1 + Math.random() * (y2 - y1);
  273.             printl("点击随机点: (" + randomX.toFixed(2) + ", " + randomY.toFixed(2) + ")");
  274.             hid.clickPercent(randomX, randomY);
  275.         }
  276.         clickRandomInRegion(0.3, 0.3, 0.7, 0.7);
  277.         printl("✓ 区域内随机点击成功");

  278.         sleep(1000);

  279.         printl("方式2: 连续点击多个位置");
  280.         var clickPoints = [
  281.             [0.2, 0.2],
  282.             [0.5, 0.5],
  283.             [0.8, 0.8]
  284.         ];
  285.         for (var i = 0; i < clickPoints.length; i++) {
  286.             printl("点击位置 " + (i + 1) + ": (" + clickPoints[i][0] + ", " + clickPoints[i][1] + ")");
  287.             hid.clickPercent(clickPoints[i][0], clickPoints[i][1]);
  288.             sleep(500);
  289.         }
  290.         printl("✓ 连续点击完成");

  291.         sleep(1000);

  292.         printl("方式3: 等待目标出现后点击");
  293.         function waitForTargetAndClick(targetText, maxWaitTime) {
  294.             var startTime = Date.now();
  295.             while (Date.now() - startTime < maxWaitTime) {
  296.                 try {
  297.                     var ocrResult = screen.ocr(0, 0, 1, 1);
  298.                     var target = ocrResult.findIncludeText(targetText, [0, 0, 1, 1]);
  299.                     if (target != null) {
  300.                         printl("✓ 目标 '" + targetText + "' 已出现,点击");
  301.                         target.clickRandom();
  302.                         return true;
  303.                     }
  304.                     sleep(500);
  305.                 } catch (e) {
  306.                     printl("查找出错: " + e);
  307.                 }
  308.             }
  309.             printl("✗ 超时,目标未出现");
  310.             return false;
  311.         }
  312.         waitForTargetAndClick("设置", 5000);

  313.         sleep(1000);

  314.         printl("方式4: 查找并点击最接近指定坐标的目标");
  315.         function findAndClickNearestTarget(cvFile, targetX, targetY) {
  316.             var detects = opencv.findImagesEx(cvFile);
  317.             if (detects == null || detects.length === 0) {
  318.                 printl("未找到目标");
  319.                 return false;
  320.             }
  321.             
  322.             var nearestIndex = 0;
  323.             var minDistance = Number.MAX_VALUE;
  324.             
  325.             for (var i = 0; i < detects.length; i++) {
  326.                 var centerX = detects[i].x + detects[i].width / 2;
  327.                 var centerY = detects[i].y + detects[i].height / 2;
  328.                 var distance = Math.sqrt(Math.pow(centerX - targetX, 2) + Math.pow(centerY - targetY, 2));
  329.                
  330.                 if (distance < minDistance) {
  331.                     minDistance = distance;
  332.                     nearestIndex = i;
  333.                 }
  334.             }
  335.             
  336.             printl("找到最近的目标,距离: " + minDistance.toFixed(2));
  337.             detects[nearestIndex].clickRandom();
  338.             return true;
  339.         }
  340.         findAndClickNearestTarget('图色769598.cv', 500, 500);

  341.         sleep(1000);

  342.         printl("方式5: 批量点击所有匹配目标");
  343.         function clickAllTargets(detects) {
  344.             if (detects == null || detects.length === 0) {
  345.                 printl("没有可点击的目标");
  346.                 return;
  347.             }
  348.             
  349.             printl("准备点击 " + detects.length + " 个目标");
  350.             for (var i = 0; i < detects.length; i++) {
  351.                 printl("点击目标 " + (i + 1) + ": x=" + detects[i].x + ", y=" + detects[i].y);
  352.                 detects[i].clickRandom();
  353.                 sleep(300);
  354.             }
  355.             printl("✓ 所有目标点击完成");
  356.         }
  357.         var allDetects = opencv.findImagesEx('图色769598.cv');
  358.         if (allDetects != null && allDetects.length > 0) {
  359.             clickAllTargets(allDetects);
  360.         }
  361.     } catch (e) {
  362.         printl("错误: " + e);
  363.     }
  364.     printl("");
  365. }

  366. // ========== 示例9: 实用点击场景 ==========
  367. function demoPracticalClickExamples() {
  368.     printl("【示例9】实用点击场景");
  369.     printl("说明:实际应用中的点击操作场景");

  370.     try {
  371.         printl("场景1: 3x3区域点击网格");
  372.         for (var y = 0; y < 3; y++) {
  373.             for (var x = 0; x < 3; x++) {
  374.                 var clickX = 0.25 + x * 0.25;
  375.                 var clickY = 0.25 + y * 0.25;
  376.                 printl("点击区域 (" + x + "," + y + ") - 坐标 (" + clickX.toFixed(2) + "," + clickY.toFixed(2) + ")");
  377.                 hid.clickPercent(clickX, clickY);
  378.                 sleep(300);
  379.             }
  380.         }
  381.         printl("✓ 3x3网格点击完成");

  382.         sleep(1000);

  383.         printl("场景2: 随机点击屏幕");
  384.         for (var i = 0; i < 5; i++) {
  385.             var randomX = Math.random();
  386.             var randomY = Math.random();
  387.             printl("随机点击 " + (i + 1) + "/5: (" + randomX.toFixed(2) + ", " + randomY.toFixed(2) + ")");
  388.             hid.clickPercent(randomX, randomY);
  389.             sleep(800);
  390.         }
  391.         printl("✓ 随机点击完成");

  392.         sleep(1000);

  393.         printl("场景3: 边缘点击(测试边界)");
  394.         try {
  395.             var edgePoints = [
  396.                 [0.1, 0.1],    // 左上
  397.                 [0.9, 0.1],    // 右上
  398.                 [0.1, 0.9],    // 左下
  399.                 [0.9, 0.9]     // 右下
  400.             ];
  401.             for (var i = 0; i < edgePoints.length; i++) {
  402.                 printl("点击边缘点 " + (i + 1) + ": (" + edgePoints[i][0] + ", " + edgePoints[i][1] + ")");
  403.                 hid.clickPercent(edgePoints[i][0], edgePoints[i][1]);
  404.                 sleep(500);
  405.             }
  406.             printl("✓ 边缘点击完成");
  407.         } catch (e) {
  408.             printl("边缘点击出错: " + e);
  409.         }

  410.         sleep(1000);

  411.         printl("场景4: OCR锁定后多次点击");
  412.         try {
  413.             OCR.lockOCR();
  414.             printl("OCR结果已锁定");
  415.             
  416.             var image = screen.screenShotFull();
  417.             var result1 = image.ocr(0, 0, 1, 1);
  418.             var target1 = result1.findIncludeText("设置", [0, 0, 1, 1]);
  419.             if (target1 != null) {
  420.                 target1.clickRandom();
  421.                 printl("✓ 第一次点击成功");
  422.             }
  423.             
  424.             var result2 = image.ocr(0, 0, 1, 1);
  425.             var target2 = result2.findIncludeText("日志", [0, 0, 1, 1]);
  426.             if (target2 != null) {
  427.                 target2.clickRandom();
  428.                 printl("✓ 第二次点击成功");
  429.             }
  430.             
  431.             image.close();
  432.             OCR.unLock();
  433.             printl("OCR结果已解锁");
  434.         } catch (e) {
  435.             printl("OCR锁定点击出错: " + e);
  436.             try {
  437.                 OCR.unLock();
  438.             } catch (unlockError) {
  439.                 printl("解锁错误: " + unlockError);
  440.             }
  441.         }

  442.         sleep(1000);

  443.         printl("场景5: 综合自动化流程");
  444.         try {
  445.             printl("步骤1: 查找并点击 '设置'");
  446.             var ocrResult1 = screen.ocr(0, 0, 1, 1);
  447.             var settingTarget = ocrResult1.findIncludeText("设置", [0, 0, 1, 1]);
  448.             if (settingTarget != null) {
  449.                 settingTarget.clickRandom();
  450.                 printl("✓ 点击设置成功");
  451.                 sleep(2000);

  452.                 printl("步骤2: 查找并点击 '日志'");
  453.                 var ocrResult2 = screen.ocr(0, 0, 1, 1);
  454.                 var logTarget = ocrResult2.findIncludeText("日志", [0, 0, 1, 1]);
  455.                 if (logTarget != null) {
  456.                     logTarget.clickRandom();
  457.                     printl("✓ 点击日志成功");
  458.                 } else {
  459.                     printl("未找到文本 '日志'");
  460.                 }
  461.             } else {
  462.                 printl("未找到包含 '设置' 的文本");
  463.             }
  464.             printl("✓ 综合流程完成");
  465.         } catch (e) {
  466.             printl("综合流程错误: " + e);
  467.         }
  468.     } catch (e) {
  469.         printl("错误: " + e);
  470.     }
  471.     printl("");
  472. }

  473. // ========== 辅助函数 ==========

  474. function getTargetCenter(detect) {
  475.     if (detect == null) {
  476.         return null;
  477.     }
  478.     return {
  479.         x: detect.x + detect.width / 2,
  480.         y: detect.y + detect.height / 2
  481.     };
  482. }

  483. function isTargetInRegion(detect, region) {
  484.     if (detect == null) {
  485.         return false;
  486.     }
  487.     var centerX = detect.x + detect.width / 2;
  488.     var centerY = detect.y + detect.height / 2;
  489.     return centerX >= region[0] && centerX <= region[2] &&
  490.            centerY >= region[1] && centerY <= region[3];
  491. }

  492. function safeFindImage(cvFile, maxRetries) {
  493.     for (var retry = 0; retry < maxRetries; retry++) {
  494.         try {
  495.             printl("查找图片: " + cvFile + " (尝试 " + (retry + 1) + "/" + maxRetries + ")");
  496.             var detects = opencv.findImagesEx(cvFile);
  497.             
  498.             if (detects != null && detects.length > 0) {
  499.                 printl("✓ 找到目标");
  500.                 return detects;
  501.             }
  502.             
  503.             if (retry < maxRetries - 1) {
  504.                 printl("未找到,等待重试...");
  505.                 sleep(1000);
  506.             }
  507.         } catch (error) {
  508.             printl("查找出错: " + error);
  509.             if (retry < maxRetries - 1) {
  510.                 sleep(2000);
  511.             }
  512.         }
  513.     }
  514.     printl("✗ 未找到图片: " + cvFile);
  515.     return null;
  516. }

  517. // ========== 方法总结 ==========

  518. function printMethodSummary() {
  519.     printl("\n========== 点击方法总结 ==========");
  520.     printl("\n【HID点击方法】");
  521.     printl("1. hid.click(x, y) - 在指定坐标位置点击");
  522.     printl("2. hid.clickPercent(xPercent, yPercent) - 在屏幕百分比位置点击");
  523.     printl("3. hid.doubleClick(x, y) - 在指定坐标位置双击");
  524.     printl("4. hid.doubleClickPercent(xPercent, yPercent) - 在屏幕百分比位置双击");

  525.     printl("\n【OCR点击方法】");
  526.     printl("1. target.clickRandom() - 在OCR识别到的文本区域内随机点击");
  527.     printl("2. 通过计算中心点后使用hid.click()点击 - 精确点击文本中心");

  528.     printl("\n【找图点击方法】");
  529.     printl("1. detects[i].clickRandom() - 在找到的图片区域内随机点击");
  530.     printl("2. opencv.findImagesEx() - 查找单个图片");
  531.     printl("3. opencv.findImages() - 查找多个图片");
  532.     printl("4. opencv.templateMatch() - 模板匹配查找");

  533.     printl("\n【UI组件点击方法】");
  534.     printl("1. button.onClick(callback) - 按钮点击事件");
  535.     printl("2. checkBox.onClick(callback) - 复选框点击事件");

  536.     printl("\n【鼠标操作方法】");
  537.     printl("1. hid.mouseDown() - 鼠标按下");
  538.     printl("2. hid.mouseUp() - 鼠标抬起");
  539.     printl("3. hid.mouseMove(x, y) - 移动鼠标相对位置");
  540.     printl("4. hid.mouseHome() - 鼠标回到主页");
  541.     printl("5. hid.moveToRealPoint(x, y) - 移动到绝对坐标");

  542.     printl("\n【高级点击方法】");
  543.     printl("1. 区域内随机点击 - 在指定区域内随机选择位置点击");
  544.     printl("2. 连续点击多个位置 - 按顺序点击多个坐标点");
  545.     printl("3. 等待目标出现后点击 - 轮询查找目标直到超时");
  546.     printl("4. 查找并点击最近目标 - 计算距离选择最近的目标点击");
  547.     printl("5. 批量点击所有匹配目标 - 遍历所有找到的目标并点击");

  548.     printl("\n【实用场景】");
  549.     printl("1. 3x3区域点击网格 - 测试屏幕不同区域");
  550.     printl("2. 随机点击屏幕 - 模拟用户随机操作");
  551.     printl("3. 边缘点击 - 测试边界区域");
  552.     printl("4. OCR锁定后多次点击 - 提高效率避免重复识别");
  553.     printl("5. 综合自动化流程 - 模拟实际应用操作流程");

  554.     printl("\n========== 方法总结完毕 ==========\n");
  555. }

  556. // 执行主函数
  557. main();

  558. // 打印方法总结
  559. printMethodSummary();
复制代码





untoAIWROK苹果系统找图方法完整示例集合nextnocontent
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

相关导读
信息发布软件苹果系统点击方法综合示例
苹果系统点击方法综合示例
信息发布软件AIWROK苹果系统找图方法完整示例集合
AIWROK苹果系统找图方法完整示例集合
信息发布软件苹果系统找图方法完整示例集合
苹果系统找图方法完整示例集合
信息发布软件苹果IOS系统找字OCR方法例子
苹果IOS系统找字OCR方法例子
信息发布软件AIWORK软件数组高级示例
AIWORK软件数组高级示例
信息发布软件AIWROK软件运算符封装库示例
AIWROK软件运算符封装库示例
信息发布软件AIWROK软件语法运行小示例
AIWROK软件语法运行小示例
信息发布软件AIWROK软件JS循环小示例
AIWROK软件JS循环小示例
信息发布软件AIWROK软件H5网页被主脚本获取值用法
AIWROK软件H5网页被主脚本获取值用法
信息发布软件AIWROK软件创建可暂停恢复的多线程任务
AIWROK软件创建可暂停恢复的多线程任务
信息发布软件AIWROK软件类型转换方法例子
AIWROK软件类型转换方法例子
信息发布软件AIWROK软件H5脚本执行与进度显示
AIWROK软件H5脚本执行与进度显示 .
信息发布软件AIWROK软件根据时间段执行异步任务支持多线程并行处理
AIWROK软件根据时间段执行异步任务支持多线程并行处理
信息发布软件H5自动开关执行脚本功能演示
H5自动开关执行脚本功能演示
信息发布软件AIWROK软件H5单选脚本运行示例
AIWROK软件H5单选脚本运行示例
信息发布软件H5任务脚本选择与执行中心
H5任务脚本选择与执行中心
信息发布软件H5里CheckBox控件演示
H5里CheckBox控件演示
信息发布软件AIWROK软件正则用法实际例子
AIWROK软件正则用法实际例子
信息发布软件AIWROK软件权限管理器实现
AIWROK软件权限管理器实现
信息发布软件AIWORK软件节点方法无碍示例子
AIWORK软件节点方法无碍示例子
信息发布软件JSON.stringify 和 JSON.parse 完整示例
JSON.stringify 和 JSON.parse 完整示例
信息发布软件AIWROK软件展示JavaScript各种语句标识符的用法
AIWROK软件展示JavaScript各种语句标识符的用法
信息发布软件JS巧妙地组合使用各种条件语句
JS巧妙地组合使用各种条件语句
信息发布软件AIWROK手机数据库MySQL数据库截图片批量上传操作脚本
AIWROK手机数据库MySQL数据库截图片批量上传操作脚本
信息发布软件HID中文输入智能打字功能
HID中文输入智能打字功能
信息发布软件AIWROK软件对象工具函数库例子
AIWROK软件对象工具函数库例子
信息发布软件AIWROK软件H5交互演示黄色主题
AIWROK软件H5交互演示黄色主题
信息发布软件H5单按钮执行脚本示例
H5单按钮执行脚本示例
信息发布软件苹果H5界面完整调用脚本示例
苹果H5界面完整调用脚本示例
信息发布软件AIWROK软件平台设备信息全面检测工具例子
AIWROK软件平台设备信息全面检测工具例子
信息发布软件AIWROK创建和放大日志窗口并展示动态内容
AIWROK创建和放大日志窗口并展示动态内容
信息发布软件AIWROK软件device相关方法获取设备信息例子
AIWROK软件device相关方法获取设备信息例子[/backcolor]
信息发布软件数据库MySQL实时内容随机调用
数据库MySQL实时内容随机调用
信息发布软件AIWROK软件分享一个特效苹果H5页面
AIWROK软件分享一个特效苹果H5页面
信息发布软件数据库MYQ业务流程心跳程序启动
数据库MYQ业务流程心跳程序启动
信息发布软件数据库MySQL功能支持创建表插入中文数据查询删除功能例子
数据库MySQL功能支持创建表插入中文数据查询删除功能例子
信息发布软件AIWROK软件Zip 高级操作复杂示例
AIWROK软件Zip 高级操作复杂示例
信息发布软件AIWROK软件txt_文件读写方法小结
AIWROK软件txt_文件读写方法小结
信息发布软件AIWROK软件file文件操作方法小结
AIWROK软件file文件操作方法小结
信息发布软件AIWORK软件配置读写H5演示配套脚本
AIWORK软件配置读写H5演示配套脚本
信息发布软件AIWROK配置读写功能演示示例
AIWROK配置读写功能演示示例
信息发布软件AIWROK截图缓存工具
AIWROK截图缓存工具
信息发布软件AIWROK线程许可证工具
AIWROK线程许可证工具
信息发布软件整理了AIWROK环境下常用的Date对象和sleep对象方法
整理了AIWROK环境下常用的Date对象和sleep对象方法
信息发布软件FastUI界面普通用法
FastUI界面普通用法
信息发布软件FastUI界面类[window]方法小结
FastUI界面类[window]方法小结 方法 1:close(关闭指定窗口)方法 2:closeAll(关闭所有窗口)方法 3:loadUI(加载 UI 界面)方法 4:onClose(监听窗口关闭事件)方法 5:onLoad(监听窗口加载事件)方法 6:setFull(设置窗口全屏)方法 7:setHeight(设置窗口高度)方法 8:setHidden(隐藏窗口)方法 9:setLeft(设置窗口 X 轴坐标)方法 10:setTop(设置窗口 Y 轴坐标)方法 11:setVisable(显示隐藏的窗口)方
信息发布软件AIWROK软件按钮监听UI界面与事件监听功能演示
AIWROK软件按钮监听UI界面与事件监听功能演示.
信息发布软件AWIROK软件多选[uiCheckBox]方法小结
AWIROK软件多选方法小结 方法一:findByID 加载多选控件方法二:getAllChecked 获取所有选中项方法三:getAllSelect 获取所有选项方法四:getChecked 获取某个选项是否选中方法五:setChecked 设置某个选项是否选中方法六:setCheckeds 设置多个选项是否选中方法七:setHeight 设置高度
信息发布软件AIWROK日志演示开启日志显示 → 放大 → 关闭代码
AIWROK日志演示开启日志显示 → 放大 → 关闭代码
信息发布软件&#127983;AIWROK数组方法高级应用案例
🏯AIWROK数组方法高级应用案例
信息发布软件AIWROK软件日志悬浮窗简化版自动切换位置
AIWROK软件日志悬浮窗简化版自动切换位置
信息发布软件AIWROK软件String实例演示
AIWROK软件String实例演示
信息发布软件AIWROK软件S内置String类[String]方法小结
AIWROK软件S内置String类[String]方法小结 方法 1:charAt[/backcolor]方法 2:charCodeAt[/backcolor]方法 3:indexOf[/backcolor]方法 4:lastIndexOf[/backcolor]方法 5:length[/backcolor]方法 6:match[/backcolor]方法 7:replace[/backcolor]方法 8:replaceAll[/backcolor]方法 9:split[/backcolor]方法 10:startsWith[/backcolor]方法 11:substr[/backcolor]方法 12:substring[/backcolor]方法 13:trim[/backcol
信息发布软件AIWROK软件完整的WebSocket客户端示例
这段代码是一个完整的WebSocket客户端示例,用于连接到指定的WebSocket服务器并处理各种事件。具体来说,代码的作用如下: 定义服务器地址:首先定义了一个服务器的IP地址和端口号 var ip = "154.37.221.104:8886";。 创建WebSocket对象:尝试创建一个新的WebSocket对象 var ws = new WebSocket();。注意,这里的 new ws() 应该是 new WebSocket()。 添加事件监听器:代码中尝试为WebSocket对象添加事件监听器,但这里有一个错误。
信息发布软件AIWROK软件苹果系统中实现四种基本滑动操作
AIWROK软件苹果系统中实现四种基本滑动操作
信息发布软件hid的滑动没有百分比坐标滑动吗
hid的滑动没有百分比坐标滑动吗
信息发布软件单选控件[uiRadioButton]方法小结
单选控件方法小结 方法 1:加载单选控件[/backcolor]方法 2:获取选中项[/backcolor]方法 3:设置高度[/backcolor]方法 4:设置选中项[/backcolor]
信息发布软件AIWROK软件无障碍触摸操作示例:点击、左右滑动、上下滑动实例
AIWROK软件无障碍触摸操作示例:点击、左右滑动、上下滑动实例
信息发布软件AIWROK软件安卓随机工具应用函数生成
AIWROK软件安卓随机工具应用函数生成
信息发布软件用在AIWORK软件代码中的实用符号分类整理2
用在AIWORK软件代码中的实用符号分类整理2 软件IDE用Emoji符号分类整理(含用途说明)一、表情与情感1. 微笑 [*]😀 笑脸(基础开心反馈,用于操作成功后的友好提示) [*]😃 笑脸大眼睛(强化开心情绪,用于重要任务完成后的积极反馈) [*]😄 笑脸和微笑的眼睛(温和友好的状态,用于日常交互中的正向回应) [*]😁 带着微笑的眼睛(轻松愉悦的反馈,用于轻度成功或趣味操作) [*]
信息发布软件AIWROK软件图像二值化的各种方法和应用场景
AIWROK软件图像二值化的各种方法和应用场景
信息发布软件AIWROK软件找图区分页面变化和卡死状态
AIWROK软件找图区分页面变化和卡死状态
信息发布软件AIWROK苹果系统Map 数据管理[map]小结
AIWROK苹果系统Map 数据管理[map]小结 方法一:add(添加键值对)[/backcolor]方法二:delete(删除指定键值对)[/backcolor]方法三:clear(清空所有键值对)[/backcolor]方法四:get(根据键获取值)[/backcolor]方法五:getAllValue(获取所有值)[/backcolor]方法六:toString(转换为字符串)[/backcolor]完整示例:
信息发布软件AIWROK软件用图找图示例templateMat方法
AIWROK软件用图找图示例templateMat方法
信息发布软件苹果JS代码运行时[selfRunTime]小结
苹果JS代码运行时[selfRunTime]小结 方法一:stop 停止运行[/backcolor]方法二:runOnUIThread ui 线程中运行函数[/backcolor]

QQ|( 京ICP备09078825号 )

本网站信息发布软件,是可以发布论坛,发送信息到各大博客,各大b2b软件自动发布,好不夸张的说:只要手工能发在电脑打开IE能发的网站,用这个宣传软件就可以仿制动作,进行推送发到您想发送的B2B网站或是信息发布平台上,不管是后台,还是前台,都可以进行最方便的广告发布,这个广告发布软件,可以按月购买,还可以试用软件,对网站的验证码也可以完全自动对信息发布,让客户自动找上门,使企业轻松实现b2b发布,这个信息发布软件,均是本站原创正版开发,拥有正版的血统,想要新功能,欢迎提意见给我,一好的分类信息群发软件在手,舍我其谁。QQ896757558

GMT+8, 2026-2-2 10:50 , Processed in 0.542112 second(s), 50 queries .

宣传软件--信息发布软件--b2b软件广告发布软件

快速回复 返回顶部 返回列表