注册 登录
发贴工具
查看: 7|回复: 0
打印 上一主题 下一主题

[24小时收录超级好的网站] 苹果脚本示例7种不同的OCR识别和点击方法

[复制链接]

2547

主题

2595

帖子

1万

积分

积分
15456
跳转到指定楼层
楼主
苹果脚本示例7种不同的OCR识别和点击方法


苹果脚本示例7种不同的OCR识别和点击方法 群发软件发帖工具

  1. // AIWROK苹果系统指定坐标点击综合示例
  2. // 🍎交流QQ群711841924群一,苹果内测群,528816639

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

  8. function main() {
  9.     printl("========== AIWROK苹果系统指定坐标点击综合示例 ==========\n");
  10.    
  11.     // 定义要操作的五个坐标点
  12.     var points = [
  13.         {x: 171, y: 359, name: "位置1"},
  14.         {x: 358, y: 351, name: "位置2"},
  15.         {x: 574, y: 353, name: "位置3"},
  16.         {x: 375, y: 1084, name: "位置4"},
  17.         {x: 580, y: 1081, name: "位置5"}
  18.     ];
  19.    
  20.     printl("将要对以下五个坐标点进行各种点击操作演示:");
  21.     for (var i = 0; i < points.length; i++) {
  22.         printl(points[i].name + ": (" + points[i].x + ", " + points[i].y + ")");
  23.     }
  24.     printl("");

  25.     demoDirectClick(points);           // 示例1: 直接点击方法
  26.     demoPercentClick(points);          // 示例2: 百分比点击方法
  27.     demoDoubleClick(points);           // 示例3: 双击方法
  28.     demoMoveAndClick(points);          // 示例4: 移动后点击方法
  29.     demoMouseUpDownClick(points);      // 示例5: 鼠标按下抬起点击
  30.     demoRandomClickInArea(points);     // 示例6: 区域内随机点击
  31.     demoAdvancedClickMethods(points);  // 示例7: 高级点击方法
  32.    
  33.     printl("\n========== 所有示例执行完毕 ==========");
  34. }

  35. // ========== 示例1: 直接点击方法 ==========
  36. function demoDirectClick(points) {
  37.     printl("【示例1】直接点击方法");
  38.     printl("说明:使用hid.click()直接在指定坐标位置点击\n");

  39.     try {
  40.         for (var i = 0; i < points.length; i++) {
  41.             var point = points[i];
  42.             printl(point.name + " - 绝对坐标点击: x=" + point.x + ", y=" + point.y);
  43.             hid.click(point.x, point.y);
  44.             printl("✓ " + point.name + " 点击成功");
  45.             sleep(500); // 每次点击间隔0.5秒便于观察
  46.         }
  47.     } catch (e) {
  48.         printl("错误: " + e);
  49.     }
  50.     printl("");
  51. }

  52. // ========== 示例2: 百分比点击方法 ==========
  53. function demoPercentClick(points) {
  54.     printl("【示例2】百分比点击方法");
  55.     printl("说明:将绝对坐标转换为屏幕百分比后使用hid.clickPercent()点击\n");

  56.     try {
  57.         // 获取屏幕尺寸(假设标准iOS屏幕尺寸)
  58.         var screenWidth = device.width || 750;
  59.         var screenHeight = device.height || 1334;
  60.         
  61.         printl("屏幕尺寸: " + screenWidth + "x" + screenHeight);
  62.         
  63.         for (var i = 0; i < points.length; i++) {
  64.             var point = points[i];
  65.             
  66.             // 计算百分比坐标
  67.             var xPercent = point.x / screenWidth;
  68.             var yPercent = point.y / screenHeight;
  69.             
  70.             printl(point.name + " - 百分比坐标: x=" + xPercent.toFixed(3) + ", y=" + yPercent.toFixed(3));
  71.             hid.clickPercent(xPercent, yPercent);
  72.             printl("✓ " + point.name + " 百分比点击成功");
  73.             sleep(500);
  74.         }
  75.     } catch (e) {
  76.         printl("错误: " + e);
  77.     }
  78.     printl("");
  79. }

  80. // ========== 示例3: 双击方法 ==========
  81. function demoDoubleClick(points) {
  82.     printl("【示例3】双击方法");
  83.     printl("说明:使用hid.doubleClick()在指定坐标位置执行双击操作\n");

  84.     try {
  85.         for (var i = 0; i < points.length; i++) {
  86.             var point = points[i];
  87.             printl(point.name + " - 绝对坐标双击: x=" + point.x + ", y=" + point.y);
  88.             hid.doubleClick(point.x, point.y);
  89.             printl("✓ " + point.name + " 双击成功");
  90.             sleep(800); // 双击间隔稍短一些
  91.         }
  92.     } catch (e) {
  93.         printl("错误: " + e);
  94.     }
  95.     printl("");
  96. }

  97. // ========== 示例4: 移动后点击方法 ==========
  98. function demoMoveAndClick(points) {
  99.     printl("【示例4】移动后点击方法");
  100.     printl("说明:先移动到目标位置再执行点击操作\n");

  101.     try {
  102.         for (var i = 0; i < points.length; i++) {
  103.             var point = points[i];
  104.             printl(point.name + " - 移动到坐标: x=" + point.x + ", y=" + point.y);
  105.             hid.moveToRealPoint(point.x, point.y);
  106.             sleep(500); // 等待移动完成
  107.             
  108.             printl("执行点击...");
  109.             hid.mouseDown();
  110.             sleep(50);  // 短暂保持按下状态
  111.             hid.mouseUp();
  112.             printl("✓ " + point.name + " 移动后点击成功");
  113.             sleep(500);
  114.         }
  115.     } catch (e) {
  116.         printl("错误: " + e);
  117.     }
  118.     printl("");
  119. }

  120. // ========== 示例5: 鼠标按下抬起点击 ==========
  121. function demoMouseUpDownClick(points) {
  122.     printl("【示例5】鼠标按下抬起点击");
  123.     printl("说明:使用mouseDown和mouseUp组合实现精确控制的点击\n");

  124.     try {
  125.         for (var i = 0; i < points.length; i++) {
  126.             var point = points[i];
  127.             printl(point.name + " - 准备点击: x=" + point.x + ", y=" + point.y);
  128.             
  129.             // 先移动到目标位置
  130.             hid.moveToRealPoint(point.x, point.y);
  131.             sleep(200);
  132.             
  133.             // 执行按下-抬起操作
  134.             hid.mouseDown();
  135.             sleep(100); // 控制按下持续时间
  136.             hid.mouseUp();
  137.             
  138.             printl("✓ " + point.name + " 鼠标按下抬起点击成功");
  139.             sleep(500);
  140.         }
  141.     } catch (e) {
  142.         printl("错误: " + e);
  143.     }
  144.     printl("");
  145. }

  146. // ========== 示例6: 区域内随机点击 ==========
  147. function demoRandomClickInArea(points) {
  148.     printl("【示例6】区域内随机点击");
  149.     printl("说明:在每个坐标点周围的小区域内进行随机点击\n");

  150.     try {
  151.         var radius = 20; // 随机范围半径
  152.         
  153.         for (var i = 0; i < points.length; i++) {
  154.             var point = points[i];
  155.             
  156.             // 生成随机偏移量
  157.             var randomX = point.x + (Math.random() * 2 - 1) * radius;
  158.             var randomY = point.y + (Math.random() * 2 - 1) * radius;
  159.             
  160.             printl(point.name + " - 原始坐标: (" + point.x + ", " + point.y + ")");
  161.             printl("随机点击坐标: (" + Math.round(randomX) + ", " + Math.round(randomY) + ")");
  162.             
  163.             hid.click(Math.round(randomX), Math.round(randomY));
  164.             printl("✓ " + point.name + " 区域内随机点击成功");
  165.             sleep(500);
  166.         }
  167.     } catch (e) {
  168.         printl("错误: " + e);
  169.     }
  170.     printl("");
  171. }

  172. // ========== 示例7: 高级点击方法 ==========
  173. function demoAdvancedClickMethods(points) {
  174.     printl("【示例7】高级点击方法");
  175.     printl("说明:组合多种技术实现更复杂的点击操作\n");

  176.     try {
  177.         printl("方式1: 连续快速点击同一位置");
  178.         for (var i = 0; i < points.length; i++) {
  179.             var point = points[i];
  180.             printl(point.name + " - 执行3次快速点击");
  181.             
  182.             for (var j = 0; j < 3; j++) {
  183.                 hid.click(point.x, point.y);
  184.                 sleep(100); // 快速间隔
  185.             }
  186.             printl("✓ " + point.name + " 快速连击完成");
  187.             sleep(500); // 减少间隔时间
  188.         }
  189.         
  190.         sleep(1000);
  191.         
  192.         printl("方式2: 长按操作");
  193.         for (var i = 0; i < points.length; i++) {
  194.             var point = points[i];
  195.             printl(point.name + " - 执行长按操作");
  196.             
  197.             hid.moveToRealPoint(point.x, point.y);
  198.             sleep(100);
  199.             hid.mouseDown();
  200.             sleep(2000); // 长按2秒
  201.             hid.mouseUp();
  202.             
  203.             printl("✓ " + point.name + " 长按操作完成");
  204.             sleep(500); // 减少间隔时间
  205.         }
  206.         
  207.         sleep(1000);
  208.         
  209.         printl("方式3: 带反馈的点击验证");
  210.         for (var i = 0; i < points.length; i++) {
  211.             var point = points[i];
  212.             printl(point.name + " - 执行带验证的点击");
  213.             
  214.             // 记录点击前状态
  215.             var beforeTime = new Date().getTime();
  216.             
  217.             // 执行点击(使用非阻塞方式)
  218.             hid.moveToRealPoint(point.x, point.y);
  219.             sleep(50);
  220.             hid.mouseDown();
  221.             sleep(30);
  222.             hid.mouseUp();
  223.             
  224.             // 计算耗时
  225.             var afterTime = new Date().getTime();
  226.             var clickDuration = afterTime - beforeTime;
  227.             
  228.             printl("✓ " + point.name + " 点击耗时: " + clickDuration + "ms");
  229.             sleep(500); // 减少等待时间
  230.         }
  231.         
  232.     } catch (e) {
  233.         printl("错误: " + e);
  234.     }
  235.     printl("");
  236. }

  237. // ========== 辅助函数 ==========

  238. /**
  239. * 安全地执行点击操作,包含错误处理
  240. */
  241. function safeClick(x, y, description) {
  242.     try {
  243.         printl("执行点击: " + description);
  244.         hid.click(x, y);
  245.         printl("✓ 点击成功");
  246.         return true;
  247.     } catch (e) {
  248.         printl("✗ 点击失败: " + e.message);
  249.         return false;
  250.     }
  251. }

  252. /**
  253. * 批量执行相同的点击操作
  254. */
  255. function batchClick(points, operationName, clickFunction) {
  256.     printl("批量执行 " + operationName + " 操作");
  257.     var successCount = 0;
  258.    
  259.     for (var i = 0; i < points.length; i++) {
  260.         var point = points[i];
  261.         if (clickFunction(point)) {
  262.             successCount++;
  263.         }
  264.         sleep(500);
  265.     }
  266.    
  267.     printl("批量操作完成,成功: " + successCount + "/" + points.length);
  268.     return successCount === points.length;
  269. }

  270. // 执行主函数
  271. main();
复制代码



untoAIWROK软件安卓脚本FTP上传下载例子nextnocontent
回复

使用道具 举报

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

本版积分规则

相关导读了
    采集亚马逊正版群发工具有没有?
    Apr.20旅行X心语今天来说说YYPOST新功能的一个灵活用法,采集亚马逊商品信息,并且获得排名的软件,亚马逊现在越来越多客户做,淘宝的水是越来越清了,以前做电商的客户,现在都转战到外国,最赚钱的要数一些客户往亚马逊里堆了吧,拿我这个YYPOST的客户,最多的是采集,分析排名,刷价格,刷数量,改价,刷访问量等等技术

    企业发展B2B网站有什么东东软件可以发呢
    标题企业发展网B2B软件,现在虽然B2B网站收录不错,可愁的是心急的人们,他们太想一口吃撑胖子了,发帖宣传虽然不能像佛系那样淡定,但也不能像跑火车那般急躁对待,自己内容不收录,完全是自己操作内容问题,可以参考一下别人的内容是怎么弄的,然后自己要试着转变,而且收录这个内容,常常会变化的,不是一种规则就吃到老

    搜房天下房聊软件哪一个好呢
    本帖最后由 发帖软件 于 2019-5-22 16:15 编辑 2搜房天下群发房聊信息软件,开始本来打算做58同城的,但发一个就要一次点触验证码,这就让人没有感觉到存在的价值了吧,都是卖二手房和新房的搜房天下倒是可以发即时聊天信息,也没有发现他这个网站有啥子限制,登陆一个搜房天下账号,然后采集回来分类列表的网址,然后就一

    大家坛有没有好用的群发工具下载呢
    当你的笑容给我礼貌的招呼,大家坛全自动发帖软件,宣传推广是一场持久战,总是有一些人把软件用了一天,或是几个小时,就觉得自己付出太多了,那加进来的粉丝,或是流量,应该是和宣传多少成正比的,其实没有这么便宜的事,就像很多阅读量超过一百万的视频,或是电影,真正会在屏幕打赏的人不会超过三千,真正大额打赏给主

    群发正版软件中国塑料网
    中国塑料网群发软件YYPOST脚本下载地址,这个网站会有一个很奇怪的问题就是你在首页登陆无半个验证码,但在登陆网址登陆就会有一个验证码,所以我们灵活一些,在首页登陆就不用输入验证码了哈。网站秒收录比较高,但发的都是五金和建筑行业,先前有很多人都是发土建工程的大公司操作的,现在这个网站专为那个行业诞生的吧。

    OpenStreetMap网站正版2019年发帖工具下载
    本帖最后由 发帖软件 于 2019-5-21 11:13 编辑 OpenStreetMap网站全自动群发,OpenStreetMapOpenStreetMap(简称OSM,中文是公开地图)是一个网上地图协作计划,目标是创造一个内容自由且能让所有人编辑的世界地图。有的人编辑地图然后等收录,有的人发日志等收录,我们这里也是利用地图日志做为宣传的目标,简单的脚本理

    搜房天下全自动收短信全自动识别验证码注册账号软件
    房天下自动注册机,这个脚本是前几天发房聊的脚本廷伸品种,这个脚本能做到自动注册账号,自动保存账号,自动发房聊的效果,不过今天我们主要说一说怎么注册账号写脚本吧,这个搜房天天下的账号,可以发提问,可以发房聊,发论坛,发博客,还有发个人中心页都是有秒收的效果的,这样就省去了去买号,去乱花钱的效果了吧,而

    企业邮箱安卓端有什么APP软件可以发的呢
    请输入标题企业邮箱安卓发发送邮箱脚本,这个脚本是利用企业邮箱进行群发的,全程是一种模拟手工操作的过程,所以封号是很少的,而且企业邮箱群发到普通QQ邮箱不容易进垃圾箱中的,所以这个脚本也是这样的原理,不过最好是利用一些多开器,登陆多点的QQ邮箱账号会比较流畅一些,然后用软件一个一个的切换APP进行群发邮件会

    头条留评论软件有没有好用的呢?
    今天整一个今日头条留言软件,对于留言YYPOST是优势是比较大的存在,因为他往往专注一些下拉定位的优点,像今日头条这样,还是需要一些特殊下拉定位的,因为他新闻有长有短,有图有视频的,所以综合起来定位是比较难的,如果用POST也不是很轻松可以破解他的加密参数。这个脚本也是有一个不好的地方就是换号会比较麻烦,您电

    单网页生成神器
    最近新技术,网页生成机占领了整个网络的半壁江山,效果很疯狂,虽然不知道能持续多久,作为开发软件的领头者,一直在找收录的方法,一直在努力创新着,一直被人模仿,却从没有被超越过,这个网页生成机,已经出来有一段时间了,一直没有拿出来分享,醉过醉过,它是利用的一些小小收录漏洞整的,您最好用一些老站域名,进行

关闭
快速回复 返回列表 返回顶部
本站自动发贴软件,是现在最流行的做脚本软件,这种发贴工具,不但发贴收录快,而且抢占好的先机,完全自由编辑,实现针对性群发模拟操作,软件可以顶贴,也可以发贴,可以兼容支持Discuz、PHPWind、Dvbbs三大主流论坛,有手机验证码收件,邮件收发的功能,支持验证码识别,注册问题识别,多线程任务,自动上传头像,自动激活注册邮件,兼容防注册插件,本站软件原创正版,更新效率最快的原创软件。 『网络推广软件』『自动发帖软件』『 自动发帖