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

[24小时收录超级好的网站] 苹果IOS系统找字OCR方法例子

[复制链接]

2465

主题

2513

帖子

1万

积分

积分
14992
跳转到指定楼层
楼主

苹果IOS系统找字OCR方法例子
苹果IOS系统找字OCR方法例子 群发软件发帖工具
苹果IOS系统找字OCR方法例子 群发软件发帖工具
苹果IOS系统找字OCR方法例子 群发软件发帖工具



  1. // 苹果系统找字方法综合示例
  2. // 交流QQ群711841924

  3. function printl(msg) {
  4.     console.log(msg);
  5. }

  6. function sleep(ms) {
  7.     return new Promise(resolve => setTimeout(resolve, ms));
  8. }

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

  11.     example1_getAllString();        // 示例1: 获取所有识别的文本
  12.     example2_getAllDetect();        // 示例2: 获取所有识别的目标对象
  13.     example3_findText();            // 示例3: 精确查找特定文本
  14.     example4_findIncludeText();     // 示例4: 查找包含特定文本的单个目标
  15.     example5_findIncludeTexts();    // 示例5: 查找包含特定文本的多个目标
  16.     example6_findTextWithRegex();   // 示例6: 正则表达式查找
  17.     example7_getJSON();             // 示例7: 获取JSON格式结果
  18.     example8_lockOCR();             // 示例8: OCR缓存锁定机制
  19.     example9_clickRandom();         // 示例9: 随机位置点击
  20.     example10_regionOCR();          // 示例10: 区域OCR识别
  21.     example11_iterateTexts();       // 示例11: 遍历所有文本
  22.     example12_stringMethods();      // 示例12: JavaScript String类方法
  23.     example13_opencvOCR();          // 示例13: OpenCV找图找字
  24.     example14_safeOCR();            // 示例14: 安全OCR操作(带重试机制)
  25.     example15_comprehensiveFlow();  // 示例15: 综合自动化流程

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

  28. function example1_getAllString() {
  29.     printl("【示例1】getAllString - 获取所有识别的文本");
  30.     try {
  31.         var ocrResult = screen.ocr(0, 0, 1, 1);
  32.         var allText = ocrResult.getAllString();
  33.         printl("识别到的所有文本: " + allText);
  34.         printl("文本长度: " + allText.length);
  35.     } catch (e) {
  36.         printl("错误: " + e);
  37.     }
  38.     printl("");
  39. }

  40. function example2_getAllDetect() {
  41.     printl("【示例2】getAllDetect - 获取所有识别的目标对象");
  42.     try {
  43.         var ocrResult = screen.ocr(0, 0, 1, 1);
  44.         var detects = ocrResult.getAllDetect();
  45.         printl("识别到的目标数量: " + detects.length);
  46.         for (var i = 0; i < Math.min(5, detects.length); i++) {
  47.             printl("目标" + i + ": " + detects[i].text);
  48.         }
  49.     } catch (e) {
  50.         printl("错误: " + e);
  51.     }
  52.     printl("");
  53. }

  54. function example3_findText() {
  55.     printl("【示例3】findText - 精确查找特定文本");
  56.     try {
  57.         var ocrResult = screen.ocr(0, 0, 1, 1);
  58.         var target = ocrResult.findText("确定", [0, 0, 1, 1]);
  59.         if (target != null) {
  60.             printl("找到文本: " + target.text);
  61.             printl("位置: x=" + target.x + ", y=" + target.y);
  62.             printl("尺寸: width=" + target.width + ", height=" + target.height);
  63.         } else {
  64.             printl("未找到文本 '确定'");
  65.         }
  66.     } catch (e) {
  67.         printl("错误: " + e);
  68.     }
  69.     printl("");
  70. }

  71. function example4_findIncludeText() {
  72.     printl("【示例4】findIncludeText - 查找包含特定文本的单个目标");
  73.     try {
  74.         var ocrResult = screen.ocr(0, 0, 1, 1);
  75.         var target = ocrResult.findIncludeText("设置", [0, 0, 1, 1]);
  76.         if (target != null) {
  77.             printl("找到包含 '设置' 的文本: " + target.text);
  78.         } else {
  79.             printl("未找到包含 '设置' 的文本");
  80.         }
  81.     } catch (e) {
  82.         printl("错误: " + e);
  83.     }
  84.     printl("");
  85. }

  86. function example5_findIncludeTexts() {
  87.     printl("【示例5】findIncludeTexts - 查找包含特定文本的多个目标");
  88.     try {
  89.         var ocrResult = screen.ocr(0, 0, 1, 1);
  90.         var targets = ocrResult.findIncludeTexts("按钮", [0, 0, 1, 1]);
  91.         printl("找到包含 '按钮' 的文本数量: " + targets.length);
  92.         for (var i = 0; i < Math.min(3, targets.length); i++) {
  93.             printl("目标" + i + ": " + targets[i].text);
  94.         }
  95.     } catch (e) {
  96.         printl("错误: " + e);
  97.     }
  98.     printl("");
  99. }

  100. function example6_findTextWithRegex() {
  101.     printl("【示例6】findTextWithRegex - 正则表达式查找");
  102.     try {
  103.         var ocrResult = screen.ocr(0, 0, 1, 1);
  104.         var targets = ocrResult.findTextWithRegex("\\d+", [0, 0, 1, 1]);
  105.         printl("找到包含数字的文本数量: " + targets.length);
  106.         for (var i = 0; i < Math.min(3, targets.length); i++) {
  107.             printl("数字文本" + i + ": " + targets[i].text);
  108.         }

  109.         var diamondTargets = ocrResult.findTextWithRegex("领.*?钻石", [0, 0, 1, 1]);
  110.         if (diamondTargets != null && diamondTargets.length > 0) {
  111.             printl("找到匹配 '领.*?钻石' 的文本: " + diamondTargets[0].text);
  112.         }
  113.     } catch (e) {
  114.         printl("错误: " + e);
  115.     }
  116.     printl("");
  117. }

  118. function example7_getJSON() {
  119.     printl("【示例7】getJSON - 获取JSON格式结果");
  120.     try {
  121.         var ocrResult = screen.ocr(0, 0, 1, 1);
  122.         var json = ocrResult.getJSON();
  123.         printl("JSON结果长度: " + json.length);
  124.         printl("JSON前100字符: " + json.substring(0, 100));
  125.     } catch (e) {
  126.         printl("错误: " + e);
  127.     }
  128.     printl("");
  129. }

  130. function example8_lockOCR() {
  131.     printl("【示例8】lockOCR/unLock - OCR缓存锁定");
  132.     try {
  133.         OCR.lockOCR();
  134.         printl("OCR结果已锁定");

  135.         var image = screen.screenShotFull();
  136.         var result1 = image.ocr(0, 0, 1, 1);
  137.         var text1 = result1.getAllString();
  138.         printl("第一次识别文本长度: " + text1.length);

  139.         var result2 = image.ocr(0, 0, 1, 1);
  140.         var target = result2.findIncludeText("设置", [0, 0, 1, 1]);
  141.         if (target != null) {
  142.             printl("在锁定状态下找到文本: " + target.text);
  143.         }

  144.         image.close();
  145.         OCR.unLock();
  146.         printl("OCR结果已解锁");
  147.     } catch (e) {
  148.         printl("错误: " + e);
  149.         try {
  150.             OCR.unLock();
  151.         } catch (unlockError) {
  152.             printl("解锁错误: " + unlockError);
  153.         }
  154.     }
  155.     printl("");
  156. }

  157. function example9_clickRandom() {
  158.     printl("【示例9】clickRandom - 随机位置点击");
  159.     try {
  160.         var ocrResult = screen.ocr(0, 0, 1, 1);
  161.         var target = ocrResult.findText("确定", [0, 0, 1, 1]);
  162.         if (target != null) {
  163.             printl("找到文本: " + target.text);
  164.             printl("方式1: 使用clickRandom()在文本区域内随机点击");
  165.             target.clickRandom();
  166.             printl("点击成功");
  167.         } else {
  168.             printl("未找到文本 '确定'");
  169.         }
  170.     } catch (e) {
  171.         printl("错误: " + e);
  172.     }
  173.     printl("");
  174. }

  175. function example10_regionOCR() {
  176.     printl("【示例10】区域OCR识别");
  177.     try {
  178.         var region = [0.2, 0.3, 0.8, 0.7];
  179.         printl("识别区域: [" + region.join(", ") + "]");

  180.         var ocrResult = screen.ocr(region[0], region[1], region[2], region[3]);
  181.         var allText = ocrResult.getAllString();
  182.         printl("区域内识别到的文本长度: " + allText.length);

  183.         var target = ocrResult.findText("下一步", region);
  184.         if (target != null) {
  185.             printl("在区域内找到文本: " + target.text);
  186.         } else {
  187.             printl("区域内未找到文本 '下一步'");
  188.         }
  189.     } catch (e) {
  190.         printl("错误: " + e);
  191.     }
  192.     printl("");
  193. }

  194. function example11_iterateTexts() {
  195.     printl("【示例11】遍历所有文本");
  196.     try {
  197.         var ocrResult = screen.ocr(0, 0, 1, 1);
  198.         var allDetects = ocrResult.getAllDetect();
  199.         printl("总共识别到 " + allDetects.length + " 个文本元素");

  200.         for (var i = 0; i < Math.min(5, allDetects.length); i++) {
  201.             var detect = allDetects[i];
  202.             printl("文本" + i + ": " + detect.text);
  203.             printl("  位置: [" + detect.x + ", " + detect.y + ", " + detect.width + ", " + detect.height + "]");

  204.             if (detect.text.includes("取消")) {
  205.                 printl("  找到包含 '取消' 的文本,准备点击");
  206.                 detect.clickRandom();
  207.                 printl("  点击成功");
  208.                 break;
  209.             }
  210.         }
  211.     } catch (e) {
  212.         printl("错误: " + e);
  213.     }
  214.     printl("");
  215. }

  216. function example12_stringMethods() {
  217.     printl("【示例12】JavaScript String类方法");
  218.     var text = "Hello World";

  219.     printl("原始文本: " + text);
  220.     printl("charAt(0): " + text.charAt(0));
  221.     printl("indexOf('o'): " + text.indexOf("o"));
  222.     printl("lastIndexOf('o'): " + text.lastIndexOf("o"));
  223.     printl("length: " + text.length);
  224.     printl("match(/[a-z]/g): " + text.match(/[a-z]/g));
  225.     printl("replace('Hello', 'Hi'): " + text.replace("Hello", "Hi"));
  226.     printl("replaceAll('l', 'L'): " + text.replaceAll("l", "L"));
  227.     printl("split(' '): " + text.split(" "));
  228.     printl("startsWith('He'): " + text.startsWith("He"));
  229.     printl("substr(0, 5): " + text.substr(0, 5));
  230.     printl("substring(0, 5): " + text.substring(0, 5));
  231.     printl("trim(): '" + "  Hello  ".trim() + "'");
  232.     printl("");
  233. }

  234. function example13_opencvOCR() {
  235.     printl("【示例13】OpenCV OCR");
  236.     try {
  237.         var ocr1 = opencv.OCREx('图色994166.cv');
  238.         if (ocr1 != null) {
  239.             printl("OpenCV OCR识别成功");
  240.             var allText = ocr1.getAllString();
  241.             printl("识别到的文本: " + allText);

  242.             var targetText = ocr1.findIncludeText("确定");
  243.             if (targetText != null) {
  244.                 printl("找到包含 '确定' 的文本");
  245.                 targetText.clickRandom();
  246.                 printl("点击成功");
  247.             } else {
  248.                 printl("未找到包含 '确定' 的文本");
  249.             }
  250.         } else {
  251.             printl("OpenCV OCR初始化失败");
  252.         }
  253.     } catch (e) {
  254.         printl("错误: " + e);
  255.     }
  256.     printl("");
  257. }

  258. function example14_safeOCR() {
  259.     printl("【示例14】安全OCR操作(带重试机制)");
  260.    
  261.     function safeFindText(targetText, region, maxRetries) {
  262.         for (var retry = 0; retry < maxRetries; retry++) {
  263.             try {
  264.                 printl("查找文本: " + targetText + " (尝试 " + (retry + 1) + "/" + maxRetries + ")");
  265.                 var ocrResult = screen.ocr(region[0], region[1], region[2], region[3]);
  266.                 var detect = ocrResult.findIncludeText(targetText, region);
  267.                
  268.                 if (detect) {
  269.                     printl("找到文本: " + targetText);
  270.                     return detect;
  271.                 }
  272.                
  273.                 if (retry < maxRetries - 1) {
  274.                     printl("未找到,等待重试...");
  275.                     sleep(1000);
  276.                 }
  277.             } catch (error) {
  278.                 printl("查找出错: " + error);
  279.                 if (retry < maxRetries - 1) {
  280.                     OCR.unLock();
  281.                     sleep(2000);
  282.                 }
  283.             }
  284.         }
  285.         printl("未找到文本: " + targetText);
  286.         return null;
  287.     }

  288.     var detect = safeFindText("设置", [0, 0, 1, 1], 2);
  289.     if (detect) {
  290.         printl("安全查找成功");
  291.     }
  292.     printl("");
  293. }

  294. function example15_comprehensiveFlow() {
  295.     printl("【示例15】综合自动化流程");
  296.     try {
  297.         printl("步骤1: 查找并点击 '设置'");
  298.         var ocrResult1 = screen.ocr(0, 0, 1, 1);
  299.         var settingTarget = ocrResult1.findIncludeText("设置", [0, 0, 1, 1]);
  300.         
  301.         if (settingTarget != null) {
  302.             settingTarget.clickRandom();
  303.             printl("点击设置成功");
  304.             sleep(2000);

  305.             printl("步骤2: 查找并点击 '通用'");
  306.             var ocrResult2 = screen.ocr(0, 0, 1, 1);
  307.             var generalTarget = ocrResult2.findText("通用", [0, 0, 1, 1]);
  308.             
  309.             if (generalTarget != null) {
  310.                 generalTarget.clickRandom();
  311.                 printl("点击通用成功");
  312.                 sleep(2000);

  313.                 printl("步骤3: 查找数字");
  314.                 var ocrResult3 = screen.ocr(0, 0, 1, 1);
  315.                 var numberTargets = ocrResult3.findTextWithRegex("\\d+", [0, 0, 1, 1]);
  316.                
  317.                 if (numberTargets != null && numberTargets.length > 0) {
  318.                     printl("找到 " + numberTargets.length + " 个数字");
  319.                     printl("第一个数字: " + numberTargets[0].text);
  320.                 }
  321.             } else {
  322.                 printl("未找到文本 '通用'");
  323.             }
  324.         } else {
  325.             printl("未找到包含 '设置' 的文本");
  326.         }
  327.     } catch (e) {
  328.         printl("综合流程错误: " + e);
  329.     }
  330.     printl("");
  331. }

  332. main();
复制代码



untoAIWORK软件数组高级示例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三大主流论坛,有手机验证码收件,邮件收发的功能,支持验证码识别,注册问题识别,多线程任务,自动上传头像,自动激活注册邮件,兼容防注册插件,本站软件原创正版,更新效率最快的原创软件。 『网络推广软件』『自动发帖软件』『 自动发帖