|
|
安卓脚本浏览器百度搜索自动化
- /**
- * 浏览器百度搜索自动化
- * 流程:打开浏览器 → 输入关键词 → 搜索 → 下滑 → 关闭浏览器 → 循环
- */
- // 导入包
- importClass(Packages.android.content.Intent);
- importClass(Packages.android.net.Uri);
- var LOOP_COUNT = 2; // 循环次数
- for (var i = 1; i <= LOOP_COUNT; i++) {
- printl();
- print.log("=== 第 " + i + " 次循环开始 ===");
- // 1. 打开系统浏览器并访问百度
- print.log("正在打开系统浏览器...");
- var intent = new Intent(Intent.ACTION_VIEW, Uri.parse("https://www.baidu.com"));
- intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
- context.startActivity(intent);
- sleep.second(秒=3); // 等待浏览器启动
- // 2. 等待页面加载完成
- print.log("等待百度页面加载...");
- sleep.second(秒=2);
- // 3. 使用OCR识别"输入"并点击
- print.log("查找'输入'...");
- var ocr1 = opencv.OCREx('图色534260.cv');
- if (ocr1 != null) {
- var searchBoxText = ocr1.getAllString();
- print.log("识别到文字: " + searchBoxText);
-
- // 使用 findIncludeText 查找包含"输入"的区域
- var searchText = ocr1.findIncludeText("输入");
- if (searchText != null) {
- print.log("找到'输入'位置");
-
- // 从 rect 获取百分比坐标(rect.left/top/right/bottom 是 0-1 范围)
- var rect = searchText.rect;
- print.log("rect信息: left=" + rect.left + ", top=" + rect.top + ", right=" + rect.right + ", bottom=" + rect.bottom);
-
- var centerX = (rect.left + rect.right) / 2;
- var centerY = (rect.top + rect.bottom) / 2;
- print.log("中心点百分比坐标: X=" + centerX + ", Y=" + centerY);
-
- // 将百分比坐标转换为像素坐标
- var pixelX = screen.percentToWidth(centerX);
- var pixelY = screen.percentToHeight(centerY);
- print.log("中心点像素坐标: X=" + pixelX + ", Y=" + pixelY);
-
- // 点击输入框激活焦点
- print.log("正在点击输入框...");
- auto.clickPoint(pixelX, pixelY);
- print.log("已点击输入框,等待2秒...");
- sleep.second(秒=2); // 等待2秒让输入框获得焦点
- }
- }
- // 使用OCR识别并粘贴关键词
- // 使用OCR识别"输入关键词"
- var ocr1 = opencv.OCREx('图色534260.cv');
- if (ocr1 != null) {
- var allText = ocr1.getAllString();
- print.log("识别到的文字: " + allText);
-
- // 查找包含"输入"的区域(根据实际识别结果)
- var searchText = ocr1.findIncludeText("输入");
- if (searchText != null) {
- print.log("找到'输入'位置");
-
- // 从 rect 获取百分比坐标(rect.left/top/right/bottom 是 0-1 范围)
- var rect = searchText.rect;
- print.log("rect信息: left=" + rect.left + ", top=" + rect.top + ", right=" + rect.right + ", bottom=" + rect.bottom);
-
- // 计算中心点百分比坐标
- var centerX = (rect.left + rect.right) / 2;
- var centerY = (rect.top + rect.bottom) / 2;
- print.log("中心点百分比坐标: X=" + centerX + ", Y=" + centerY);
-
- // 将百分比坐标转换为像素坐标
- var pixelX = screen.percentToWidth(centerX);
- var pixelY = screen.percentToHeight(centerY);
- print.log("中心点像素坐标: X=" + pixelX + ", Y=" + pixelY);
-
- // 先点击一下激活输入框
- print.log("正在点击输入框...");
- auto.clickPoint(pixelX, pixelY);
- sleep.second(秒=2);
- print.log("已点击输入框");
-
- // 写入剪贴板
- print.log("写入剪贴板: AIWROK自动化测试");
- Clipboard.copy("AIWROK自动化测试");
- sleep.second(秒=0.5);
-
- // 长按输入框调出粘贴菜单
- print.log("正在长按输入框调出粘贴菜单...");
- print.log("长按坐标: X=" + pixelX + ", Y=" + pixelY);
- auto.longClickPoint(pixelX, pixelY, 1000);
- print.log("长按完成,等待2秒让菜单完全显示...");
- sleep.second(秒=2); // 增加等待时间,让粘贴菜单完全显示
-
- // 使用OCR识别"粘帖"按钮并点击(注意是"帖"不是"贴")
- print.log("尝试识别'粘帖'按钮...");
- var ocrPaste = opencv.OCREx('图色162482.cv');
- if (ocrPaste != null) {
- var allPasteText = ocrPaste.getAllString();
- print.log("识别到的粘贴区域文字: " + allPasteText);
-
- var pasteText = ocrPaste.findIncludeText("粘帖");
- if (pasteText != null) {
- var pasteRect = pasteText.rect;
- var pasteCenterX = (pasteRect.left + pasteRect.right) / 2;
- var pasteCenterY = (pasteRect.top + pasteRect.bottom) / 2;
- var pastePixelX = screen.percentToWidth(pasteCenterX);
- var pastePixelY = screen.percentToHeight(pasteCenterY);
- print.log("找到'粘贴'按钮,坐标: X=" + pastePixelX + ", Y=" + pastePixelY);
- auto.clickPoint(pastePixelX, pastePixelY);
- print.log("已点击粘贴按钮");
- sleep.second(秒=1);
- }
- }
- }
- }
- // 点击百度一下按钮
- print.log("点击搜索按钮...");
- var detects=opencv.findImagesEx('图色385583.cv');
- if(detects!=null){
- printl(detects);
- detects[0].click();
- print.log("已点击搜索按钮");
- sleep.second(秒=3); // 等待搜索结果加载
- }
- // 下滑到底部
- print.log("下滑到底部...");
- auto.swip(screen.getScreenWidth() / 2, screen.getScreenHeight() * 0.8, screen.getScreenWidth() / 2, screen.getScreenHeight() * 0.2, 500, 0);
- sleep.second(秒=1);
- print.log("下滑完成");
- // 关闭浏览器
- print.log("正在关闭浏览器...");
- app.closeApp("com.android.browser");
- sleep.second(秒=1);
- print.log("浏览器已关闭");
- print.log("=== 第 " + i + " 次循环完成 ===");
- } // end for loop
- printl();
- print.log("=== 所有循环已完成 ===");
- toast.show('浏览器百度搜索自动化完成!');
复制代码
|
-
-
|