|
|
¶¹°üʶ±ðÑéÖ¤Âë¼ÓÍ϶¯ÑéÖ¤ÂëʾÀý
- // AIWROK ×Ô¶¯»¯Á÷³Ì£ºÈ«ÆÁ½ØÍ¼ ¡ú Æô¶¯¶¹°ü ¡ú ·¢ËͽØÍ¼ ¡ú µÈ´ýAI»Ø´ð ¡ú ²É¼¯»Ø´ðÄÚÈÝ ¡ú ±£´æµ½Îļþ
- // È«³ÌʹÓà agent.getXml() »ñÈ¡½çÃæÔ´Âë
- // °üÃû£ºcom.larus.nova£¨¶¹°ü£©
- //
- // ʹÓÃ˵Ã÷£º
- // 1. ÔÚÐèÒª½ØÍ¼µÄÒ³ÃæÔËÐнű¾
- // 2. ½Å±¾»á×Ô¶¯½ØÍ¼²¢·¢Ë͸ø¶¹°ü·ÖÎö
- // 3. ²É¼¯½á¹û±£´æµ½ /sdcard/¶¹°ü½ØÍ¼·ÖÎö.json
- print.log("===== ¶¹°ü½ØÍ¼·¢ËÍÁ÷³ÌÆô¶¯ =====");
- print.time();
- // ========== ÅäÖÃÇø ==========
- var ¶¹°ü°üÃû = "com.larus.nova";
- var ½ØÍ¼±£´æÂ·¾¶ = "/sdcard/screenshot.png";
- // ·¢ËͺóµÈ´ýAI»Ø´ðµÄ×î´óÃëÊý£¨ÕûÌ峬ʱ£©
- var µÈ´ý»Ø´ð³¬Ê±Ãë = 8;
- // ¼ì²âµ½Ð»شð³öÏÖºó£¬Ôٵȴý¶àÉÙÃëÈûشðÊä³öÍêÕû
- var »Ø´ðÊä³öµÈ´ýÃë = 10;
- // ÑéÖ¤Â뻬¿éÍ϶¯Ð£×¼ÏµÊý£¨¸ù¾Ýʵ¼ÊЧ¹ûµ÷Õû£¬Ä¬ÈÏ1.0£©
- // Èç¹ûÍ϶¯¾àÀëÆ«´ó£¬µ÷С´ËÖµ£¨Èç0.95£©£»Èç¹ûƫС£¬µ÷´ó´ËÖµ£¨Èç1.05£©
- var »¬¿éУ׼ϵÊý = 1.0;
- // ========== »ñÈ¡É豸ÐÅÏ¢ ==========
- var ÆÁÄ»¿í = screen.getScreenWidth();
- var ÆÁÄ»¸ß = screen.getScreenHeight();
- var ÑéÖ¤Â뻬¿é¾àÀë = null;
- print.log("ÆÁÄ»³ß´ç£º" + ÆÁÄ»¿í + " x " + ÆÁÄ»¸ß);
- print.log("´úÀí״̬£º" + (agent.isOpen() ? "ÒÑ¿ªÆô" : "먦Æô"));
- // ========== ¹¤¾ßº¯Êý ==========
- function »ñÈ¡UI() {
- var xml = agent.getXml();
- return "" + xml;
- }
- function ×Ö·û´®³¤¶È(s) {
- var str = "" + s;
- return str.length;
- }
- function ½âÂëHTMLʵÌå(s) {
- var str = "" + s;
- str = str.replace(/
- /g, "\n");
- str = str.replace(/
- /g, "\r");
- str = str.replace(/ /g, "\t");
- str = str.replace(/'/g, "'");
- str = str.replace(/"/g, '"');
- str = str.replace(/"/g, '"');
- str = str.replace(/'/g, "'");
- str = str.replace(/&/g, "&");
- str = str.replace(/</g, "<");
- str = str.replace(/>/g, ">");
- return str;
- }
- function ²É¼¯AI»Ø´ðÁбí(xml, Ñϸñ¹ýÂË) {
- if (Ñϸñ¹ýÂË === undefined) Ñϸñ¹ýÂË = true;
- var xmlStr = "" + xml;
- var »Ø´ðÁбí = [];
- var listIdx = xmlStr.indexOf('id/message_list"');
- if (listIdx === -1) {
- print.log("⚠ δÕÒµ½ÏûÏ¢Áбí½Úµã");
- return »Ø´ðÁбí;
- }
- var ºóÃæ = xmlStr.substring(listIdx);
- var λÖà = 0;
- while (true) {
- var cvIdx = ºóÃæ.indexOf('id/content_view"', λÖÃ);
- if (cvIdx === -1) break;
- var ¶Î = ºóÃæ.substring(cvIdx);
-
- var cvBounds = ¶Î.match(/bounds="\[(\d+),(\d+)\]\[(\d+),(\d+)\]"/);
- var isAI = false;
- if (cvBounds) {
- var cvX1 = parseInt(cvBounds[1]);
- if (cvX1 < ÆÁÄ»¿í / 2) {
- isAI = true;
- }
- }
- var ±êÇ©½áÊø = ¶Î.indexOf(">");
- if (±êÇ©½áÊø === -1) break;
- var ×Ó¶Î = ¶Î.substring(±êÇ©½áÊø + 1);
- var Îı¾Æ¥Åä = ×Ó¶Î.match(/<node[^>]*?text="([^"]+)"[^>]*?class="android\.widget\.TextView"[^>]*?\/?>/);
- if (!Îı¾Æ¥Åä) {
- Îı¾Æ¥Åä = ×Ó¶Î.match(/<node[^>]*?class="android\.widget\.TextView"[^>]*?text="([^"]+)"[^>]*?\/?>/);
- }
- if (Îı¾Æ¥Åä && Îı¾Æ¥Åä[1]) {
- var ÔʼÎı¾ = Îı¾Æ¥Åä[1];
- var ½âÂëÎı¾ = ½âÂëHTMLʵÌå(ÔʼÎı¾);
- if (Ñϸñ¹ýÂË) {
- if (isAI && ×Ö·û´®³¤¶È(½âÂëÎı¾) > 0) {
- »Ø´ðÁбí.push(½âÂëÎı¾);
- }
- } else {
- if (×Ö·û´®³¤¶È(½âÂëÎı¾) > 0) {
- »Ø´ðÁбí.push(½âÂëÎı¾);
- }
- }
- }
- λÖà = cvIdx + 30;
- }
- return »Ø´ðÁбí;
- }
- function »ñÈ¡µ±Ç°×îºóAI»Ø´ð(xml) {
- var »Ø´ðÁбí = ²É¼¯AI»Ø´ðÁбí(xml);
- if (»Ø´ðÁбí.length === 0) return "";
- return »Ø´ðÁбí[»Ø´ðÁбí.length - 1];
- }
- // È«ÆÁ½ØÍ¼£¨Ê¹ÓÃshellÃüÁ
- function È«ÆÁ½ØÍ¼(±£´æÂ·¾¶) {
- try {
- var result = agent.shell("screencap -p " + ±£´æÂ·¾¶);
- print.log("✓ ½ØÍ¼ÃüÁîÖ´ÐУº" + result);
-
- var lsResult = agent.shell("ls -la " + ±£´æÂ·¾¶);
- print.log("✓ ½ØÍ¼Îļþ¼ì²é£º" + lsResult);
-
- return true;
- } catch (e) {
- print.log("⚠ ½ØÍ¼Ê§°Ü£º" + e.message);
- return false;
- }
- }
- // ²éÕÒ¶¹°üµÄ¼ÓºÅ°´Å¥£¨ÓÅÏÈÓÒÏÂ½Ç action_menu_entrance£©
- function ²éÕҼӺŰ´Å¥(xml) {
- var xmlStr = "" + xml;
-
- var menuEntranceIdx = xmlStr.indexOf('id/action_menu_entrance"');
- if (menuEntranceIdx !== -1) {
- var ¶Î = xmlStr.substring(menuEntranceIdx);
- var m = ¶Î.match(/bounds="\[(\d+),(\d+)\]\[(\d+),(\d+)\]"/);
- if (m) {
- return {
- x: (parseInt(m[1]) + parseInt(m[3])) / 2,
- y: (parseInt(m[2]) + parseInt(m[4])) / 2
- };
- }
- }
- var entranceIdx = xmlStr.indexOf('id/action_entrance"');
- if (entranceIdx !== -1) {
- var ¶Î2 = xmlStr.substring(entranceIdx);
- var m2 = ¶Î2.match(/bounds="\[(\d+),(\d+)\]\[(\d+),(\d+)\]"/);
- if (m2) {
- return {
- x: (parseInt(m2[1]) + parseInt(m2[3])) / 2,
- y: (parseInt(m2[2]) + parseInt(m2[4])) / 2
- };
- }
- }
- var plusIdx = xmlStr.indexOf('text="+"');
- if (plusIdx !== -1) {
- var ¶Î3 = xmlStr.substring(plusIdx);
- var m3 = ¶Î3.match(/bounds="\[(\d+),(\d+)\]\[(\d+),(\d+)\]"/);
- if (m3) {
- return {
- x: (parseInt(m3[1]) + parseInt(m3[3])) / 2,
- y: (parseInt(m3[2]) + parseInt(m3[4])) / 2
- };
- }
- }
- var attachIdx = xmlStr.indexOf('content-desc="¸½¼þ"');
- if (attachIdx === -1) {
- attachIdx = xmlStr.indexOf('content-desc="Ìí¼Ó"');
- }
- if (attachIdx !== -1) {
- var ¶Î4 = xmlStr.substring(attachIdx);
- var m4 = ¶Î4.match(/bounds="\[(\d+),(\d+)\]\[(\d+),(\d+)\]"/);
- if (m4) {
- return {
- x: (parseInt(m4[1]) + parseInt(m4[3])) / 2,
- y: (parseInt(m4[2]) + parseInt(m4[4])) / 2
- };
- }
- }
- return null;
- }
- function ²éÕÒÊäÈë¿òÖÐÐÄ(xml) {
- var xmlStr = "" + xml;
- var idx = xmlStr.indexOf('id/input_text"');
- if (idx === -1) return null;
- var ¶Î = xmlStr.substring(idx);
- var m = ¶Î.match(/bounds="\[(\d+),(\d+)\]\[(\d+),(\d+)\]"/);
- if (!m) return null;
- var x1 = parseInt(m[1]);
- var y1 = parseInt(m[2]);
- var x2 = parseInt(m[3]);
- var y2 = parseInt(m[4]);
- return {
- x: (x1 + x2) / 2,
- y: (y1 + y2) / 2
- };
- }
- function Õ³ÌùÎı¾(Îı¾) {
- try {
- Clipboard.copy("" + Îı¾);
- } catch (e) {
- print.log("⚠ Clipboard.copy ʧ°Ü£º" + e.message);
- }
- sleep.millisecond(ºÁÃë = 300);
- try {
- agent.shell("service call clipboard 3 i32 1 s16 '" + Îı¾ + "' i32 0");
- } catch (e2) {
- // ºöÂÔ´íÎó
- }
- sleep.millisecond(ºÁÃë = 300);
- agent.shell("input keyevent 279");
- sleep.second(Ãë = 1);
- print.log("✓ ÒÑÕ³ÌùÎı¾£º" + Îı¾);
- }
- function ÊÇ·ñÒѽøÈëÏà»úÒ³Ãæ(xml) {
- var xmlStr = "" + xml;
- return xmlStr.indexOf('id/focus_container"') !== -1 && xmlStr.indexOf('id/suggest_action_bar"') === -1;
- }
- function ÊÇ·ñÒѽøÈëͼƬԤÀÀÒ³Ãæ(xml) {
- var xmlStr = "" + xml;
- return xmlStr.indexOf('id/focus_container"') !== -1 && xmlStr.indexOf('id/suggest_action_bar"') !== -1;
- }
- function ÊÇ·ñÒѽøÈëͼƬѡÔñÁбíÒ³Ãæ(xml) {
- var xmlStr = "" + xml;
- return xmlStr.indexOf('id/media_viewpager"') !== -1 || xmlStr.indexOf('id/media_list"') !== -1;
- }
- function ²éÕÒÏà²áÑ¡Ïî(xml) {
- var xmlStr = "" + xml;
-
- if (ÊÇ·ñÒѽøÈëͼƬԤÀÀÒ³Ãæ(xml)) {
- return { x: -1, y: -1, ÒѽøÈëÔ¤ÀÀÒ³: true };
- }
-
- if (ÊÇ·ñÒѽøÈëͼƬѡÔñÁбíÒ³Ãæ(xml)) {
- return { x: -1, y: -1, ÒѽøÈëÑ¡ÔñÒ³: true };
- }
-
- var albumIdx = xmlStr.indexOf('text="Ïà²á"');
- if (albumIdx === -1) {
- albumIdx = xmlStr.indexOf('text="ͼƬ"');
- }
- if (albumIdx === -1) {
- albumIdx = xmlStr.indexOf('text="ÕÕÆ¬"');
- }
- if (albumIdx === -1) {
- albumIdx = xmlStr.indexOf('text="ËùÓÐÕÕÆ¬"');
- }
- if (albumIdx === -1) {
- albumIdx = xmlStr.indexOf('text="´ÓÏà²áÑ¡Ôñ"');
- }
- if (albumIdx === -1) {
- albumIdx = xmlStr.indexOf('text="Ñ¡ÔñͼƬ"');
- }
- if (albumIdx !== -1) {
- var ¶Î = xmlStr.substring(albumIdx);
- var m = ¶Î.match(/bounds="\[(\d+),(\d+)\]\[(\d+),(\d+)\]"/);
- if (m) {
- return {
- x: (parseInt(m[1]) + parseInt(m[3])) / 2,
- y: (parseInt(m[2]) + parseInt(m[4])) / 2
- };
- }
- }
- var albumIconIdx = xmlStr.indexOf('content-desc="Ïà²á"');
- if (albumIconIdx === -1) {
- albumIconIdx = xmlStr.indexOf('content-desc="ͼƬ"');
- }
- if (albumIconIdx !== -1) {
- var ¶Î2 = xmlStr.substring(albumIconIdx);
- var m2 = ¶Î2.match(/bounds="\[(\d+),(\d+)\]\[(\d+),(\d+)\]"/);
- if (m2) {
- return {
- x: (parseInt(m2[1]) + parseInt(m2[3])) / 2,
- y: (parseInt(m2[2]) + parseInt(m2[4])) / 2
- };
- }
- }
- return null;
- }
- // ²éÕÒͼƬѡÔñÆ÷ÖеĵÚÒ»ÕÅͼƬ£¨¸Õ½ØµÄͼ£©
- function ²éÕÒµÚÒ»ÕÅͼƬ(xml) {
- var xmlStr = "" + xml;
-
- var thumbnailIdx = xmlStr.indexOf('id/iv_thumbnail"');
- if (thumbnailIdx !== -1) {
- var ¶Î = xmlStr.substring(thumbnailIdx);
- var m = ¶Î.match(/bounds="\[(\d+),(\d+)\]\[(\d+),(\d+)\]"/);
- if (m) {
- return {
- x: (parseInt(m[1]) + parseInt(m[3])) / 2,
- y: (parseInt(m[2]) + parseInt(m[4])) / 2
- };
- }
- }
- var imageIdx = xmlStr.indexOf('class="android.widget.ImageView"');
- if (imageIdx !== -1) {
- var ¶Î2 = xmlStr.substring(imageIdx);
- var m2 = ¶Î2.match(/bounds="\[(\d+),(\d+)\]\[(\d+),(\d+)\]"/);
- if (m2) {
- var x = (parseInt(m2[1]) + parseInt(m2[3])) / 2;
- var y = (parseInt(m2[2]) + parseInt(m2[4])) / 2;
- if (y > 400) {
- return { x: x, y: y };
- }
- }
- }
- return null;
- }
- // ²éÕÒ·¢ËͰ´Å¥
- function ²éÕÒ·¢ËͰ´Å¥ÖÐÐÄ(xml) {
- var xmlStr = "" + xml;
- var sendTextIdx = xmlStr.indexOf('text="·¢ËÍ"');
- if (sendTextIdx !== -1) {
- var ¶Î = xmlStr.substring(sendTextIdx);
- var m = ¶Î.match(/bounds="\[(\d+),(\d+)\]\[(\d+),(\d+)\]"/);
- if (m) {
- return {
- x: (parseInt(m[1]) + parseInt(m[3])) / 2,
- y: (parseInt(m[2]) + parseInt(m[4])) / 2
- };
- }
- }
- var sendIdIdx = xmlStr.indexOf('id/action_send"');
- if (sendIdIdx !== -1) {
- var ¶Î2 = xmlStr.substring(sendIdIdx);
- var m2 = ¶Î2.match(/bounds="\[(\d+),(\d+)\]\[(\d+),(\d+)\]"/);
- if (m2) {
- return {
- x: (parseInt(m2[1]) + parseInt(m2[3])) / 2,
- y: (parseInt(m2[2]) + parseInt(m2[4])) / 2
- };
- }
- }
- var rightIconIdx = xmlStr.indexOf('id/right_icon"');
- if (rightIconIdx !== -1) {
- var ¶Î3 = xmlStr.substring(rightIconIdx);
- var m3 = ¶Î3.match(/bounds="\[(\d+),(\d+)\]\[(\d+),(\d+)\]"/);
- if (m3) {
- var y = (parseInt(m3[2]) + parseInt(m3[4])) / 2;
- if (y > 3000) {
- return {
- x: (parseInt(m3[1]) + parseInt(m3[3])) / 2,
- y: y
- };
- }
- }
- }
- return null;
- }
- function ²éÕÒ²¢µã»÷Õ¹¿ª°´Å¥(xml) {
- var xmlStr = "" + xml;
-
- var expandIdx = xmlStr.indexOf('content-desc="Õ¹¿ª"');
- if (expandIdx === -1) {
- expandIdx = xmlStr.indexOf('content-desc="¸ü¶à"');
- }
- if (expandIdx === -1) {
- expandIdx = xmlStr.indexOf('content-desc="ÊÕÆð"');
- }
-
- if (expandIdx !== -1) {
- var ¶Î = xmlStr.substring(expandIdx);
- var m = ¶Î.match(/bounds="\[(\d+),(\d+)\]\[(\d+),(\d+)\]"/);
- if (m) {
- var x = (parseInt(m[1]) + parseInt(m[3])) / 2;
- var y = (parseInt(m[2]) + parseInt(m[4])) / 2;
- agent.click(x, y);
- print.log("✓ Òѵã»÷Õ¹¿ª°´Å¥£¨content-desc£©£¬×ø±ê(" + Math.round(x) + "," + Math.round(y) + ")");
- sleep.second(Ãë = 1);
- return true;
- }
- }
- var textExpandIdx = xmlStr.indexOf('text="Õ¹¿ª"');
- if (textExpandIdx === -1) {
- textExpandIdx = xmlStr.indexOf('text="¸ü¶à"');
- }
- if (textExpandIdx !== -1) {
- var ¶Î2 = xmlStr.substring(textExpandIdx);
- var m2 = ¶Î2.match(/bounds="\[(\d+),(\d+)\]\[(\d+),(\d+)\]"/);
- if (m2) {
- var x2 = (parseInt(m2[1]) + parseInt(m2[3])) / 2;
- var y2 = (parseInt(m2[2]) + parseInt(m2[4])) / 2;
- agent.click(x2, y2);
- print.log("✓ Òѵã»÷Õ¹¿ª°´Å¥£¨Îı¾Æ¥Å䣩£¬×ø±ê(" + Math.round(x2) + "," + Math.round(y2) + ")");
- sleep.second(Ãë = 1);
- return true;
- }
- }
- return false;
- }
- function µÈ´ýAI»Ø´ðÍê³É(·¢ËÍǰµÄ×îºóÎı¾) {
- var ÒѺÄʱ = 0;
- var ¼ì²é¼ä¸ôÃë = 1;
- var ·¢ËÍǰ»Ø´ðÊýÁ¿ = 0;
- var xml = »ñÈ¡UI();
- var ³õʼÁбí = ²É¼¯AI»Ø´ðÁбí(xml, false);
- ·¢ËÍǰ»Ø´ðÊýÁ¿ = ³õʼÁбí.length;
- print.log("·¢ËÍǰAI»Ø´ðÊýÁ¿£º" + ·¢ËÍǰ»Ø´ðÊýÁ¿);
- while (ÒѺÄʱ < µÈ´ý»Ø´ð³¬Ê±Ãë) {
- sleep.second(Ãë = ¼ì²é¼ä¸ôÃë);
- ÒѺÄʱ += ¼ì²é¼ä¸ôÃë;
- xml = »ñÈ¡UI();
- var »Ø´ðÁбí = ²É¼¯AI»Ø´ðÁбí(xml, false);
-
- if (»Ø´ðÁбí.length > ·¢ËÍǰ»Ø´ðÊýÁ¿) {
- print.log("✓ ¼ì²âµ½Ð»شð£¨" + ÒѺÄʱ + "Ã룩£¬ÊýÁ¿´Ó" + ·¢ËÍǰ»Ø´ðÊýÁ¿ + "Ôö¼Óµ½" + »Ø´ðÁбí.length);
- sleep.second(Ãë = 3);
-
- xml = »ñÈ¡UI();
- var ×îÖÕÁбí = ²É¼¯AI»Ø´ðÁбí(xml, false);
- if (×îÖÕÁбí.length > 0) {
- var ×îÖÕÎı¾ = ×îÖÕÁбí[×îÖÕÁбí.length - 1];
- print.log("✓ ²É¼¯³É¹¦£¬·µ»Ø½á¹û£º" + ×îÖÕÎı¾);
- return ×îÖÕÎı¾;
- }
- }
- }
- print.log("⚠ µÈ´ýAI»Ø´ð³¬Ê±£¨" + µÈ´ý»Ø´ð³¬Ê±Ãë + "Ã룩£¬³¢ÊÔ·µ»Øµ±Ç°ÄÚÈÝ");
- xml = »ñÈ¡UI();
- var ¶µµ×Áбí = ²É¼¯AI»Ø´ðÁбí(xml, false);
- if (¶µµ×Áбí.length > 0) {
- var ¶µµ×Îı¾ = ¶µµ×Áбí[¶µµ×Áбí.length - 1];
- print.log("✓ ³¬Ê±¶µµ×£º·µ»Øµ±Ç°²É¼¯µ½µÄ»Ø´ð£º" + ¶µµ×Îı¾);
- return ¶µµ×Îı¾;
- }
- return null;
- }
- function ¸ñʽ»¯¶Ô»°(¶Ô»°Áбí) {
- var Êý¾Ý = {
- "²É¼¯Ê±¼ä": new Date().toString(),
- "¶Ô»°ÂÖÊý": ¶Ô»°Áбí.length,
- "¶Ô»°¼Ç¼": []
- };
-
- for (var i = 0; i < ¶Ô»°Áбí.length; i++) {
- Êý¾Ý.¶Ô»°¼Ç¼.push({
- "ÐòºÅ": i + 1,
- "½ÇÉ«": ¶Ô»°Áбí[i].½ÇÉ«,
- "ÄÚÈÝ": ¶Ô»°Áбí[i].ÄÚÈÝ
- });
- }
-
- return JSON.stringify(Êý¾Ý, null, 2);
- }
- function дÈëÎļþ(Îļþ·¾¶, ÄÚÈÝ) {
- try {
- var str = "" + ÄÚÈÝ;
- var fos = new java.io.FileOutputStream(Îļþ·¾¶);
- fos.write(str.getBytes("UTF-8"));
- fos.close();
- print.log("✓ ÒÑдÈëÎļþ£¨JSON¸ñʽ£©£º" + Îļþ·¾¶);
-
- var catResult = agent.shell("cat " + Îļþ·¾¶ + " | head -2");
- print.log("✓ catÑéÖ¤½á¹û£º" + catResult);
-
- return true;
- } catch (e) {
- print.log("⚠ JSONдÈëÒì³££º" + e.message);
- }
- print.log("✗ дÈëÎļþʧ°Ü£º" + Îļþ·¾¶);
- return false;
- }
- function Ö÷Á÷³Ì() {
- // ²½Öè1£ºÈ«ÆÁ½ØÍ¼
- print.log("\n========== ²½Öè1£ºÈ«ÆÁ½ØÍ¼ ==========");
- var ½ØÍ¼³É¹¦ = È«ÆÁ½ØÍ¼(½ØÍ¼±£´æÂ·¾¶);
- if (!½ØÍ¼³É¹¦) {
- print.log("✗ ½ØÍ¼Ê§°Ü£¬Í˳öÁ÷³Ì");
- print.log("===== ¶¹°ü½ØÍ¼·¢ËÍÁ÷³Ì½áÊø =====");
- return;
- }
- // ²½Öè2£ºÆô¶¯¶¹°üAPP
- print.log("\n========== ²½Öè2£ºÆô¶¯¶¹°üAPP ==========");
- try {
- app.openApp(¶¹°ü°üÃû);
- print.log("✓ ÒÑÆô¶¯¶¹°ü");
- } catch (e) {
- print.log("⚠ Æô¶¯Ê§°Ü£º" + e.message);
- }
- sleep.second(Ãë = 5);
- // ²½Öè3£ºÈ·ÈϽøÈë¶Ô»°Ò³Ãæ
- print.log("\n========== ²½Öè3£ºÈ·ÈϽøÈë¶Ô»°Ò³Ãæ ==========");
- var xml = »ñÈ¡UI();
- if (xml.indexOf("message_list") === -1) {
- print.log("⚠ µ±Ç°Ò³Ãæ¿ÉÄܲ»ÊǶ¹°ü¶Ô»°Ò³£¬Ôٴεȴý");
- sleep.second(Ãë = 3);
- xml = »ñÈ¡UI();
- }
- if (xml.indexOf("message_list") !== -1) {
- print.log("✓ ÒѽøÈë¶¹°ü¶Ô»°Ò³Ãæ");
- } else {
- print.log("⚠ δ¼ì²âµ½ÏûÏ¢Áбí");
- }
- // ²½Öè4£º¼Ç¼·¢ËÍǰµÄ×îºóÒ»ÌõAI»Ø´ð£¨×÷Ϊ¼ì²â»ùÏߣ©
- var ·¢ËÍǰ×îºóÎı¾ = »ñÈ¡µ±Ç°×îºóAI»Ø´ð(xml);
- // ²½Öè5£ºµã»÷¼ÓºÅ°´Å¥´ò¿ª¸½¼þ²Ëµ¥
- print.log("\n========== ²½Öè5£º´ò¿ª¸½¼þ²Ëµ¥ ==========");
- var ¼ÓºÅ°´Å¥ = ²éÕҼӺŰ´Å¥(xml);
- if (¼ÓºÅ°´Å¥) {
- agent.click(¼ÓºÅ°´Å¥.x, ¼ÓºÅ°´Å¥.y);
- print.log("✓ Òѵã»÷action_entrance°´Å¥£¬×ø±ê(" + Math.round(¼ÓºÅ°´Å¥.x) + "," + Math.round(¼ÓºÅ°´Å¥.y) + ")");
- } else {
- print.log("⚠ δÕÒµ½¼ÓºÅ°´Å¥£¬³¢ÊÔµã»÷ÊäÈë¿ò×ó²àÇøÓò");
- var inputIdx = xml.indexOf('id/speak_area"');
- if (inputIdx !== -1) {
- var ¶Î = xml.substring(inputIdx);
- var m = ¶Î.match(/bounds="\[(\d+),(\d+)\]\[(\d+),(\d+)\]"/);
- if (m) {
- var speakLeft = parseInt(m[1]);
- var speakY = (parseInt(m[2]) + parseInt(m[4])) / 2;
- agent.click(speakLeft - 50, speakY);
- print.log("✓ Òѵã»÷ÊäÈë¿ò×ó²àÇøÓò");
- }
- }
- }
- sleep.second(Ãë = 2);
- // ²½Öè6£ºµÈ´ýÒ³ÃæÌø×ª²¢´¦ÀíͼƬѡÔñ
- print.log("\n========== ²½Öè6£º´¦ÀíͼƬѡÔñÒ³Ãæ ==========");
- var µ±Ç°Ò³Ãæ×´Ì¬ = "δ֪";
- var ³¢ÊÔ´ÎÊý = 0;
- while (µ±Ç°Ò³Ãæ×´Ì¬ === "δ֪" && ³¢ÊÔ´ÎÊý < 5) {
- sleep.second(Ãë = 2);
- xml = »ñÈ¡UI();
-
- if (ÊÇ·ñÒѽøÈëͼƬԤÀÀÒ³Ãæ(xml)) {
- µ±Ç°Ò³Ãæ×´Ì¬ = "Ô¤ÀÀÒ³";
- print.log("✓ ÒѽøÈëͼƬԤÀÀÒ³Ãæ");
- } else if (ÊÇ·ñÒѽøÈëͼƬѡÔñÁбíÒ³Ãæ(xml)) {
- µ±Ç°Ò³Ãæ×´Ì¬ = "Ñ¡ÔñÁбí";
- print.log("✓ ÒѽøÈëͼƬѡÔñÁбíÒ³Ãæ");
- } else if (ÊÇ·ñÒѽøÈëÏà»úÒ³Ãæ(xml)) {
- print.log("✓ ÒѽøÈëÏà»úÒ³Ãæ£¬µã»÷×óϽÇͼƬËõÂÔͼ½øÈëÏà²á");
- agent.click(ÆÁÄ»¿í * 0.15, ÆÁÄ»¸ß * 0.95);
- print.log("✓ Òѵã»÷×óϽÇͼƬËõÂÔͼ");
- continue;
- } else {
- var Ïà²áÑ¡Ïî = ²éÕÒÏà²áÑ¡Ïî(xml);
- if (Ïà²áÑ¡Ïî && !Ïà²áÑ¡Ïî.ÒѽøÈëÔ¤ÀÀÒ³ && !Ïà²áÑ¡Ïî.ÒѽøÈëÑ¡ÔñÒ³) {
- print.log("✓ ÕÒµ½Ïà²áÑ¡Ï׼±¸µã»÷");
- agent.click(Ïà²áÑ¡Ïî.x, Ïà²áÑ¡Ïî.y);
- print.log("✓ Òѵã»÷Ïà²áÑ¡Ïî£¬×ø±ê(" + Math.round(Ïà²áÑ¡Ïî.x) + "," + Math.round(Ïà²áÑ¡Ïî.y) + ")");
- continue;
- }
- }
- ³¢ÊÔ´ÎÊý++;
- }
-
- if (µ±Ç°Ò³Ãæ×´Ì¬ === "Ñ¡ÔñÁбí") {
- var µÚÒ»ÕÅͼƬ = ²éÕÒµÚÒ»ÕÅͼƬ(xml);
- if (µÚÒ»ÕÅͼƬ) {
- agent.click(µÚÒ»ÕÅͼƬ.x, µÚÒ»ÕÅͼƬ.y);
- print.log("✓ ÒÑÑ¡ÔñµÚÒ»ÕÅͼƬ£¬×ø±ê(" + Math.round(µÚÒ»ÕÅͼƬ.x) + "," + Math.round(µÚÒ»ÕÅͼƬ.y) + ")");
- sleep.second(Ãë = 2);
-
- xml = »ñÈ¡UI();
- if (ÊÇ·ñÒѽøÈëͼƬԤÀÀÒ³Ãæ(xml)) {
- µ±Ç°Ò³Ãæ×´Ì¬ = "Ô¤ÀÀÒ³";
- print.log("✓ ÒѽøÈëͼƬԤÀÀÒ³Ãæ");
- }
- }
- }
- // ²½Öè7£ºÕ³ÌùÎÄ×Öµ½ÊäÈë¿ò£¨Ñ¡ÔñͼƬºóÂíÉÏÕ³Ìù£©
- print.log("\n========== ²½Öè7£ºÕ³ÌùÎÄ×ÖѯÎÊÍ϶¯¾àÀë×ø±ê ==========");
- xml = »ñÈ¡UI();
- var ÊäÈë¿ò = ²éÕÒÊäÈë¿òÖÐÐÄ(xml);
- if (ÊäÈë¿ò) {
- agent.click(ÊäÈë¿ò.x, ÊäÈë¿ò.y);
- sleep.second(Ãë = 1);
- Õ³ÌùÎı¾("Çë¸æËßÎÒÑéÖ¤Â뻬¿éÐèÒªÍ϶¯µÄ¾àÀë×ø±ê£¬Ö»Êä³ö×ø±êÊý×Ö£¬²»ÒªÆäËûÎÄ×Ö");
- } else {
- print.log("⚠ δÕÒµ½ÊäÈë¿ò");
- }
- sleep.second(Ãë = 2);
- // ²½Öè8£º·¢ËÍͼƬºÍÎÄ×Ö
- print.log("\n========== ²½Öè8£º·¢ËÍͼƬºÍÎÄ×Ö ==========");
- if (µ±Ç°Ò³Ãæ×´Ì¬ === "Ô¤ÀÀÒ³") {
- var confirmX = ÆÁÄ»¿í * 0.5;
- var confirmY = ÆÁÄ»¸ß * 0.92;
- agent.click(confirmX, confirmY);
- print.log("✓ Òѵã»÷Ô¤ÀÀÒ³µ×²¿Öмä°×É«¶Ô¹´È·Èϰ´Å¥£¬×ø±ê(" + Math.round(confirmX) + "," + Math.round(confirmY) + ")");
- sleep.second(Ãë = 3);
- xml = »ñÈ¡UI();
- }
-
- var sendBtn = ²éÕÒ·¢ËͰ´Å¥ÖÐÐÄ(xml);
- if (sendBtn) {
- agent.click(sendBtn.x, sendBtn.y);
- print.log("✓ Òѵã»÷¶Ô»°Ò³Ãæ·¢ËͰ´Å¥£¬×ø±ê(" + Math.round(sendBtn.x) + "," + Math.round(sendBtn.y) + ")");
- } else {
- var actionSendIdx = xml.indexOf('id/action_send"');
- if (actionSendIdx !== -1) {
- var ¶Î = xml.substring(actionSendIdx);
- var m = ¶Î.match(/bounds="\[(\d+),(\d+)\]\[(\d+),(\d+)\]"/);
- if (m) {
- var sendX = (parseInt(m[1]) + parseInt(m[3])) / 2;
- var sendY = (parseInt(m[2]) + parseInt(m[4])) / 2;
- agent.click(sendX, sendY);
- print.log("✓ Òѵã»÷action_send°´Å¥£¬×ø±ê(" + Math.round(sendX) + "," + Math.round(sendY) + ")");
- }
- }
- }
- sleep.second(Ãë = 5);
- // ²½Öè9£º¼Ç¼·¢ËͺóµÄ»ùÏßÎı¾
- print.log("\n========== ²½Öè9£º¼Ç¼»ùÏßÎı¾ ==========");
- xml = »ñÈ¡UI();
- ·¢ËÍǰ×îºóÎı¾ = »ñÈ¡µ±Ç°×îºóAI»Ø´ð(xml);
- print.log("·¢ËÍǰ×îºóÎı¾³¤¶È£º" + ×Ö·û´®³¤¶È(·¢ËÍǰ×îºóÎı¾));
- // ²½Öè10£ºµÈ´ýAI»Ø´ð
- print.log("\n========== ²½Öè10£ºµÈ´ýAI»Ø´ð ==========");
- var лشðÎı¾ = µÈ´ýAI»Ø´ðÍê³É(·¢ËÍǰ×îºóÎı¾);
- // ²½Öè11£º½âÎö×ø±ê²¢±£´æÎªÈ«¾Ö±äÁ¿
- print.log("\n========== ²½Öè11£º½âÎö×ø±ê ==========");
-
- if (лشðÎı¾ && ×Ö·û´®³¤¶È(лشðÎı¾) > 0) {
- print.log("✓ ²É¼¯µ½AI»Ø´ð");
- print.log("--- ²É¼¯ÄÚÈÝ¿ªÊ¼ ---");
- print.log(лشðÎı¾);
- print.log("--- ²É¼¯ÄÚÈݽáÊø ---");
-
- var ×ø±êÆ¥Åä = лشðÎı¾.match(/(\d+)\s*[,£¬]\s*(\d+)/);
- if (×ø±êÆ¥Åä) {
- ÑéÖ¤Â뻬¿é¾àÀë = {
- x: parseInt(×ø±êÆ¥Åä[1]),
- y: parseInt(×ø±êÆ¥Åä[2])
- };
- print.log("✓ ÌáÈ¡µ½×ø±ê£º(" + ÑéÖ¤Â뻬¿é¾àÀë.x + ", " + ÑéÖ¤Â뻬¿é¾àÀë.y + ")");
- } else {
- var µ¥¸öÊý×ÖÆ¥Åä = лشðÎı¾.match(/(\d+)/);
- if (µ¥¸öÊý×ÖÆ¥Åä) {
- ÑéÖ¤Â뻬¿é¾àÀë = {
- x: parseInt(µ¥¸öÊý×ÖÆ¥Åä[1]),
- y: 0
- };
- print.log("✓ ÌáÈ¡µ½µ¥¸öÊý×Ö£º" + ÑéÖ¤Â뻬¿é¾àÀë.x);
- } else {
- ÑéÖ¤Â뻬¿é¾àÀë = null;
- print.log("⚠ δÌáÈ¡µ½×ø±ê");
- }
- }
- } else {
- ÑéÖ¤Â뻬¿é¾àÀë = null;
- print.log("⚠ δÄܲɼ¯µ½Ð»شð");
- }
- // ²½Öè12£ºÇл»»ØBÕ¾²¢Í϶¯ÑéÖ¤Â뻬¿é
- if (ÑéÖ¤Â뻬¿é¾àÀë && ÑéÖ¤Â뻬¿é¾àÀë.x > 0) {
- print.log("\n========== ²½Öè12£ºÇл»»ØBÕ¾²¢Í϶¯»¬¿é ==========");
-
- agent.shell("input keyevent 187");
- print.log("✓ ÒѰ´ºǫ́¼ü´ò¿ªÈÎÎñÁбí");
- sleep.second(Ãë = 2);
- xml = »ñÈ¡UI();
- var biliIdx = xml.indexOf('ßÙÁ¨ßÙÁ¨');
- if (biliIdx === -1) {
- biliIdx = xml.indexOf('bilibili');
- }
-
- if (biliIdx !== -1) {
- var ¶Î = xml.substring(biliIdx);
- var m = ¶Î.match(/bounds="\[(\d+),(\d+)\]\[(\d+),(\d+)\]"/);
- if (m) {
- var clickX = (parseInt(m[1]) + parseInt(m[3])) / 2;
- var clickY = (parseInt(m[2]) + parseInt(m[4])) / 2;
- agent.click(clickX, clickY);
- print.log("✓ Òѵã»÷BÕ¾ÈÎÎñ¿¨Æ¬£¬×ø±ê(" + Math.round(clickX) + "," + Math.round(clickY) + ")");
- }
- } else {
- print.log("⚠ δÕÒµ½BÕ¾ÈÎÎñ¿¨Æ¬£¬³¢ÊÔÖ±½Ó´ò¿ª");
- try {
- app.openApp("tv.danmaku.bili");
- print.log("✓ ÒÑ´ò¿ªBÕ¾");
- } catch (e) {
- print.log("⚠ ´ò¿ªBվʧ°Ü£º" + e.message);
- }
- }
- sleep.second(Ãë = 3);
- var xml = »ñÈ¡UI();
- var ÑéÖ¤ÂëÇøÓò×ó±ß½ç = ÆÁÄ»¿í * 0.15;
-
- var »¬¿é¹ìµÀÆ¥Åä = xml.match(/<node[^>]*?text="Í϶¯»¬¿éÍê³Éƴͼ"[^>]*?bounds="\[(\d+),(\d+)\]\[(\d+),(\d+)\]"/);
- if (»¬¿é¹ìµÀÆ¥Åä) {
- ÑéÖ¤ÂëÇøÓò×ó±ß½ç = parseInt(»¬¿é¹ìµÀÆ¥Åä[1]);
- }
- var Í϶¯¾àÀë = ÑéÖ¤Â뻬¿é¾àÀë.x * »¬¿éУ׼ϵÊý;
- var startX = ÑéÖ¤ÂëÇøÓò×ó±ß½ç + 50;
- var startY = ÆÁÄ»¸ß * 0.42;
- var endX = startX + Í϶¯¾àÀë;
- var endY = startY;
- print.log("✓ ÑéÖ¤ÂëÇøÓò×ó±ß½ç: " + ÑéÖ¤ÂëÇøÓò×ó±ß½ç + ", Í϶¯¾àÀë: " + Í϶¯¾àÀë);
- agent.swip(startX, startY, endX, endY, 2000);
- print.log("✓ ÒÑÍ϶¯»¬¿é£¬Æðµã(" + Math.round(startX) + "," + Math.round(startY) + ")£¬ÖÕµã(" + Math.round(endX) + "," + Math.round(endY) + ")");
- }
- print.log("\n===== ¶¹°ü½ØÍ¼·¢ËÍÁ÷³Ì½áÊø =====");
- }
- Ö÷Á÷³Ì();
¸´ÖÆ´úÂë
|
|