|
|
Æ»¹û½Å±¾7ÖÖ²»Í¬µÄOCRʶ±ð
- //OCRÎÄ×Öʶ±ð[OCR]¸ß¼¶×ÛºÏʾÀý£¬½»Á÷QQȺ711841924
- // ±¾Îļþ°üº¬7ÖÖ²»Í¬µÄOCRʶ±ðºÍµã»÷·½·¨µÄ¸ß¼¶Ó¦ÓÃ
- /**
- * Æ»¹ûOCR¸ß¼¶×ÛºÏʾÀý
- * Õâ¸öʾÀýչʾÁËÈçºÎʹÓÃOCR½øÐÐÎı¾Ê¶±ð²¢Ö´Ðи÷ÖÖµã»÷²Ù×÷
- * 🍎½»Á÷QQȺ711841924Ⱥһ£¬Æ»¹ûÄÚ²âȺ£¬528816639
- */
- // »ñÈ¡ÆÁÄ»³ß´ç
- var screenWidth = screen.getScreenWidth();
- var screenHeight = screen.getScreenHeight();
- printl("📱 ÆÁÄ»³ß´ç: " + screenWidth + "x" + screenHeight);
- /**
- * ³ÖÐø¿ìËÙµã»÷º¯Êý - ÒÆ¶¯Ò»´Îºó³ÖÐøµã»÷
- * @param {number} x - X×ø±ê£¨±ÈÀý0-1£©
- * @param {number} y - Y×ø±ê£¨±ÈÀý0-1£©
- * @param {number} count - µã»÷´ÎÊý
- * @param {number} interval - µã»÷¼ä¸ô£¨ºÁÃ룩£¬Ä¬ÈÏ2ms
- */
- function continuousClick(x, y, count, interval) {
- if (interval === undefined) interval = 2;
-
- // ¼ì²é×ø±êÓÐЧÐÔ
- if (isNaN(x) || isNaN(y)) {
- printl("⚠️ ¾¯¸æ: ÎÞЧµÄ×ø±ê²ÎÊý");
- return;
- }
-
- // ½«±ÈÀý×ø±êת»»ÎªÊµ¼Ê×ø±ê
- var realX = Math.floor(x * screenWidth);
- var realY = Math.floor(y * screenHeight);
-
- printl("ÒÆ¶¯µ½Ä¿±êλÖà (" + realX + ", " + realY + ")...");
- hid.moveToRealPoint(realX, realY);
- sleep.millisecond(50);
-
- // ³ÖÐø¿ìËÙµã»÷
- for (var i = 0; i < count; i++) {
- hid.mouseDown();
- hid.mouseUp();
-
- // ×îСÑӳٵȴý
- if (i < count - 1 && interval > 0) {
- var start = new Date().getTime();
- while (new Date().getTime() - start < interval) {
- // ¿ÕÑ»·µÈ´ý
- }
- }
- }
- }
- /**
- * ʾÀý1: »ù±¾OCRʶ±ðÓ뾫ȷÎı¾µã»÷
- * ʹÓÃfindText·½·¨²éÕÒ¾«È·Îı¾²¢µã»÷
- */
- function ocrClickExample() {
- printl("==== ʾÀý1: »ù±¾OCRʶ±ðÓ뾫ȷÎı¾µã»÷ ====");
-
- try {
- // Ö´ÐÐÈ«ÆÁÄ»OCRʶ±ð
- var ocrResult = screen.ocr(0, 0, 1, 1);
-
- // ²éÕÒ¾«È·Îı¾"È·¶¨"
- var target = ocrResult.findText("È·¶¨", [0, 0, 1, 1]);
-
- if (target != null) {
- printl("ÕÒµ½Îı¾ 'È·¶¨'£¬×¼±¸µã»÷");
-
- // Ö±½ÓʹÓÃÄÚÖõÄclick·½·¨
- target.click();
- printl("µã»÷³É¹¦");
- } else {
- printl("δÕÒµ½Îı¾ 'È·¶¨'");
- }
- } catch (e) {
- printl("OCR²Ù×÷·¢Éú´íÎó: " + e);
- }
- }
- /**
- * ʾÀý2: ʹÓÃÄÚÖõÄclickRandom·½·¨½øÐÐËæ»úλÖõã»÷
- * ÕâÊǸü¼òµ¥µÄµã»÷·½Ê½
- */
- function ocrClickRandomExample() {
- printl("\n==== ʾÀý2: ʹÓÃclickRandom·½·¨½øÐÐËæ»úλÖõã»÷ ====");
-
- try {
- // Ö´ÐÐOCRʶ±ð
- var ocrResult = screen.ocr(0, 0, 1, 1);
-
- // ²éÕÒ°üº¬"ÉèÖÃ"µÄÎı¾
- var target = ocrResult.findIncludeText("ÉèÖÃ", [0, 0, 1, 1]);
-
- if (target != null) {
- printl("ÕÒµ½°üº¬ 'ÉèÖÃ' µÄÎı¾£¬×¼±¸ÔÚÆäÇøÓòÄÚËæ»úµã»÷");
-
- // ʹÓÃÄÚÖõÄclickRandom·½·¨ÔÚÎı¾ÇøÓòÄÚËæ»úλÖõã»÷
- target.clickRandom();
- printl("Ëæ»úλÖõã»÷³É¹¦");
- } else {
- printl("δÕÒµ½°üº¬ 'ÉèÖÃ' µÄÎı¾");
- }
- } catch (e) {
- printl("OCR²Ù×÷·¢Éú´íÎó: " + e);
- }
- }
- /**
- * ʾÀý3: ʹÓÃÕýÔò±í´ïʽ²éÕÒ¶à¸öÆ¥ÅäÏî²¢µã»÷µÚÒ»¸ö
- */
- function ocrRegexClickExample() {
- printl("\n==== ʾÀý3: ʹÓÃÕýÔò±í´ïʽ²éÕÒ¶à¸öÆ¥ÅäÏî²¢µã»÷µÚÒ»¸ö ====");
-
- try {
- // Ö´ÐÐOCRʶ±ð
- var ocrResult = screen.ocr(0, 0, 1, 1);
-
- // ʹÓÃÕýÔò±í´ïʽ²éÕÒ°üº¬Êý×ÖµÄÎı¾
- var targets = ocrResult.findTextWithRegex("\\d+", [0, 0, 1, 1]);
-
- if (targets != null && targets.length > 0) {
- printl("ÕÒµ½ " + targets.length + " ¸ö°üº¬Êý×ÖµÄÎı¾");
- printl("µÚÒ»¸öÆ¥ÅäµÄÎı¾ÊÇ: " + targets[0].text());
-
- // µã»÷µÚÒ»¸öÆ¥ÅäÏî
- targets[0].clickRandom();
- printl("µã»÷µÚÒ»¸öÆ¥ÅäÏî³É¹¦");
- } else {
- printl("δÕÒµ½°üº¬Êý×ÖµÄÎı¾");
- }
- } catch (e) {
- printl("OCR²Ù×÷·¢Éú´íÎó: " + e);
- }
- }
- /**
- * ʾÀý4: OCRʶ±ðºó±éÀúËùÓÐÎı¾²¢µã»÷ÌØ¶¨Ìõ¼þµÄÎı¾
- */
- function ocrIterateAndClickExample() {
- printl("\n==== ʾÀý4: OCRʶ±ðºó±éÀúËùÓÐÎı¾²¢µã»÷ÌØ¶¨Ìõ¼þµÄÎı¾ ====");
-
- try {
- // Ö´ÐÐOCRʶ±ð
- var ocrResult = screen.ocr(0, 0, 1, 1);
-
- // »ñÈ¡ËùÓÐʶ±ðµ½µÄÎı¾
- var allDetects = ocrResult.getAllDetect();
-
- printl("×ܹ²Ê¶±ðµ½ " + allDetects.length + " ¸öÎı¾ÔªËØ");
-
- // ±éÀúËùÓÐÎı¾
- for (var i = 0; i < allDetects.length; i++) {
- var detect = allDetects[i];
- var textContent = detect.text();
- printl("Îı¾ " + i + ": " + textContent);
-
- // Èç¹ûÎı¾°üº¬"È¡Ïû"£¬µã»÷Ëü
- if (textContent.includes("È¡Ïû")) {
- printl("ÕÒµ½°üº¬ 'È¡Ïû' µÄÎı¾£¬×¼±¸µã»÷");
- detect.clickRandom();
- printl("µã»÷³É¹¦");
- break; // µã»÷ºóÍ˳öÑ»·
- }
- }
- } catch (e) {
- printl("OCR²Ù×÷·¢Éú´íÎó: " + e);
- }
- }
- /**
- * ʾÀý5: ÇøÓòOCRʶ±ð²¢µã»÷
- * Ö»ÔÚÆÁÄ»µÄij¸öÌØ¶¨ÇøÓò½øÐÐOCRʶ±ð
- */
- function regionOcrClickExample() {
- printl("\n==== ʾÀý5: ÇøÓòOCRʶ±ð²¢µã»÷ ====");
-
- try {
- // ¶¨ÒåÒ»¸öÇøÓò: ÆÁÄ»µÄÖм䲿·Ö (¿í¶È: 60%, ¸ß¶È: 40%, ¾ÓÖÐ)
- var region = [0.2, 0.3, 0.8, 0.7];
-
- printl("ÔÚÇøÓò [" + region[0] + ", " + region[1] + ", " + region[2] + ", " + region[3] + "] ÄÚ½øÐÐOCRʶ±ð");
-
- // ÔÚÖ¸¶¨ÇøÓòÖ´ÐÐOCRʶ±ð
- var ocrResult = screen.ocr(region[0], region[1], region[2], region[3]);
-
- // ²éÕÒÎı¾
- var target = ocrResult.findText("ÏÂÒ»²½", region);
-
- if (target != null) {
- printl("ÔÚÖ¸¶¨ÇøÓòÕÒµ½Îı¾ 'ÏÂÒ»²½'£¬×¼±¸µã»÷");
- target.clickRandom();
- printl("µã»÷³É¹¦");
- } else {
- printl("ÔÚÖ¸¶¨ÇøÓòδÕÒµ½Îı¾ 'ÏÂÒ»²½'");
- }
- } catch (e) {
- printl("OCR²Ù×÷·¢Éú´íÎó: " + e);
- }
- }
- /**
- * ʾÀý6: ×ÛºÏʾÀý - Ñ»·µã»÷µ×²¿Èý¸ö°´Å¥
- * ÔÚ"Èí¼þ"¡¢"ÈÕÖ¾"¡¢"ÉèÖÃ"Ö®¼äÀ´»Øµã»÷ÑÝʾ
- */
- function comprehensiveOcrExample() {
- printl("\n==== ʾÀý6: Ñ»·µã»÷µ×²¿Èý¸ö°´Å¥ ====");
-
- try {
- // ¶¨ÒåÒªµã»÷µÄ°´Å¥Ë³Ðò
- var buttons = ["Èí¼þ", "ÈÕÖ¾", "ÉèÖÃ"];
- var rounds = 3; // Ñ»·3ÂÖ
-
- printl("¿ªÊ¼Ñ»·µã»÷ÑÝʾ£¬¹² " + rounds + " ÂÖ");
- printl("µã»÷˳Ðò: " + buttons.join(" -> ") + " -> " + buttons.join(" -> ") + "...");
- printl("========================================");
-
- for (var round = 1; round <= rounds; round++) {
- printl("\n--- µÚ " + round + " ÂÖ ---");
-
- // °´Ë³Ðòµã»÷ÿ¸ö°´Å¥
- for (var i = 0; i < buttons.length; i++) {
- var buttonText = buttons[i];
- printl("\n[" + round + "." + (i+1) + "] ²éÕÒ²¢µã»÷: '" + buttonText + "'");
-
- // Ö´ÐÐOCRʶ±ð
- var ocrResult = screen.ocr(0, 0, 1, 1);
- var target = ocrResult.findIncludeText(buttonText, [0, 0, 1, 1]);
-
- if (target != null) {
- printl(" ✓ ÕÒµ½ '" + buttonText + "'£¬×¼±¸µã»÷");
- target.clickRandom();
- printl(" ✓ µã»÷ '" + buttonText + "' ³É¹¦");
-
- // µÈ´ýһϣ¬ÈÃÓû§¿´µ½Ð§¹û
- if (i < buttons.length - 1 || round < rounds) {
- sleep.millisecond(1500);
- }
- } else {
- printl(" ✗ δÕÒµ½Îı¾ '" + buttonText + "'");
- }
- }
-
- printl("\n✓ µÚ " + round + " ÂÖÍê³É£¡");
-
- // ÂÖ´ÎÖ®¼äÉÔ×÷Í£¶Ù
- if (round < rounds) {
- printl("--- ÐÝÏ¢2Ã룬׼±¸ÏÂÒ»ÂÖ ---");
- sleep.millisecond(2000);
- }
- }
-
- printl("\n========================================");
- printl("✅ ËùÓÐÂÖ´ÎÍê³É£¡¹²µã»÷ " + (rounds * buttons.length) + " ´Î");
-
- } catch (e) {
- printl("×ÛºÏʾÀý·¢Éú´íÎó: " + e);
- }
- }
- /**
- * ʾÀý7: ʹÓÃOCRËø¶¨Ìá¸ßЧÂÊ
- */
- function lockedOcrExample() {
- printl("\n==== ʾÀý7: ʹÓÃOCRËø¶¨Ìá¸ßЧÂÊ ====");
-
- try {
- // Ëø¶¨OCRʶ±ð½á¹û
- OCR.lockOCR();
- printl("OCR½á¹ûÒÑËø¶¨");
-
- // Ö´ÐнØÍ¼
- var image = screen.screenShotFull();
-
- // ÔÚËø¶¨×´Ì¬Ï½øÐжà´Îʶ±ð²Ù×÷
- printl("Ö´ÐеÚÒ»´ÎOCRʶ±ð");
- var result1 = image.ocr(0, 0, 1, 1);
- var text1 = result1.getAllString();
- printl("µÚÒ»´Îʶ±ðµ½µÄÎı¾ÊýÁ¿: " + text1.length);
-
- printl("Ö´Ðеڶþ´ÎOCRʶ±ð");
- var result2 = image.ocr(0, 0, 1, 1);
- var settingTarget = result2.findIncludeText("ÉèÖÃ", [0, 0, 1, 1]);
-
- if (settingTarget != null) {
- printl("ÕÒµ½°üº¬ 'ÉèÖÃ' µÄÎı¾");
- }
-
- // ¹Ø±ÕͼƬ
- image.close();
-
- // ÊÍ·ÅOCRËø
- OCR.unLock();
- printl("OCR½á¹ûÒѽâËø");
- } catch (e) {
- printl("Ëø¶¨OCRʾÀý·¢Éú´íÎó: " + e);
- // È·±£ÔÚ´íÎóÇé¿öÏÂÒ²ÄÜÊÍ·ÅËø
- try {
- OCR.unLock();
- } catch (unlockError) {
- printl("ÊÍ·ÅËøÊ±·¢Éú´íÎó: " + unlockError);
- }
- }
- }
- /**
- * Ö÷º¯Êý - ÔËÐÐËùÓÐʾÀý
- */
- function main() {
- printl("Æ»¹ûOCR¸ß¼¶×ÛºÏʾÀý¼¯ºÏ\n");
-
- // ÔËÐи÷¸öʾÀý
- ocrClickExample();
- ocrClickRandomExample();
- ocrRegexClickExample();
- ocrIterateAndClickExample();
- regionOcrClickExample();
- comprehensiveOcrExample();
- lockedOcrExample();
-
- printl("\nËùÓÐʾÀýÖ´ÐÐÍê±Ï£¡");
- }
- // µ÷ÓÃÖ÷º¯ÊýÔËÐÐʾÀý
- main();
- /**
- * ʹÓÃ˵Ã÷£º
- * 1. Õâ¸öʾÀýÎļþ°üº¬ÁË7ÖÖ²»Í¬µÄOCRʶ±ðºÍµã»÷·½Ê½
- * 2. Äã¿ÉÒÔ¸ù¾Ýʵ¼ÊÐèÇóÑ¡ÔñÊʺϵķ½·¨
- * 3. ÔÚʵ¼ÊʹÓÃʱ£¬¿ÉÄÜÐèÒª¸ù¾Ý¾ßÌåÓ¦ÓõĽçÃæµ÷Õû´úÂë
- * 4. ¶ÔÓÚÁ¬Ðø²Ù×÷£¬Êʵ±Ìí¼ÓsleepµÈ´ýʱ¼äÒÔÈ·±£²Ù×÷µÄÎȶ¨ÐÔ
- * 5. ´íÎó´¦ÀíÊDZØÒªµÄ£¬¿ÉÒÔ¸ù¾ÝÐèÒªÀ©Õ¹Òì³£´¦ÀíÂß¼
- */
¸´ÖÆ´úÂë
|
|