autojs基本功能
找图
在截图的大图中找小图
// 找图函数
function 点击图片(imagesname) {
// 查找图片次数
var retry = 1;
// 最大查找次数
var maxRetry = 4;
while(retry < maxRetry){
var 模板图片 = images.read("./" + imagesname +".png");
// 如果找不到图片,则跳过循环
if (!模板图片) {
toastLog("没有找到图片: " + templateImagePath);
sleep(1000);
retry++;
continue;
}
// 截图
var 当前截图 = captureScreen();
// 如果截图失败,则跳过循环
if (!当前截图) {
toastLog("截图失败");
模板图片.recycle(); // 手动释放
sleep(1000);
retry++;
continue;
}
// 查找图片
var position = images.findImage(当前截图, 模板图片, {
threshold: 0.8 // 设置相似度阈值,1为完全匹配,0为不匹配
});
// 释放模板图片
// 模板图片.recycle();
// 当前截图.recycle();
// 如果找到了图片,则点击图片的中心
if (position) {
// 计算图片的中心点坐标
var 模板图片宽度 = 模板图片.getWidth();
var 模板图片高度 = 模板图片.getHeight();
模板图片.recycle();
当前截图.recycle();
var 中心点x = position.x + 模板图片宽度 / 2;
var 中心点y = position.y + 模板图片高度 / 2;
click(中心点x, 中心点y);
toastLog(imagesname +"找到" + imagesname +"图片,坐标为:(" + 中心点x + "," + 中心点y + ")");
sleep(1000);
break;
} else {
toastLog("第" + retry +"次查找未找到图片" + imagesname );
retry++;
continue;
}
}
while(retry >= maxRetry){
toastLog("超过最大" + maxRetry +"次重试次数,放弃查找:" + imagesname);
模板图片.recycle();
当前截图.recycle();
break;
}
}
强制停止app
/**
* 强制停止app
* @param {应用名称} appName
*/
function stopApp(appName) {
try {
openAppSetting(getPackageName(appName));
sleep(3000);
if (className("android.widget.Button").text("强行停止").exists()) {
className("android.widget.Button").text("强行停止").findOnce().click();
}
sleep(3000);
if (className("android.widget.Button").text("确定").exists()) {
className("android.widget.Button").text("确定").findOnce().click();
toastLog(appName + "已经停止!");
}
else {
let closeButton = className("android.widget.Button").text("强行停止").find();
closeButton[0].click();
toastLog(appName + "已经停止!");
}
} catch (e) {
toastLog(e);
}
}
本文来自博客园,作者:六月OvO,转载请注明原文链接:https://www.cnblogs.com/chenlifan/p/18875652

浙公网安备 33010602011771号