跳到正文

键盘、鼠标与物理输入

press、hover、drag、mouse-* 与 --headed 的边界,以及四个会拒绝运行的命令。

前面对 ref 执行动作走的是可访问性 API。这一组命令处理的是 键盘和鼠标本身:按下某个组合键、把指针移到某个位置、拖一段距离。它们更接近物理输入, 因此对平台能力的依赖也更强。

命令

命令 作用
press 按下并释放一个键或组合键
hover 悬停到一个元素上
drag 拖拽
mouse-move 移动指针
mouse-click 在指针位置点击
mouse-wheel 滚轮
agent-desktop press --help
agent-desktop drag --help

具体参数以 --help 为准,不同平台支持的输入路径不同。

无头与 –headed

默认无头。无头调用依然禁止激活前台窗口和合成输入——这是设计上的边界,不是缺陷。

需要真实指针和真实按键时,使用全局 --headed 标志:

agent-desktop --headed mouse-move --help

有头意味着界面会因为你的动作而改变前台状态,你随后读到的树也可能是另一个应用的。 能在无头下完成的事情,就不要打开有头。

会拒绝运行的四个命令

key-down、key-up、mouse-down、mouse-up 这四个命令名已经发布,但会拒绝运行。

需要「按住再拖动」这类语义,用 drag;需要组合键,用 press。

各平台的输入能力

能力 macOS Windows Linux
点击 / 输入 / 键盘 支持 支持 AT-SPI;X11 / GNOME 按键
鼠标输入 支持 支持 X11,--headed

完整对照表见平台支持,或者直接读本机的能力表:

agent-desktop skills get platform

输入关键词搜索…

↑↓ 导航↵ 选择Esc 关闭