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

[24小时收录超级好的网站] 苹果系统里如何使用OCR进行文本识别并执行点击操作

[复制链接]

2384

主题

2432

帖子

1万

积分

积分
14516
苹果系统里如何使用OCR进行文本识别并执行点击操作
苹果系统里如何使用OCR进行文本识别并执行点击操作 群发软件发帖工具

  1. /**
  2. * 苹果OCR点击示例
  3. * 这个示例展示了如何使用OCR进行文本识别并执行点击操作
  4. * 🍎交流QQ群711841924群一,苹果内测群,528816639
  5. */

  6. /**
  7. * 示例1: 基本OCR识别与精确文本点击
  8. * 使用findText方法查找精确文本并点击
  9. */
  10. function ocrClickExample() {
  11.     printl("==== 示例1: 基本OCR识别与精确文本点击 ====");
  12.    
  13.     try {
  14.         // 执行全屏幕OCR识别
  15.         var ocrResult = screen.ocr(0, 0, 1, 1);
  16.         
  17.         // 查找精确文本"确定"
  18.         var target = ocrResult.findText("确定", [0, 0, 1, 1]);
  19.         
  20.         if (target != null) {
  21.             printl("找到文本 '确定',准备点击");
  22.             
  23.             // 获取文本的中心点坐标
  24.             var x = target.x + target.width / 2;
  25.             var y = target.y + target.height / 2;
  26.             
  27.             printl("点击坐标: x=" + x + ", y=" + y);
  28.             
  29.             // 执行点击操作
  30.             hid.click(x * device.width, y * device.height);
  31.             printl("点击成功");
  32.         } else {
  33.             printl("未找到文本 '确定'");
  34.         }
  35.     } catch (e) {
  36.         printl("OCR操作发生错误: " + e);
  37.     }
  38. }

  39. /**
  40. * 示例2: 使用内置的clickRandom方法进行随机位置点击
  41. * 这是更简单的点击方式
  42. */
  43. function ocrClickRandomExample() {
  44.     printl("\n==== 示例2: 使用clickRandom方法进行随机位置点击 ====");
  45.    
  46.     try {
  47.         // 执行OCR识别
  48.         var ocrResult = screen.ocr(0, 0, 1, 1);
  49.         
  50.         // 查找包含"设置"的文本
  51.         var target = ocrResult.findIncludeText("设置", [0, 0, 1, 1]);
  52.         
  53.         if (target != null) {
  54.             printl("找到包含 '设置' 的文本,准备在其区域内随机点击");
  55.             
  56.             // 使用内置的clickRandom方法在文本区域内随机位置点击
  57.             target.clickRandom();
  58.             printl("随机位置点击成功");
  59.         } else {
  60.             printl("未找到包含 '设置' 的文本");
  61.         }
  62.     } catch (e) {
  63.         printl("OCR操作发生错误: " + e);
  64.     }
  65. }

  66. /**
  67. * 示例3: 使用正则表达式查找多个匹配项并点击第一个
  68. */
  69. function ocrRegexClickExample() {
  70.     printl("\n==== 示例3: 使用正则表达式查找多个匹配项并点击第一个 ====");
  71.    
  72.     try {
  73.         // 执行OCR识别
  74.         var ocrResult = screen.ocr(0, 0, 1, 1);
  75.         
  76.         // 使用正则表达式查找包含数字的文本
  77.         var targets = ocrResult.findTextWithRegex("\\d+", [0, 0, 1, 1]);
  78.         
  79.         if (targets != null && targets.length > 0) {
  80.             printl("找到 " + targets.length + " 个包含数字的文本");
  81.             printl("第一个匹配的文本是: " + targets[0].text);
  82.             
  83.             // 点击第一个匹配项
  84.             targets[0].clickRandom();
  85.             printl("点击第一个匹配项成功");
  86.         } else {
  87.             printl("未找到包含数字的文本");
  88.         }
  89.     } catch (e) {
  90.         printl("OCR操作发生错误: " + e);
  91.     }
  92. }

  93. /**
  94. * 示例4: OCR识别后遍历所有文本并点击特定条件的文本
  95. */
  96. function ocrIterateAndClickExample() {
  97.     printl("\n==== 示例4: OCR识别后遍历所有文本并点击特定条件的文本 ====");
  98.    
  99.     try {
  100.         // 执行OCR识别
  101.         var ocrResult = screen.ocr(0, 0, 1, 1);
  102.         
  103.         // 获取所有识别到的文本
  104.         var allDetects = ocrResult.getAllDetect();
  105.         
  106.         printl("总共识别到 " + allDetects.length + " 个文本元素");
  107.         
  108.         // 遍历所有文本
  109.         for (var i = 0; i < allDetects.length; i++) {
  110.             var detect = allDetects[i];
  111.             printl("文本 " + i + ": " + detect.text + ", 位置: [" + detect.x + ", " + detect.y + ", " +
  112.                   detect.width + ", " + detect.height + "]");
  113.             
  114.             // 如果文本包含"取消",点击它
  115.             if (detect.text.includes("取消")) {
  116.                 printl("找到包含 '取消' 的文本,准备点击");
  117.                 detect.clickRandom();
  118.                 printl("点击成功");
  119.                 break; // 点击后退出循环
  120.             }
  121.         }
  122.     } catch (e) {
  123.         printl("OCR操作发生错误: " + e);
  124.     }
  125. }

  126. /**
  127. * 示例5: 区域OCR识别并点击
  128. * 只在屏幕的某个特定区域进行OCR识别
  129. */
  130. function regionOcrClickExample() {
  131.     printl("\n==== 示例5: 区域OCR识别并点击 ====");
  132.    
  133.     try {
  134.         // 定义一个区域: 屏幕的中间部分 (宽度: 60%, 高度: 40%, 居中)
  135.         var region = [0.2, 0.3, 0.8, 0.7];
  136.         
  137.         printl("在区域 [" + region[0] + ", " + region[1] + ", " + region[2] + ", " + region[3] + "] 内进行OCR识别");
  138.         
  139.         // 在指定区域执行OCR识别
  140.         var ocrResult = screen.ocr(region[0], region[1], region[2], region[3]);
  141.         
  142.         // 查找文本
  143.         var target = ocrResult.findText("下一步", region);
  144.         
  145.         if (target != null) {
  146.             printl("在指定区域找到文本 '下一步',准备点击");
  147.             target.clickRandom();
  148.             printl("点击成功");
  149.         } else {
  150.             printl("在指定区域未找到文本 '下一步'");
  151.         }
  152.     } catch (e) {
  153.         printl("OCR操作发生错误: " + e);
  154.     }
  155. }

  156. /**
  157. * 示例6: 综合示例 - 连续OCR识别和点击操作
  158. * 模拟一个简单的自动化流程
  159. */
  160. function comprehensiveOcrExample() {
  161.     printl("\n==== 示例6: 综合示例 - 连续OCR识别和点击操作 ====");
  162.    
  163.     try {
  164.         // 步骤1: 查找并点击"设置"
  165.         printl("步骤1: 查找并点击'设置'");
  166.         var ocrResult1 = screen.ocr(0, 0, 1, 1);
  167.         var settingTarget = ocrResult1.findIncludeText("设置", [0, 0, 1, 1]);
  168.         
  169.         if (settingTarget != null) {
  170.             settingTarget.clickRandom();
  171.             printl("点击设置成功");
  172.             sleep(2000); // 等待2秒,让页面加载
  173.             
  174.             // 步骤2: 在新页面查找并点击"通用"
  175.             printl("步骤2: 查找并点击'通用'");
  176.             var ocrResult2 = screen.ocr(0, 0, 1, 1);
  177.             var generalTarget = ocrResult2.findText("通用", [0, 0, 1, 1]);
  178.             
  179.             if (generalTarget != null) {
  180.                 generalTarget.clickRandom();
  181.                 printl("点击通用成功");
  182.             } else {
  183.                 printl("未找到文本 '通用'");
  184.             }
  185.         } else {
  186.             printl("未找到包含 '设置' 的文本");
  187.         }
  188.     } catch (e) {
  189.         printl("综合示例发生错误: " + e);
  190.     }
  191. }

  192. /**
  193. * 示例7: 使用OCR锁定提高效率
  194. */
  195. function lockedOcrExample() {
  196.     printl("\n==== 示例7: 使用OCR锁定提高效率 ====");
  197.    
  198.     try {
  199.         // 锁定OCR识别结果
  200.         OCR.lockOCR();
  201.         printl("OCR结果已锁定");
  202.         
  203.         // 执行截图
  204.         var image = screen.screenShotFull();
  205.         
  206.         // 在锁定状态下进行多次识别操作
  207.         printl("执行第一次OCR识别");
  208.         var result1 = image.ocr(0, 0, 1, 1);
  209.         var text1 = result1.getAllString();
  210.         printl("第一次识别到的文本数量: " + text1.length);
  211.         
  212.         printl("执行第二次OCR识别");
  213.         var result2 = image.ocr(0, 0, 1, 1);
  214.         var settingTarget = result2.findIncludeText("设置", [0, 0, 1, 1]);
  215.         
  216.         if (settingTarget != null) {
  217.             printl("找到包含 '设置' 的文本");
  218.         }
  219.         
  220.         // 关闭图片
  221.         image.close();
  222.         
  223.         // 释放OCR锁
  224.         OCR.unLock();
  225.         printl("OCR结果已解锁");
  226.     } catch (e) {
  227.         printl("锁定OCR示例发生错误: " + e);
  228.         // 确保在错误情况下也能释放锁
  229.         try {
  230.             OCR.unLock();
  231.         } catch (unlockError) {
  232.             printl("释放锁时发生错误: " + unlockError);
  233.         }
  234.     }
  235. }

  236. /**
  237. * 主函数 - 运行所有示例
  238. */
  239. function main() {
  240.     printl("苹果OCR点击示例集合\n");
  241.    
  242.     // 运行各个示例
  243.     ocrClickExample();
  244.     ocrClickRandomExample();
  245.     ocrRegexClickExample();
  246.     ocrIterateAndClickExample();
  247.     regionOcrClickExample();
  248.     comprehensiveOcrExample();
  249.     lockedOcrExample();
  250.    
  251.     printl("\n所有示例执行完毕!");
  252. }

  253. // 调用主函数运行示例
  254. main();

  255. /**
  256. * 使用说明:
  257. * 1. 这个示例文件包含了7种不同的OCR识别和点击方式
  258. * 2. 你可以根据实际需求选择适合的方法
  259. * 3. 在实际使用时,可能需要根据具体应用的界面调整代码
  260. * 4. 对于连续操作,适当添加sleep等待时间以确保操作的稳定性
  261. * 5. 错误处理是必要的,可以根据需要扩展异常处理逻辑
  262. */
复制代码



untoAIWROK软件列表控件 [uiList] 实例演示next安卓端与H5页面交互的完整实现
回复

使用道具 举报

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

本版积分规则

相关导读了
    采集亚马逊正版群发工具有没有?
    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三大主流论坛,有手机验证码收件,邮件收发的功能,支持验证码识别,注册问题识别,多线程任务,自动上传头像,自动激活注册邮件,兼容防注册插件,本站软件原创正版,更新效率最快的原创软件。 『网络推广软件』『自动发帖软件』『 自动发帖