B2B网络软件

标题: AIWROK软件屏幕自动化操作方法汇集 [打印本页]

作者: YYPOST群发软件    时间: 昨天 07:55
标题: AIWROK软件屏幕自动化操作方法汇集
代码的简要说明和一些注意事项:
在实际应用中,您需要根据具体的设备和应用需求来调整这些参数和逻辑。同时,也要确保应用具有相应的权限,例如访问屏幕截图的权限,以避免运行时错误。
AIWROK软件屏幕自动化操作方法汇集 B2B网络软件 AIWROK软件屏幕自动化操作方法汇集 B2B网络软件 AIWROK软件屏幕自动化操作方法汇集 B2B网络软件 AIWROK软件屏幕自动化操作方法汇集 B2B网络软件
  1. // 官方群711841924
  2. // 第一个方法:⌛screen.MLKitOcr_免字库ocr
  3. var img1 = screen.screenShotFull();
  4. var ocr1 = img1.MLKitOcr('zhs');
  5. var text1 = ocr1.getAllString();
  6. printl(text1);
  7. img1.recycle();

  8. // 第二个方法:⌛screen._screenShot_截图并压缩
  9. var pic = screen.screenShot(800, 600, [90]); // 设置截图尺寸为800x600,压缩质量为90

  10. // 步骤 2:检查截图是否成功
  11. if (pic !== null) {
  12.     // 步骤 3:使用 OCR 技术识别中文文字
  13.     var ocrResult = pic.MLKitOcr('zh'); // 指定识别语言为中文

  14.     // 步骤 4:检查 OCR 识别是否成功
  15.     if (ocrResult !== null) {
  16.         // 步骤 5:获取并打印识别的文本内容
  17.         var text = ocrResult.getAllString(); // 获取所有识别的文本
  18.         printl("识别的文本内容:");
  19.         printl(text);
  20.     } else {
  21.         printl("OCR 识别失败,请检查权限或屏幕内容。");
  22.     }
  23. } else {
  24.     printl("截图失败,请检查权限设置。");
  25. }
  26. // 第三个方法:⌛screen.areaToPercent_面积转屏幕占比
  27. // 获取屏幕截图
  28. var img = screen.screenShotFull();

  29. // 使用 MLKitOcr 进行 OCR 文字识别(简体中文)
  30. var ocrResult = img.MLKitOcr('zhs');
  31. var recognizedText = ocrResult.getAllString();
  32. printl("OCR 识别结果: " + recognizedText);

  33. // 计算特定区域的面积占屏幕的百分比
  34. var area = 1000; // 假设要计算的面积为 1000
  35. var percentage = screen.areaToPercent(area);

  36. if (percentage !== null) {
  37.     printl("面积 " + area + " 占屏幕的百分比: " + percentage + "%");
  38. } else {
  39.     printl("计算失败,请检查参数或屏幕设置。");
  40. }

  41. // 查找特定文本并点击
  42. var target = ocrResult.findIncludeText("雷电");
  43. if (target) {
  44.     target.click();
  45.     printl("成功点击目标区域: 雷电");
  46. } else {
  47.     printl("目标区域未找到: 雷电");
  48. }

  49. // 回收资源
  50. img.recycle();
  51. // 第四个方法:⌛screen.dip2px_DIP转像素
  52. // 示例:将 444 DIP 转换为像素
  53. var dipValue = 444;
  54. var pixelValue = screen.dip2px(dipValue);

  55. if (pixelValue !== null) {
  56.     printl(dipValue + " DIP 转换为像素: " + pixelValue + " px");
  57. } else {
  58.     printl("转换失败,请检查权限或参数。");
  59. }

  60. // 第五个方法:⌛screen.getRotation_取屏幕旋转方向
  61. var rotation = screen.getRotation();
  62. if (rotation !== null) {
  63.     switch (rotation) {
  64.         case 0:
  65.             printl("屏幕未旋转,使用默认布局。");
  66.             // 设置默认布局
  67.             break;
  68.         case 1:
  69.             printl("屏幕逆时针旋转 90 度,调整为横屏布局。");
  70.             // 设置横屏布局
  71.             break;
  72.         case 2:
  73.             printl("屏幕逆时针旋转 180 度,调整为倒置布局。");
  74.             // 设置倒置布局
  75.             break;
  76.         case 3:
  77.             printl("屏幕逆时针旋转 270 度,调整为横屏布局。");
  78.             // 设置横屏布局
  79.             break;
  80.         default:
  81.             printl("未知的屏幕旋转方向。");
  82.             break;
  83.     }
  84. } else {
  85.     printl("无法获取屏幕旋转方向,使用默认布局。");
  86.     // 设置默认布局
  87. }
  88. // 第六个方法:⌛获取屏幕高度
  89. //
  90. var screenHeight = screen.getScreenHeight();

  91. // 检查是否成功获取屏幕高度
  92. if (screenHeight !== null) {
  93.     printl("当前屏幕高度: " + screenHeight + " 像素");

  94.     // 根据屏幕高度动态调整布局
  95.     if (screenHeight >= 1920) {
  96.         printl("高分辨率屏幕,使用大尺寸布局。");
  97.         // 在这里可以执行高分辨率屏幕的布局调整代码
  98.         // 例如,调整按钮大小、字体大小等
  99.     } else if (screenHeight >= 1280) {
  100.         printl("中等分辨率屏幕,使用中等尺寸布局。");
  101.         // 在这里可以执行中等分辨率屏幕的布局调整代码
  102.     } else {
  103.         printl("低分辨率屏幕,使用小尺寸布局。");
  104.         // 在这里可以执行低分辨率屏幕的布局调整代码
  105.     }

  106.     // 假设我们有一个需要根据屏幕高度调整的元素
  107.     var elementHeight = screenHeight * 0.1; // 元素高度为屏幕高度的10%
  108.     printl("调整后的元素高度: " + elementHeight + " 像素");

  109.     // 进一步操作,例如点击某个按钮或执行其他任务
  110.     var button = findButtonByHeight(elementHeight);
  111.     if (button) {
  112.         button.click();
  113.         printl("成功点击按钮。");
  114.     } else {
  115.         printl("未找到符合条件的按钮。");
  116.     }
  117. } else {
  118.     printl("无法获取屏幕高度,请检查权限或设备支持情况。");
  119. }

  120. // 假设这是一个辅助函数,用于根据高度查找按钮
  121. function findButtonByHeight(height) {
  122.     // 这里可以模拟查找按钮的逻辑
  123.     // 例如,遍历所有按钮,找到高度匹配的按钮
  124.     // 这里为了示例,直接返回一个虚拟按钮对象
  125.     if (height > 0) {
  126.         return { click: function() { printl("按钮被点击!"); } };
  127.     } else {
  128.         return null;
  129.     }
  130. }

  131. // 第七个方法:⌛获取屏幕宽度
  132. var screenWidth = screen.getScreenWidth();

  133. // 2. 检查返回值是否为 null
  134. //    - 如果返回值不为 null,表示成功获取屏幕宽度,输出宽度信息。
  135. //    - 如果返回值为 null,表示获取失败,输出错误提示。
  136. if (screenWidth !== null) {
  137.     // 成功获取屏幕宽度,打印结果
  138.     printl("当前屏幕宽度为: " + screenWidth + " 像素");
  139. } else {
  140.     // 获取失败,提示用户检查权限或设备支持情况
  141.     printl("无法获取屏幕宽度,请检查权限或设备支持情况。");
  142. }

  143. // 第八个方法:⌛使用 screen.heightToPercent 函数将真实坐标转换为百分比坐标

  144. var yCoordinate = 10; // 假设需要转换的真实 y 坐标
  145. var result = screen.heightToPercent(yCoordinate);

  146. // 检查转换结果
  147. if (result) {
  148.     printl("转换成功: " + result); // 输出转换后的百分比坐标
  149. } else {
  150.     printl("转换失败,请检查权限或参数是否正确。"); // 处理转换失败的情况
  151. }

  152. // 第九个方法:⌛使用 screen.px2dip 进行像素到 DIP 的转换,并处理多种场景

  153. // 1. 获取屏幕宽度并转换为 DIP
  154. var screenWidth = screen.getScreenWidth();
  155. if (screenWidth !== null) {
  156.     var dipWidth = screen.px2dip(screenWidth);
  157.     if (dipWidth !== null) {
  158.         printl("屏幕宽度转换为 DIP 值为: " + dipWidth);
  159.     } else {
  160.         printl("屏幕宽度转换失败,请检查权限或设备支持情况。");
  161.     }
  162. } else {
  163.     printl("无法获取屏幕宽度,请检查权限或设备支持情况。");
  164. }

  165. // 2. 假设有一个 UI 元素的像素位置为 (100, 200),将其转换为 DIP
  166. var uiElementX = 100;
  167. var uiElementY = 200;

  168. var dipX = screen.px2dip(uiElementX);
  169. var dipY = screen.px2dip(uiElementY);

  170. if (dipX !== null && dipY !== null) {
  171.     printl("UI 元素的 DIP 坐标为: (" + dipX + ", " + dipY + ")");
  172. } else {
  173.     printl("UI 元素坐标转换失败,请检查权限或设备支持情况。");
  174. }

  175. // 3. 处理多个像素值转换的场景
  176. var pixelValues = [444, 888, 1332];
  177. var dipValues = [];

  178. for (var i = 0; i < pixelValues.length; i++) {
  179.     var dipValue = screen.px2dip(pixelValues[i]);
  180.     if (dipValue !== null) {
  181.         dipValues.push(dipValue);
  182.     } else {
  183.         printl("像素值 " + pixelValues[i] + " 转换失败,请检查权限或设备支持情况。");
  184.     }
  185. }

  186. if (dipValues.length === pixelValues.length) {
  187.     printl("所有像素值成功转换为 DIP: " + dipValues.join(", "));
  188. }

  189. // 4. 处理边界情况,如像素值为 0 或负数
  190. var edgeCases = [0, -100];
  191. for (var j = 0; j < edgeCases.length; j++) {
  192.     var edgeDipValue = screen.px2dip(edgeCases[j]);
  193.     if (edgeDipValue !== null) {
  194.         printl("像素值 " + edgeCases[j] + " 转换为 DIP 值为: " + edgeDipValue);
  195.     } else {
  196.         printl("像素值 " + edgeCases[j] + " 转换失败,请检查权限或设备支持情况。");
  197.     }
  198. }
  199. // 第九个方法:⌛使用 screen.px2dip 进行像素到 DIP 的转换,并处理多种场景

  200. // 获取全屏截图
  201. var pic = screen.screenShotFull();

  202. // 对截图进行 OCR 识别,指定语言为中文
  203. var ocrResult = pic.MLKitOcr('zh');

  204. // 检查 OCR 识别结果是否为空
  205. if (ocrResult) {
  206.     // 获取所有识别到的文本内容
  207.     var allText = ocrResult.getAllString();

  208.     // 打印所有识别到的文本内容
  209.     printl("OCR 识别结果: " + allText);

  210.     // 查找特定文本
  211.     var targetText = "雷电游戏中心";
  212.     if (allText.includes(targetText)) {
  213.         printl("找到目标文本: " + targetText);
  214.     } else {
  215.         printl("未找到目标文本: " + targetText);
  216.     }
  217. } else {
  218.     printl("OCR 识别失败,请检查权限或设备支持情况。");
  219. }

  220. // 释放截图资源
  221. pic.recycle();

  222. // 第十个方法:⌛screen.widthToPercent_实x转百分比x
  223. // 定义需要转换的像素宽度数组
  224. var pixelWidths = [360, 720, 1080];

  225. // 遍历数组,逐个转换并输出结果
  226. pixelWidths.forEach(function (x) {
  227.     var percent = screen.widthToPercent(x);
  228.     if (percent !== null) {
  229.         printl("像素宽度 " + x + " 转换为百分比: " + percent + "%");
  230.     } else {
  231.         printl("转换失败,请检查权限或设备支持情况。");
  232.     }
  233. });
  234. // 第十一个方法:⌛screen.percentToWidth 函数
  235. // 调用 screen.percentToWidth 函数,将 12.23% 转换为实际屏幕宽度
  236. var width = screen.percentToWidth(0.1223);

  237. // 检查返回值是否为 null
  238. if (width !== null) {
  239.     // 成功转换,打印结果
  240.     printl("12.23% 的屏幕宽度为: " + width + " 像素");
  241. } else {
  242.     // 转换失败,提示用户检查参数或权限
  243.     printl("转换失败,请检查参数或权限设置。");
  244. }


  245. // 第十二个方法:⌛ 使用代理模式截图
  246. // 参数:宽度 374 像素,高度 666 像素,质量 100
  247. var img = agent.screenShot(374, 666, 100);

  248. // 检查返回的截图对象是否为 null
  249. if (img !== null) {
  250.     printl("截图成功!");
  251.     // 这里可以对 img 对象进行其他操作,例如保存、处理或OCR识别等
  252. } else {
  253.     printl("截图失败,请检查权限或参数!");
  254. }
复制代码







欢迎光临 B2B网络软件 (http://bbs.niubt.cn/) Powered by Discuz! X3.2