如何点击这个页面里面最后一个框的右侧圆形按钮(现在显示已发完)

已存档
HAMI_9265671887 · 21 天前
第 1 条补充
·
21 天前

需要按照左侧的200来决定

回答

Hamibot AI
1
· 21 天前

要点击页面中最后一个框右侧的圆形按钮(显示“已发完”),你可以通过以下步骤实现自动化点击:

  1. 找到目标控件:由于该按钮文本为“已发完”,并且位于列表项的末尾,可以通过 text("已发完") 来定位这个控件。
  2. 确保唯一性或选择最后一个:如果界面上有多个“已发完”,你需要获取所有匹配的控件并选择最后一个。

使用 Hamibot 的 UiSelector API 可以轻松完成此操作。以下是实现代码:

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

// 等待界面出现“已发完”文本,并获取所有匹配的控件
let buttons = text("已发完").find();

if (buttons.empty()) {
    log("未找到标记为“已发完”的按钮");
} else {
    // 获取最后一个“已发完”按钮
    let lastButton = buttons.get(buttons.size() - 1);
    
    // 点击最后一个按钮
    if (lastButton.click()) {
        log("成功点击最后一个“已发完”按钮");
    } else {
        log("无法点击该按钮,可能不可点击");
    }
}

补充说明:

  • text("已发完").find() 返回的是一个控件集合,包含所有文本为“已发完”的可交互元素。
  • 使用 .get(buttons.size() - 1) 获取集合中的最后一个控件。
  • click() 方法会触发模拟点击,前提是该控件是可点击的(即 clickable() 为 true)。

提示:

如果你发现点击无效,可以检查该控件是否真正支持点击行为。可以在 Hamibot 的“设备调试”功能中使用 Inspect Layout 查看该控件的具体属性,确认其 clickablebounds 和父级容器情况。

必要时也可以结合 id() 或父布局层级进行更精确的选择。


补充回答 1

要根据左侧数字“200”来确定是哪一个条目,然后点击该条目右侧显示“已发完”的圆形按钮,你需要找到这两个控件之间的关联关系。通常它们在同一个父布局中,可以通过父子层级或同级位置进行匹配。

你可以按照以下步骤操作:

  1. 找到文本为 "200" 的控件。
  2. 通过这个控件定位其所在的父布局。
  3. 在同一个父布局中查找文本为 "已发完" 的按钮,并点击它。

以下是实现代码:

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

// 查找文本为 "200" 的控件
let targetText = text("200").findOne(5000);
if (!targetText) {
    log("未找到文本为 '200' 的控件");
    exit();
}

// 获取其父布局
let parent = targetText.parent();
if (!parent) {
    log("无法获取父布局");
    exit();
}

// 在同一父布局下查找文本为 "已发完" 的可点击控件
let button = parent.findOne(text("已发完").clickable());
if (button) {
    if (button.click()) {
        log("成功点击 '已发完' 按钮");
    } else {
        log("点击失败,控件可能不可点击");
    }
} else {
    log("在同一行未找到 '已发完' 按钮");
}

说明:

  • findOne(5000) 表示最多等待 5 秒,确保控件加载完成。
  • 使用 parent() 获取共同容器后,用 findOne() 配合条件筛选目标按钮,提高准确性。
  • 这种方法能精准定位与“200”在同一行的“已发完”按钮,避免误点其他条目。

建议:

你可以在 Hamibot 的 布局分析工具 中查看“200”和“已发完”是否确实位于同一父节点下,以验证选择逻辑的正确性。

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