跳到主要内容

可点击约束 (Selector.clickable)

Selector.clickable

声明

node.selector():clickable(val)

参数

参数类型是否必填说明
valbooleantrue=可以点击,false=不可点击

返回值

类型说明
Selector返回控件查找器,用于链式编程

说明

通过控件的可点击属性(clickable)约束控件。

属性含义:

  • clickable=true 表示控件可以响应点击事件
  • clickable=false 表示控件不响应点击事件
  • 该属性由开发者在控件定义时设置

适用场景:

  • clickable(true) - 查找所有可交互的控件(按钮、链接等)
  • clickable(false) - 查找纯展示控件(文本标签、图片等)
  • 配合其他约束精确定位可点击元素

注意事项:

  • 控件 clickable=true 不代表一定能点击成功,还需控件可见且未被禁用
  • 某些控件虽然 clickable=false,但其父控件可能是可点击的
  • 列表项通常整行可点击,而非单个子控件
  • 可通过 node.dump() 查看控件的实际 clickable 属性值

相关属性约束:

  • longClickable(bool) - 是否可长按
  • checkable(bool) - 是否可选中
  • enabled(bool) - 是否已启用
待实现

该接口正在开发中。

示例

local node = require("node")

-- 查找当前页面中所有可以被点击的控件
local nodes = node.selector():clickable(true):find_all()

if nodes then
for _, node in ipairs(nodes) do
print(node)
end
else
print("没有找到任何控件")
end

AScript 对应

# AScript (Python)
from ascript.android.node import Selector

nodes = Selector().clickable(True).find_all()