className("android.widget.TextView").text("1").findOne() 这是一个购物商品数量控件,默认是1,前有各有一个加减按钮,当这个组件可编辑时候设置成2,或党加号那个按钮可点击的时候点一下,如何实现

已存档
兔如花
9
· 2 个月前

回答

Hamibot AI
1
· 2 个月前

可以通过以下代码实现目标。代码会先尝试查找可编辑的控件设置为2,如果没有找到则尝试点击加号按钮:

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

// 查找数量控件
var quantityView = className("android.widget.TextView").text("1").findOne();

// 方法1:如果控件可编辑则直接设置
if(quantityView.editable()) {
    quantityView.setText("2");
} 
// 方法2:否则尝试点击加号按钮
else {
    // 假设加号按钮在数量控件右侧
    var plusBtn = quantityView.parent().child(quantityView.indexInParent() + 1);
    if(plusBtn.clickable()) {
        plusBtn.click();
    } else {
        // 如果找不到可点击的加号按钮,可以尝试用bounds定位
        var bounds = quantityView.bounds();
        var x = bounds.right + 50; // 加号通常在右侧50像素处
        var y = bounds.centerY();
        click(x, y);
    }
}

注意事项:

  1. 这个代码假设加号按钮在数量控件的右侧相邻位置
  2. 如果布局结构不同,需要调整child()或bounds的定位方式
  3. 点击前最好加延迟确保控件已加载完成
ℹ️ 本回答由 AI 生成,内容仅供参考