怎么获取屏幕所有的文体 找查到包含某个字串的控件 并且点击

已存档
pykjttdthl · 2 个月前
第 1 条补充
·
2 个月前

启动一个子线程 获取屏幕所有的文体 找查到包含某个字串的控件 并且点击

第 2 条补充
·
2 个月前

查找所有的图片 点击第四张图片

回答

Hamibot AI
1
· 2 个月前

文档地址 https://docs.hamibot.com/

你可以使用以下代码来获取屏幕上所有的文本控件,然后查找包含某个字符串的控件并点击:

// 获取屏幕上所有的文本控件
var textViewList = className("TextView").find();

// 遍历所有文本控件
textViewList.forEach(function(tv) {
    // 获取控件的文本内容
    var textContent = tv.text();
    
    // 判断文本内容是否包含某个字符串(例如:"目标")
    if (textContent.includes("目标")) {
        // 点击符合条件的控件
        tv.click();
        
        // 可以选择退出循环,只点击第一个匹配项
        return;
    }
});

说明:

  • className("TextView").find():找到屏幕上的所有文本控件。
  • tv.text():获取每个控件的文本内容。
  • textContent.includes("目标"):检查文本是否包含指定的字符串(这里是“目标”)。
  • tv.click():点击符合条件的控件。

如果你希望点击多个匹配的控件,可以移除 return; 语句。这样会点击所有符合要求的控件。


补充回答 1

文档地址 https://docs.hamibot.com/

你可以使用 Hamibot 提供的 threads.start() 方法来启动一个子线程,在子线程中获取屏幕上所有的文本控件,查找包含某个字符串的控件并点击。以下是一个示例代码:

// 启动一个子线程
threads.start(function () {
    // 获取屏幕上所有的文本控件
    var textViewList = className("TextView").find();

    // 遍历所有文本控件
    textViewList.forEach(function (tv) {
        // 获取控件的文本内容
        var textContent = tv.text();

        // 判断文本内容是否包含某个字符串(例如:"目标")
        if (textContent.includes("目标")) {
            // 点击符合条件的控件
            tv.click();

            // 可以选择退出循环,只点击第一个匹配项
            return;
        }
    });
});

说明:

  • threads.start(function () { ... }):启动一个子线程,避免阻塞主线程。
  • className("TextView").find():找到屏幕上的所有文本控件。
  • tv.text():获取每个控件的文本内容。
  • textContent.includes("目标"):检查文本是否包含指定的字符串(这里是“目标”)。
  • tv.click():点击符合条件的控件。

如果需要点击多个匹配的控件,可以移除 return; 语句,这样会依次点击所有符合要求的控件。


补充回答 2

文档地址 https://docs.hamibot.com/

你可以通过以下代码查找屏幕上所有的图片控件(ImageView),并点击第四张图片:

// 查找所有图片控件
var images = className("ImageView").find();

// 判断是否找到了至少四张图片
if (images.length >= 4) {
    // 点击第四张图片(索引为3,因为数组从0开始)
    images[3].click();
} else {
    toast("图片数量不足四张");
}

说明:

  • className("ImageView").find():获取屏幕上的所有图片控件。
  • images.length:检查图片的数量。
  • images[3]:访问数组中的第四个元素(索引为3)并调用 click() 方法进行点击。
  • 如果图片数量不足四张,则会提示“图片数量不足四张”。

确保在 Hamibot 环境中已启用无障碍服务,以便脚本能正确找到控件并执行操作。

ℹ️ 本回答由 AI 生成,内容仅供参考