YYPOST群发软件 发表于 2025-4-25 09:39:03

AIWROK真正能包打天下的三种查找随机方法

<span style="font-family: &quot;Microsoft Yahei&quot;, Hei, Tahoma, SimHei, sans-serif; font-size: 16px; font-weight: 700;">AIWROK真正能包打天下的三种查找随机方法</span><p></p><div><div class="blockcode"><blockquote>// 图片文字识别相关方法<br><br>// 使用opencv的OCR进行文字识别并随机点击<br>function 找字随机点击() {<br>    var ocr = opencv.OCREx('今日头条极速版8.cv');<br>    if(!ocr) return;<br>    <br>    var target = ocr.findIncludeText('今日头条极速版');<br>    if(target) {<br>      var rect = target.rect;<br>      var screenWidth = screen.getScreenWidth();<br>      var screenHeight = screen.getScreenHeight();<br>      <br>      // 基础中心点计算<br>      var centerX = (rect.left + rect.right)/2 * screenWidth;<br>      var centerY = (rect.top + rect.bottom)/2 * screenHeight;<br>      <br>      // 在目标区域内添加随机偏移(范围50%区域大小)<br>      var randomRangeX = (rect.right - rect.left) * screenWidth * 0.5;<br>      var randomRangeY = (rect.bottom - rect.top) * screenHeight * 0.5;<br>      <br>      // 计算最终随机点击位置<br>      var clickX = Math.round(centerX + (Math.random() - 0.5) * randomRangeX);<br>      var clickY = Math.round(centerY + (Math.random() - 0.5) * randomRangeY);<br>      <br>      auto.clickPoint(clickX, clickY);<br>      console.log('随机点击坐标:', clickX, clickY);<br>    } else {<br>      console.log('未找到目标');<br>    }<br>}<br><br>// 示例<br>找字随机点击();<br>// 该方法使用opencv的OCR功能在指定的图像文件中查找包含特定文字的目标,并在其区域内随机点击。<br><br>// 使用TomatoOCR进行文字识别并点击<br>function tomatoOcrClickText(target) {<br>    // OCR初始化<br>    rhino.loadDex('TomatoOCR.apk');<br>    importClass(com.tomato.ocr.aw.OCRApi);<br>    <br>    var ocr = new OCRApi();<br>    ocr.setContext(context, "ch-3.0");<br>    ocr.setLicense("gAAAAABmeECYAAAAAGhay4AivnvqQn93I-ul15o53Bz_Xx6T_TlyeioUnjwgf4NuxPykjcq1syE8bN6XqW44SmBoKEcqLZaAVIFUkB8");<br>    <br>    // OCR文字精确点击方法<br>    function clickText(ocrResult, target) {<br>      var items = JSON.parse(ocrResult);<br>      for (var i = 0; i &lt; items.length; i++) {<br>            var item = items;<br>            if (item.words.indexOf(target) &gt;= 0) {<br>                var loc = item.location;<br>                var x1 = loc, y1 = loc;<br>                var x2 = loc, y2 = loc;<br>                auto.clickPoint(Math.round((x1 + x2) / 2), Math.round((y1 + y2) / 2));<br>                console.log("已点击" + target + ",坐标: " + Math.round((x1 + x2) / 2) + "," + Math.round((y1 + y2) / 2));<br>                return true;<br>            }<br>      }<br>      console.log("未找到文字: " + target);<br>      return false;<br>    }<br><br>    // 使用示例<br>    var result = ocr.ocrBase64(screen.screenShotFull().toBase64(), 3);<br>    console.log("识别结果: " + result);<br>    clickText(result, target);<br>}<br><br>// 示例<br>tomatoOcrClickText("雷电游戏中心");<br>// 该方法使用TomatoOCR进行文字识别,并在找到包含特定文字的目标后点击该目标的中心位置。<br><br>// 使用MLKitOCR进行文字识别并随机点击<br>function mlKitOcrClickText(target) {<br>    // 截图并OCR识别<br>    var img = screen.screenShotFull();<br>    var ocrRes = img.MLKitOcr('zh');<br>    console.log(ocrRes);<br><br>    // 查找目标<br>    var dect = ocrRes.findIncludeText(target);<br>    if (dect != null) {<br>      console.log('找到目标');<br>      <br>      // 获取目标区域<br>      var rect = dect.rect;<br>      <br>      // 计算中心点坐标(rect坐标已经是像素值)<br>      var centerX = (rect.left + rect.right) / 2;<br>      var centerY = (rect.top + rect.bottom) / 2;<br>      <br>      // 在目标区域内添加随机偏移(范围50%)<br>      var randomX = (Math.random() - 0.5) * (rect.right - rect.left) * 0.5;<br>      var randomY = (Math.random() - 0.5) * (rect.bottom - rect.top) * 0.5;<br>      <br>      // 执行随机点击<br>      auto.clickPoint(<br>            Math.round(centerX + randomX),<br>            Math.round(centerY + randomY)<br>      );<br>      console.log('随机点击坐标:', Math.round(centerX + randomX), Math.round(centerY + randomY));<br>    } else {<br>      console.log('未找到目标');<br>    }<br>}<br><br>// 示例<br>mlKitOcrClickText("小游戏");<br>// 该方法使用MLKitOCR进行文字识别,并在找到包含特定文字的目标后在其区域内随机点击。<br><br>// 图片查找相关方法<br><br>// 使用opencv查找图像并随机点击<br>function findImageAndClick(imagePath) {<br>    var detects = opencv.findImagesEx(imagePath);<br>    <br>    if (detects != null) {<br>      console.log(detects);<br>      <br>      // 获取获取结果的矩形区域<br>      var rectStr = detects.getRect().toString();<br>      var coords = rectStr.match(/[\d\.]+/g); // 提取坐标数字<br>      <br>      if (coords &amp;&amp; coords.length &gt;= 4) {<br>            var x1 = parseFloat(coords);<br>            var y1 = parseFloat(coords);<br>            var x2 = parseFloat(coords);<br>            var y2 = parseFloat(coords);<br>            <br>            // 计算随机坐标<br>            var randomX = x1 + Math.random() * (x2 - x1);<br>            var randomY = y1 + Math.random() * (y2 - y1);<br>            <br>            // 执行随机点击<br>            //hid.click(randomX, randomY);<br>            //无碍随机点击<br>            auto.clickPercent(randomX, randomY);<br>            console.log('随机点击坐标:', randomX, randomY);<br>      } else {<br>            // 如果没有坐标信息,执行默认点击<br>            auto.clickPercent(0, 0);<br>            console.log('未获取到坐标信息,点击默认位置');<br>      }<br>    } else {<br>      console.log('未找到图像');<br>    }<br>}<br><br>// 示例<br>findImageAndClick('图色489633.cv');<br>// 该方法使用opencv查找指定路径的图像文件,并在其区域内随机点击。<br><br>// 使用节点查找并随机点击<br>function nodeSearchAndClickText(target) {<br>    var nodesObj = auto.nodeSearch(3000).text(target);<br><br>    if (nodesObj != '') {<br>      var nodeObj = nodesObj.getNode(0);<br>      console.log(nodeObj);<br>      <br>      // 解析节点bounds属性 "矩形区域:left,top,right,bottom"<br>      var boundsStr = nodeObj.bounds.toString();<br>      var coords = boundsStr.match(/[\d.]+/g);<br>      var left = parseFloat(coords);<br>      var top = parseFloat(coords);<br>      var right = parseFloat(coords);<br>      var bottom = parseFloat(coords);<br>      <br>      // 计算中心点和随机偏移(范围30%)<br>      var centerX = (left + right) / 2;<br>      var centerY = (top + bottom) / 2;<br>      var randomX = (Math.random() - 0.5) * (right - left) * 0.3;<br>      var randomY = (Math.random() - 0.5) * (bottom - top) * 0.3;<br>      <br>      // 计算最终点击位置<br>      var x = Math.round(centerX + randomX);<br>      var y = Math.round(centerY + randomY);<br>      <br>      console.log('随机点击坐标:', x, y);<br>      auto.clickPoint(x, y);<br>      console.log('点击完成 坐标:', x, y);<br>    } else {<br>      console.log('未找到节点');<br>    }<br>}<br><br>// 示例<br>nodeSearchAndClickText("小游戏");<br>// 该方法使用节点查找功能在当前界面中查找包含特定文字的节点,并在其区域内随机点击。<br></blockquote></div></div>
页: [1]
查看完整版本: AIWROK真正能包打天下的三种查找随机方法