|
资讯缩略图:
资讯发布日期:2025-03-25
资讯发布简介:AIWROK软件屏幕自动化操作方法汇集
资讯关键词:AIWROK软件屏幕自动化操作方法汇集
资讯所属分类:IT资讯
联系:
① 本信息收集于网络,如有不对的地方欢迎联系我纠正! ② 本信息免费收录,不存在价格的问题! ③ 如果您的网站也想这样出现在这里,请您加好友情链接,我当天会审核通过!
④友情链接关键字:软件网站分类目录 网址:http://www.postbbs.com/
资讯详细描述
 | |  |  | - // 官方群711841924
- // 第一个方法:⌛screen.MLKitOcr_免字库ocr
- var img1 = screen.screenShotFull();
- var ocr1 = img1.MLKitOcr('zhs');
- var text1 = ocr1.getAllString();
- printl(text1);
- img1.recycle();
- // 第二个方法:⌛screen._screenShot_截图并压缩
- var pic = screen.screenShot(800, 600, [90]); // 设置截图尺寸为800x600,压缩质量为90
- // 步骤 2:检查截图是否成功
- if (pic !== null) {
- // 步骤 3:使用 OCR 技术识别中文文字
- var ocrResult = pic.MLKitOcr('zh'); // 指定识别语言为中文
- // 步骤 4:检查 OCR 识别是否成功
- if (ocrResult !== null) {
- // 步骤 5:获取并打印识别的文本内容
- var text = ocrResult.getAllString(); // 获取所有识别的文本
- printl("识别的文本内容:");
- printl(text);
- } else {
- printl("OCR 识别失败,请检查权限或屏幕内容。");
- }
- } else {
- printl("截图失败,请检查权限设置。");
- }
- // 第三个方法:⌛screen.areaToPercent_面积转屏幕占比
- // 获取屏幕截图
- var img = screen.screenShotFull();
- // 使用 MLKitOcr 进行 OCR 文字识别(简体中文)
- var ocrResult = img.MLKitOcr('zhs');
- var recognizedText = ocrResult.getAllString();
- printl("OCR 识别结果: " + recognizedText);
- // 计算特定区域的面积占屏幕的百分比
- var area = 1000; // 假设要计算的面积为 1000
- var percentage = screen.areaToPercent(area);
- if (percentage !== null) {
- printl("面积 " + area + " 占屏幕的百分比: " + percentage + "%");
- } else {
- printl("计算失败,请检查参数或屏幕设置。");
- }
- // 查找特定文本并点击
- var target = ocrResult.findIncludeText("雷电");
- if (target) {
- target.click();
- printl("成功点击目标区域: 雷电");
- } else {
- printl("目标区域未找到: 雷电");
- }
- // 回收资源
- img.recycle();
- // 第四个方法:⌛screen.dip2px_DIP转像素
- // 示例:将 444 DIP 转换为像素
- var dipValue = 444;
- var pixelValue = screen.dip2px(dipValue);
- if (pixelValue !== null) {
- printl(dipValue + " DIP 转换为像素: " + pixelValue + " px");
- } else {
- printl("转换失败,请检查权限或参数。");
- }
- // 第五个方法:⌛screen.getRotation_取屏幕旋转方向
- var rotation = screen.getRotation();
- if (rotation !== null) {
- switch (rotation) {
- case 0:
- printl("屏幕未旋转,使用默认布局。");
- // 设置默认布局
- break;
- case 1:
- printl("屏幕逆时针旋转 90 度,调整为横屏布局。");
- // 设置横屏布局
- break;
- case 2:
- printl("屏幕逆时针旋转 180 度,调整为倒置布局。");
- // 设置倒置布局
- break;
- case 3:
- printl("屏幕逆时针旋转 270 度,调整为横屏布局。");
- // 设置横屏布局
- break;
- default:
- printl("未知的屏幕旋转方向。");
- break;
- }
- } else {
- printl("无法获取屏幕旋转方向,使用默认布局。");
- // 设置默认布局
- }
- // 第六个方法:⌛获取屏幕高度
- //
- var screenHeight = screen.getScreenHeight();
- // 检查是否成功获取屏幕高度
- if (screenHeight !== null) {
- printl("当前屏幕高度: " + screenHeight + " 像素");
- // 根据屏幕高度动态调整布局
- if (screenHeight >= 1920) {
- printl("高分辨率屏幕,使用大尺寸布局。");
- // 在这里可以执行高分辨率屏幕的布局调整代码
- // 例如,调整按钮大小、字体大小等
- } else if (screenHeight >= 1280) {
- printl("中等分辨率屏幕,使用中等尺寸布局。");
- // 在这里可以执行中等分辨率屏幕的布局调整代码
- } else {
- printl("低分辨率屏幕,使用小尺寸布局。");
- // 在这里可以执行低分辨率屏幕的布局调整代码
- }
- // 假设我们有一个需要根据屏幕高度调整的元素
- var elementHeight = screenHeight * 0.1; // 元素高度为屏幕高度的10%
- printl("调整后的元素高度: " + elementHeight + " 像素");
- // 进一步操作,例如点击某个按钮或执行其他任务
- var button = findButtonByHeight(elementHeight);
- if (button) {
- button.click();
- printl("成功点击按钮。");
- } else {
- printl("未找到符合条件的按钮。");
- }
- } else {
- printl("无法获取屏幕高度,请检查权限或设备支持情况。");
- }
- // 假设这是一个辅助函数,用于根据高度查找按钮
- function findButtonByHeight(height) {
- // 这里可以模拟查找按钮的逻辑
- // 例如,遍历所有按钮,找到高度匹配的按钮
- // 这里为了示例,直接返回一个虚拟按钮对象
- if (height > 0) {
- return { click: function() { printl("按钮被点击!"); } };
- } else {
- return null;
- }
- }
- // 第七个方法:⌛获取屏幕宽度
- var screenWidth = screen.getScreenWidth();
- // 2. 检查返回值是否为 null
- // - 如果返回值不为 null,表示成功获取屏幕宽度,输出宽度信息。
- // - 如果返回值为 null,表示获取失败,输出错误提示。
- if (screenWidth !== null) {
- // 成功获取屏幕宽度,打印结果
- printl("当前屏幕宽度为: " + screenWidth + " 像素");
- } else {
- // 获取失败,提示用户检查权限或设备支持情况
- printl("无法获取屏幕宽度,请检查权限或设备支持情况。");
- }
- // 第八个方法:⌛使用 screen.heightToPercent 函数将真实坐标转换为百分比坐标
- var yCoordinate = 10; // 假设需要转换的真实 y 坐标
- var result = screen.heightToPercent(yCoordinate);
- // 检查转换结果
- if (result) {
- printl("转换成功: " + result); // 输出转换后的百分比坐标
- } else {
- printl("转换失败,请检查权限或参数是否正确。"); // 处理转换失败的情况
- }
- // 第九个方法:⌛使用 screen.px2dip 进行像素到 DIP 的转换,并处理多种场景
- // 1. 获取屏幕宽度并转换为 DIP
- var screenWidth = screen.getScreenWidth();
- if (screenWidth !== null) {
- var dipWidth = screen.px2dip(screenWidth);
- if (dipWidth !== null) {
- printl("屏幕宽度转换为 DIP 值为: " + dipWidth);
- } else {
- printl("屏幕宽度转换失败,请检查权限或设备支持情况。");
- }
- } else {
- printl("无法获取屏幕宽度,请检查权限或设备支持情况。");
- }
- // 2. 假设有一个 UI 元素的像素位置为 (100, 200),将其转换为 DIP
- var uiElementX = 100;
- var uiElementY = 200;
- var dipX = screen.px2dip(uiElementX);
- var dipY = screen.px2dip(uiElementY);
- if (dipX !== null && dipY !== null) {
- printl("UI 元素的 DIP 坐标为: (" + dipX + ", " + dipY + ")");
- } else {
- printl("UI 元素坐标转换失败,请检查权限或设备支持情况。");
- }
- // 3. 处理多个像素值转换的场景
- var pixelValues = [444, 888, 1332];
- var dipValues = [];
- for (var i = 0; i < pixelValues.length; i++) {
- var dipValue = screen.px2dip(pixelValues[i]);
- if (dipValue !== null) {
- dipValues.push(dipValue);
- } else {
- printl("像素值 " + pixelValues[i] + " 转换失败,请检查权限或设备支持情况。");
- }
- }
- if (dipValues.length === pixelValues.length) {
- printl("所有像素值成功转换为 DIP: " + dipValues.join(", "));
- }
- // 4. 处理边界情况,如像素值为 0 或负数
- var edgeCases = [0, -100];
- for (var j = 0; j < edgeCases.length; j++) {
- var edgeDipValue = screen.px2dip(edgeCases[j]);
- if (edgeDipValue !== null) {
- printl("像素值 " + edgeCases[j] + " 转换为 DIP 值为: " + edgeDipValue);
- } else {
- printl("像素值 " + edgeCases[j] + " 转换失败,请检查权限或设备支持情况。");
- }
- }
- // 第九个方法:⌛使用 screen.px2dip 进行像素到 DIP 的转换,并处理多种场景
- // 获取全屏截图
- var pic = screen.screenShotFull();
- // 对截图进行 OCR 识别,指定语言为中文
- var ocrResult = pic.MLKitOcr('zh');
- // 检查 OCR 识别结果是否为空
- if (ocrResult) {
- // 获取所有识别到的文本内容
- var allText = ocrResult.getAllString();
- // 打印所有识别到的文本内容
- printl("OCR 识别结果: " + allText);
- // 查找特定文本
- var targetText = "雷电游戏中心";
- if (allText.includes(targetText)) {
- printl("找到目标文本: " + targetText);
- } else {
- printl("未找到目标文本: " + targetText);
- }
- } else {
- printl("OCR 识别失败,请检查权限或设备支持情况。");
- }
- // 释放截图资源
- pic.recycle();
- // 第十个方法:⌛screen.widthToPercent_实x转百分比x
- // 定义需要转换的像素宽度数组
- var pixelWidths = [360, 720, 1080];
- // 遍历数组,逐个转换并输出结果
- pixelWidths.forEach(function (x) {
- var percent = screen.widthToPercent(x);
- if (percent !== null) {
- printl("像素宽度 " + x + " 转换为百分比: " + percent + "%");
- } else {
- printl("转换失败,请检查权限或设备支持情况。");
- }
- });
- // 第十一个方法:⌛screen.percentToWidth 函数
- // 调用 screen.percentToWidth 函数,将 12.23% 转换为实际屏幕宽度
- var width = screen.percentToWidth(0.1223);
- // 检查返回值是否为 null
- if (width !== null) {
- // 成功转换,打印结果
- printl("12.23% 的屏幕宽度为: " + width + " 像素");
- } else {
- // 转换失败,提示用户检查参数或权限
- printl("转换失败,请检查参数或权限设置。");
- }
- // 第十二个方法:⌛ 使用代理模式截图
- // 参数:宽度 374 像素,高度 666 像素,质量 100
- var img = agent.screenShot(374, 666, 100);
- // 检查返回的截图对象是否为 null
- if (img !== null) {
- printl("截图成功!");
- // 这里可以对 img 对象进行其他操作,例如保存、处理或OCR识别等
- } else {
- printl("截图失败,请检查权限或参数!");
- }
复制代码
代码的简要说明和一些注意事项:
- 代码中使用了 MLKitOcr 方法来进行文字识别。'zhs' 和 'zh' 都是中文的识别代码,但通常使用 'zh'。
- 识别结果通过 getAllString() 方法获取,然后打印出来。
- 使用完截图后,记得调用 recycle() 方法来释放资源。
- 使用 screenShot 方法可以指定截图的尺寸和压缩质量。
- 检查截图是否成功后再进行后续操作。
- areaToPercent 方法用于计算特定面积占屏幕的百分比。
- 使用前需要确保输入的面积值是合理的。
- dip2px 方法将 DIP(设备独立像素)转换为具体的像素值。
- 这对于需要适配不同屏幕密度的应用非常有用。
- getRotation 方法获取屏幕的旋转方向,返回值是一个表示旋转角度的整数。
- 根据旋转方向可以调整应用的布局以适应不同的屏幕方向。
- getScreenHeight 方法获取当前设备的屏幕高度。
- 可以根据屏幕高度动态调整应用的布局。
- getScreenWidth 方法获取当前设备的屏幕宽度。
- 同样可以用于动态调整布局。
- heightToPercent 方法可以将真实的 y 坐标转换为屏幕高度的百分比坐标。
- 这对于需要适应不同屏幕尺寸的坐标操作很有帮助。
- px2dip 方法将像素值转换为 DIP。
- 代码中展示了如何处理单个像素值以及多个像素值的转换。
- 边界情况(如 0 或负数)也需要考虑。
- 通过 findIncludeText 方法查找包含特定文本的 OCR 结果,并尝试点击该区域。
- 如果找到目标文本,则点击并输出成功信息;否则输出未找到的提示。
- agent.screenShot 方法使用代理模式来截图,这种方式可能用于某些特殊场景下的截图需求。
- 需要确保代理模式的截图权限已正确设置。
在实际应用中,您需要根据具体的设备和应用需求来调整这些参数和逻辑。同时,也要确保应用具有相应的权限,例如访问屏幕截图的权限,以避免运行时错误。
| |  | |  |
|
|