回答
你想让脚本点击浏览器而不是比亚迪软件,需要修改选择器的条件。以下是几种实现方式:
按包名点击浏览器
// 点击指定浏览器(如 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 生成,可能不准确,请注意核实