自动发帖软件

标题: AIWROK真正能包打天下的三种查找随机方法 [打印本页]

作者: 发帖软件    时间: 9 小时前
标题: AIWROK真正能包打天下的三种查找随机方法
AIWROK真正能包打天下的三种查找随机方法 群发软件发帖工具 AIWROK真正能包打天下的三种查找随机方法 群发软件发帖工具 AIWROK真正能包打天下的三种查找随机方法 群发软件发帖工具

  1. 找字随机点击():
  1. tomatoOcrClickText(target):
  1. mlKitOcrClickText(target):
  1. findImageAndClick(imagePath):
  1. nodeSearchAndClickText(target):

这些函数可以通过提供不同的目标文本或图像路径来执行不同的识别和点击操作。需要注意的是,代码中的auto.clickPoint()auto.clickPercent()方法需要根据实际的自动化框架进行适配,确保能够在正确的环境中执行屏幕点击操作。

// 图片文字识别相关方法

// 使用opencv的OCR进行文字识别并随机点击
function 找字随机点击() {
var ocr = opencv.OCREx('今日头条极速版8.cv');
if(!ocr) return;

var target = ocr.findIncludeText('今日头条极速版');
if(target) {
var rect = target.rect;
var screenWidth = screen.getScreenWidth();
var screenHeight = screen.getScreenHeight();

// 基础中心点计算
var centerX = (rect.left + rect.right)/2 * screenWidth;
var centerY = (rect.top + rect.bottom)/2 * screenHeight;

// 在目标区域内添加随机偏移(范围50%区域大小)
var randomRangeX = (rect.right - rect.left) * screenWidth * 0.5;
var randomRangeY = (rect.bottom - rect.top) * screenHeight * 0.5;

// 计算最终随机点击位置
var clickX = Math.round(centerX + (Math.random() - 0.5) * randomRangeX);
var clickY = Math.round(centerY + (Math.random() - 0.5) * randomRangeY);

auto.clickPoint(clickX, clickY);
console.log('随机点击坐标:', clickX, clickY);
} else {
console.log('未找到目标');
}
}

// 示例
找字随机点击();
// 该方法使用opencv的OCR功能在指定的图像文件中查找包含特定文字的目标,并在其区域内随机点击。

// 使用TomatoOCR进行文字识别并点击
function tomatoOcrClickText(target) {
// OCR初始化
rhino.loadDex('TomatoOCR.apk');
importClass(com.tomato.ocr.aw.OCRApi);

var ocr = new OCRApi();
ocr.setContext(context, "ch-3.0");
ocr.setLicense("gAAAAABmeECYAAAAAGhay4AivnvqQn93I-ul15o53Bz_Xx6T_TlyeioUnjwgf4NuxPykjcq1syE8bN6XqW44SmBoKEcqLZaAVIFUkB8");

// OCR文字精确点击方法
function clickText(ocrResult, target) {
var items = JSON.parse(ocrResult);
for (var i = 0; i < items.length; i++) {
var item = items;
if (item.words.indexOf(target) >= 0) {
var loc = item.location;
var x1 = loc[0][0], y1 = loc[0][1];
var x2 = loc[1][0], y2 = loc[2][1];
auto.clickPoint(Math.round((x1 + x2) / 2), Math.round((y1 + y2) / 2));
console.log("已点击" + target + ",坐标: " + Math.round((x1 + x2) / 2) + "," + Math.round((y1 + y2) / 2));
return true;
}
}
console.log("未找到文字: " + target);
return false;
}

// 使用示例
var result = ocr.ocrBase64(screen.screenShotFull().toBase64(), 3);
console.log("识别结果: " + result);
clickText(result, target);
}

// 示例
tomatoOcrClickText("雷电游戏中心");
// 该方法使用TomatoOCR进行文字识别,并在找到包含特定文字的目标后点击该目标的中心位置。

// 使用MLKitOCR进行文字识别并随机点击
function mlKitOcrClickText(target) {
// 截图并OCR识别
var img = screen.screenShotFull();
var ocrRes = img.MLKitOcr('zh');
console.log(ocrRes);

// 查找目标
var dect = ocrRes.findIncludeText(target);
if (dect != null) {
console.log('找到目标');

// 获取目标区域
var rect = dect.rect;

// 计算中心点坐标(rect坐标已经是像素值)
var centerX = (rect.left + rect.right) / 2;
var centerY = (rect.top + rect.bottom) / 2;

// 在目标区域内添加随机偏移(范围50%)
var randomX = (Math.random() - 0.5) * (rect.right - rect.left) * 0.5;
var randomY = (Math.random() - 0.5) * (rect.bottom - rect.top) * 0.5;

// 执行随机点击
auto.clickPoint(
Math.round(centerX + randomX),
Math.round(centerY + randomY)
);
console.log('随机点击坐标:', Math.round(centerX + randomX), Math.round(centerY + randomY));
} else {
console.log('未找到目标');
}
}

// 示例
mlKitOcrClickText("小游戏");
// 该方法使用MLKitOCR进行文字识别,并在找到包含特定文字的目标后在其区域内随机点击。

// 图片查找相关方法

// 使用opencv查找图像并随机点击
function findImageAndClick(imagePath) {
var detects = opencv.findImagesEx(imagePath);

if (detects != null) {
console.log(detects);

// 获取获取结果的矩形区域
var rectStr = detects[0].getRect().toString();
var coords = rectStr.match(/[\d\.]+/g); // 提取坐标数字

if (coords && coords.length >= 4) {
var x1 = parseFloat(coords[0]);
var y1 = parseFloat(coords[1]);
var x2 = parseFloat(coords[2]);
var y2 = parseFloat(coords[3]);

// 计算随机坐标
var randomX = x1 + Math.random() * (x2 - x1);
var randomY = y1 + Math.random() * (y2 - y1);

// 执行随机点击
//hid.click(randomX, randomY);
//无碍随机点击
auto.clickPercent(randomX, randomY);
console.log('随机点击坐标:', randomX, randomY);
} else {
// 如果没有坐标信息,执行默认点击
auto.clickPercent(0, 0);
console.log('未获取到坐标信息,点击默认位置');
}
} else {
console.log('未找到图像');
}
}

// 示例
findImageAndClick('图色489633.cv');
// 该方法使用opencv查找指定路径的图像文件,并在其区域内随机点击。

// 使用节点查找并随机点击
function nodeSearchAndClickText(target) {
var nodesObj = auto.nodeSearch(3000).text(target);

if (nodesObj != '') {
var nodeObj = nodesObj.getNode(0);
console.log(nodeObj);

// 解析节点bounds属性 "矩形区域:left,top,right,bottom"
var boundsStr = nodeObj.bounds.toString();
var coords = boundsStr.match(/[\d.]+/g);
var left = parseFloat(coords[0]);
var top = parseFloat(coords[1]);
var right = parseFloat(coords[2]);
var bottom = parseFloat(coords[3]);

// 计算中心点和随机偏移(范围30%)
var centerX = (left + right) / 2;
var centerY = (top + bottom) / 2;
var randomX = (Math.random() - 0.5) * (right - left) * 0.3;
var randomY = (Math.random() - 0.5) * (bottom - top) * 0.3;

// 计算最终点击位置
var x = Math.round(centerX + randomX);
var y = Math.round(centerY + randomY);

console.log('随机点击坐标:', x, y);
auto.clickPoint(x, y);
console.log('点击完成 坐标:', x, y);
} else {
console.log('未找到节点');
}
}

// 示例
nodeSearchAndClickText("小游戏");
// 该方法使用节点查找功能在当前界面中查找包含特定文字的节点,并在其区域内随机点击。






欢迎光临 自动发帖软件 (http://www.fatiegongju.com/) Powered by Discuz! X3.2