AIWROK真正能包打天下的三种查找随机方法
<span style="font-family: "Microsoft Yahei", 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 < items.length; i++) {<br> var item = items;<br> if (item.words.indexOf(target) >= 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 && coords.length >= 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]