自动发帖软件
标题:
安卓脚本auto方法完整示例
[打印本页]
作者:
发帖软件
时间:
10 小时前
标题:
安卓脚本auto方法完整示例
安卓脚本auto方法完整示例
3.png
(1.84 MB, 下载次数: 0)
10 小时前
上传
/**
* 交流QQ群: 711841924 (群一) / 528816639 (安卓内测群)
* 演示back、backToImage、backToText、checkImage、clickImage的实际应用场景
* 保留完整功能代码 + H5日志界面适配
*/
// ==================== 示例1: back - 标准返回 ====================
function demoExample() {
printl("━━━━━━━━━━━━━━━━━━━━━━━━━━━━");
printl(" 示例1: back 标准返回操作");
printl("━━━━━━━━━━━━━━━━━━━━━━━━━━━━");
sleep.second(1);
printl("即将返回上一页");
sleep.second(0.5);
// 核心功能代码:调用 auto.back() 返回上一页
// auto.back(); // 注释掉,避免返回后无法继续执行后续示例
sleep.second(1);
printl("✅ 已执行返回操作(演示模式)");
sleep.second(0.5);
// 注意:返回操作会离开H5界面,实际使用时需要重新打开
printl(" 提示:返回操作后会离开当前H5界面");
sleep.second(0.5);
printl(" 如需继续显示日志,需重新加载H5界面");
sleep.second(1.5);
}
// ==================== 示例2: backToImage - 图片引导返回 ====================
function 找图后退() {
printl("━━━━━━━━━━━━━━━━━━━━━━━━━━━━");
printl(" 示例2: backToImage 图片引导返回");
printl("━━━━━━━━━━━━━━━━━━━━━━━━━━━━");
sleep.second(1);
// 步骤1: 截取整个屏幕的截图
printl(" 步骤1: 截取屏幕...");
var img = screen.screenShotFull();
sleep.second(0.5);
// 步骤2: 从截图中裁剪特定区域的图片
printl(" 步骤2: 裁剪目标区域...");
var cutimg = img.cutImagePercent(0.8869, 0.0572, 0.9434, 0.0825);
sleep.second(0.5);
// 步骤3: 定义保存图片的路径
var imgPath = "/sdcard/cutimg.png";
// 步骤4: 将裁剪后的图片保存到指定路径
printl(" 步骤3: 保存图片: " + imgPath);
cutimg.save(imgPath);
sleep.second(0.5);
// 步骤5: 打印图片信息
printl(" 图片信息(模拟): 122 × 97");
sleep.second(0.5);
// 步骤6: 释放截图资源
printl(" 步骤4: 释放资源...");
img.recycle();
sleep.second(0.5);
// 步骤7: 创建包含图片路径的数组
var imgPathArray = [imgPath];
// 步骤8: 核心功能代码 - 自动根据图片路径数组进行回退操作
printl(" 步骤5: 执行 backToImage(已注释,避免中断后续示例)...");
// auto.backToImage(imgPathArray, 0.8, 10000, 0, [0, 0, 1, 1]);
sleep.second(1);
printl("✅ 图片引导返回演示完成");
sleep.second(1.5);
}
// ==================== 示例3: backToText - 文字引导返回 ====================
function 回退到指定页面() {
printl("━━━━━━━━━━━━━━━━━━━━━━━━━━━━");
printl(" 示例3: backToText 文字引导返回");
printl("━━━━━━━━━━━━━━━━━━━━━━━━━━━━");
sleep.second(1);
// 步骤1: 定义需要查找的文本
var targetText = "关注||我的";
printl(" 目标文本: " + targetText);
sleep.second(0.5);
// 步骤2: 设置超时时间为10秒
var timeout = 10000;
printl(" 超时时间: " + timeout + "毫秒");
sleep.second(0.5);
// 步骤3: 核心功能代码 - 尝试回到包含指定文本的页面
printl(" 执行 backToText(已注释,避免中断后续示例)...");
// var result = auto.backToText(targetText, timeout);
// 模拟结果用于演示
var result = true;
// 检查操作结果
if (result) {
printl("✅ 成功回退到指定页面(模拟结果)");
} else {
printl(" 未能找到指定页面或操作超时");
}
sleep.second(1.5);
}
// ==================== 示例4: checkImage - 图像检测 ====================
function 检测图片存在() {
printl("━━━━━━━━━━━━━━━━━━━━━━━━━━━━");
printl(" 示例4: checkImage 图像检测");
printl("━━━━━━━━━━━━━━━━━━━━━━━━━━━━");
sleep.second(1);
// 步骤1: 定义图片数组
var images = ["image1.png", "image2.jpg", "image3.bmp"];
printl(" 检测图片: " + images.length + " 张");
sleep.second(0.5);
// 步骤2: 设置参数
var similarity = 0.8;
var timeout = 5000;
var quality = 1;
printl(" 相似度: " + similarity);
printl(" 超时: " + timeout + "ms");
printl(" 质量: " + quality);
sleep.second(0.5);
// 步骤3: 设置百分比区域
var region = [0, 0, 1, 1];
printl(" 搜索区域: 全图");
sleep.second(0.5);
// 步骤4: 核心功能代码 - 调用checkImage函数
printl(" 执行 checkImage...");
var result = auto.checkImage(images, similarity, timeout, quality, region);
sleep.second(0.5);
// 步骤5: 打印结果
if (result) {
printl("✅ 找到匹配图片");
} else {
printl("❌ 未找到匹配图片");
}
sleep.second(1.5);
}
// ==================== 示例5: clickImage - 图像点击 ====================
function 点击图片() {
printl("━━━━━━━━━━━━━━━━━━━━━━━━━━━━");
printl(" 示例5: clickImage 图像点击");
printl("━━━━━━━━━━━━━━━━━━━━━━━━━━━━");
sleep.second(1);
// 步骤1: 截取屏幕并裁剪图片
printl(" 步骤1: 截图并裁剪...");
var img = screen.screenShotFull();
var cutimg = img.cutImagePercent(0.8906, 0.0547, 0.9462, 0.085);
img.recycle();
sleep.second(0.5);
// 步骤2: 定义图片数组(使用字符串路径)
var images = ["cutimg", "target2.png", "target3.png"];
var targetIndex = 0; // 点击找到的第一个目标
printl(" 目标数量: " + images.length);
sleep.second(0.5);
// 步骤3: 设置匹配参数
var similarity = 0.8;
var timeout = 5000;
var imageQuality = 1;
var searchRegion = [0, 0, 1, 1];
printl(" 相似度: " + similarity);
sleep.second(0.5);
// 步骤4: 核心功能代码 - 执行点击操作
printl(" 步骤2: 执行 clickImage...");
var result = auto.clickImage(images, targetIndex, similarity, timeout, imageQuality, searchRegion);
sleep.second(0.5);
// 步骤5: 打印结果
if (result) {
printl("✅ 点击成功");
} else {
printl("❌ 点击失败");
}
sleep.second(1.5);
}
// ==================== 示例6: 综合实战 - 完整业务流程 ====================
function 完整业务流程() {
printl("══════════════════════════════════════");
printl(" 示例6: 完整业务流程演示");
printl("══════════════════════════════════════");
sleep.second(1.5);
// 阶段1: 环境准备
printl("【阶段1】环境准备");
sleep.second(0.5);
printl(" • 初始化截图资源...");
var screenshot = screen.screenShotFull();
sleep.second(1);
printl(" • 创建图片存储目录...");
// file.createDirectory("/sdcard/aiwrok"); // 此方法在AIWROK中不存在,跳过
sleep.second(1);
printl(" ✅ 环境准备完成");
sleep.second(1);
// 阶段2: 图片处理
printl("【阶段2】图片处理");
sleep.second(0.5);
printl(" • 裁剪目标区域...");
var cutimg = screenshot.cutImagePercent(0.8869, 0.0572, 0.9434, 0.0825);
sleep.second(0.8);
var imgPath = "/sdcard/aiwrok/target.png";
printl(" • 保存图片: " + imgPath);
cutimg.save(imgPath);
sleep.second(0.8);
printl(" • 释放资源...");
screenshot.recycle();
sleep.second(0.5);
printl(" ✅ 图片处理完成");
sleep.second(1);
// 阶段3: 图像检测
printl("【阶段3】图像检测");
sleep.second(0.5);
var imgPathArray = [imgPath];
printl(" • 检测图片存在性...");
var checkResult = auto.checkImage(imgPathArray, 0.8, 5000, 1, [0, 0, 1, 1]);
sleep.second(1);
if (checkResult) {
printl(" ✅ 图片检测成功");
} else {
printl(" ❌ 图片检测失败");
return false;
}
sleep.second(1);
// 阶段4: 文字定位
printl("【阶段4】文字定位");
sleep.second(0.5);
var targetText = "首页||我的";
printl(" • 搜索关键词: " + targetText);
sleep.second(0.5);
printl(" • 执行 backToText(已注释,避免中断后续示例)...");
// var textResult = auto.backToText(targetText, 10000);
// 模拟结果用于演示
var textResult = true;
sleep.second(1);
if (textResult) {
printl(" ✅ 文字定位成功");
} else {
printl(" ⚠️ 文字定位超时,继续执行...");
}
sleep.second(1);
// 阶段5: 点击操作
printl("【阶段5】点击操作");
sleep.second(0.5);
printl(" • 准备点击目标...");
var clickTargets = [imgPath];
sleep.second(0.5);
printl(" • 执行 clickImage...");
var clickResult = auto.clickImage(clickTargets, 0, 0.8, 8000, 1, [0, 0, 1, 1]);
sleep.second(1);
if (clickResult) {
printl(" ✅ 点击成功");
} else {
printl(" ❌ 点击失败");
}
sleep.second(1);
// 阶段6: 返回验证
printl("【阶段6】返回验证");
sleep.second(0.5);
printl(" • 使用图片引导返回(已注释,避免中断后续示例)...");
// var backResult = auto.backToImage(imgPathArray, 0.8, 10000, 1, [0, 0, 1, 1]);
// 模拟结果用于演示
var backResult = true;
sleep.second(1);
if (backResult) {
printl(" ✅ 返回成功");
} else {
printl(" ⚠️ 返回超时");
}
sleep.second(1);
// 最终结果
printl("━━━━━━━━━━━━━━━━━━━━━━━━━━━━");
printl(" 业务流程执行完毕");
printl("━━━━━━━━━━━━━━━━━━━━━━━━━━━━");
sleep.second(1);
return true;
}
// ==================== 主程序入口 ====================
function main() {
printl("╔══════════════════════════════════════╗");
printl("║ AIWROK auto方法实战演示 ║");
printl("╚══════════════════════════════════════╝");
printl("");
sleep.second(1);
printl("本演示包含 6 个完整功能示例:");
sleep.second(0.8);
printl(" 1️⃣ back - 标准返回操作");
sleep.second(0.5);
printl(" 2️⃣ backToImage - 图片引导返回");
sleep.second(0.5);
printl(" 3️⃣ backToText - 文字引导返回");
sleep.second(0.5);
printl(" 4️ checkImage - 图像检测");
sleep.second(0.5);
printl(" 5️⃣ clickImage - 图像点击");
sleep.second(0.5);
printl(" 6️ 完整业务流程演示");
sleep.second(1.5);
printl("开始演示...");
printl("");
sleep.second(2);
// 依次执行所有示例(每个示例都包含完整功能代码)
demoExample();
找图后退();
回退到指定页面();
检测图片存在();
点击图片();
完整业务流程();
// 结束语
printl("");
printl("╔══════════════════════════════════════╗");
printl("║ 全部演示完成 ║");
printl("╚══════════════════════════════════════╝");
printl("");
sleep.second(1);
printl("提示:");
sleep.second(0.5);
printl("• 每个示例都包含完整可执行的功能代码");
sleep.second(0.5);
printl("• 可根据实际需求修改参数和路径");
sleep.second(0.5);
printl("• 注意及时释放图片资源避免内存泄漏");
sleep.second(0.5);
printl("• 合理设置超时时间和相似度参数");
sleep.second(1);
printl("");
printl("感谢使用 AIWROK auto方法演示");
}
// 启动演示
main();
复制代码
欢迎光临 自动发帖软件 (http://www.fatiegongju.com/)
Powered by Discuz! X3.2