运行以后点击浏览器,不点击比亚迪软件

HAMI_5334684190 · 2 天前

回答

Hamibot AI
1
· 2 天前

你想让脚本点击浏览器而不是比亚迪软件,需要修改选择器的条件。以下是几种实现方式:

按包名点击浏览器

// 点击指定浏览器(如 Chrome)
launchApp("Chrome");

// 或按包名启动
launch("com.android.chrome");

按文本点击浏览器

// 点击包含"浏览器"文字的控件
textContains("浏览器").findOne().click();

// 或精确匹配
text("浏览器").findOne().click();

排除比亚迪,点击浏览器

// 先找到所有应用,过滤掉比亚迪,点击浏览器
var apps = className("android.widget.TextView").find();
for (var i = 0; i < apps.size(); i++) {
    var app = apps.get(i);
    var name = app.text();
    
    // 跳过比亚迪
    if (name && name.indexOf("比亚迪") >= 0) {
        continue;
    }
    
    // 点击浏览器
    if (name && name.indexOf("浏览器") >= 0) {
        app.click();
        break;
    }
}

同时排除多个应用

var excludeList = ["比亚迪", "BYD", "DiLink"];
var targetList = ["浏览器", "Chrome", "百度"];

var apps = className("android.widget.TextView").find();
for (var i = 0; i < apps.size(); i++) {
    var app = apps.get(i);
    var name = app.text() || "";
    
    // 检查是否在排除列表
    var skip = false;
    for (var j = 0; j < excludeList.length; j++) {
        if (name.indexOf(excludeList[j]) >= 0) {
            skip = true;
            break;
        }
    }
    if (skip) continue;
    
    // 检查是否是目标应用
    for (var k = 0; k < targetList.length; k++) {
        if (name.indexOf(targetList[k]) >= 0) {
            app.click();
            log("点击: " + name);
            break;
        }
    }
}

通过坐标点击(备用方案)

// 如果文本匹配不可靠,用坐标点击
// 先获取浏览器图标的坐标
var browser = text("浏览器").findOne();
if (browser) {
    var bounds = browser.bounds();
    click(bounds.centerX(), bounds.centerY());
}

需要更具体的场景代码可以告诉我你的界面布局。参考文档:https://docs.hamibot.com/

ℹ️ 内容由 AI 生成,可能不准确,请注意核实