三、示例代码
下面示例均可直接复制。请先完成 安装,并打开对应窗口。
每个示例都尽量写成「从头到尾可运行」:含导入、找窗口、激活、操作、打印结果。
把 WIN_CLASS / WIN_TITLE_KEY 改成你的目标即可。
通用调试头(强烈建议每个脚本都这么写)
后面示例默认假设你已经有 auto(或把 bind_auto() 贴进同一文件)。
示例 1:打印控件树(学会自动化的第一步)
用途:不知道按钮叫什么、输入框 aid 是什么时,先看树。
你会看到什么:大量行,每行类似控件类型 + Name + AutomationId。
用编辑器 Ctrl+F 搜界面上的字,把找到的 name / aid 抄到后面的 click / find 里。
示例 2:等待控件出现再点
用途:按钮要过一会儿才出现(加载中、弹窗动画)。
示例 3:输入并回车发送
用途:聊天框、搜索框、表单输入。
示例 4:组合键(全选 / 复制 / 粘贴)
用途:需要 Ctrl+A / C / V 时。推荐 hotkey,不要用 post 模式硬写 {Ctrl}a。
记事本可先 find 到编辑框再 auto.copy(edit),效果类似。
示例 5:读剪贴板图文(笔记 / 混排)
用途:笔记、图文混排:既要文字也要图片路径。
只解析当前剪贴板(不先对控件复制):
示例 6:点开弹窗再读内容
用途:点击后弹出新窗口(笔记窗、详情窗),要操作新窗口而不是旧窗口。
也可用包级 snapshot_hwnds / wait_new_toplevel / read_note_window,见 辅助与许可。
示例 7:找图并点击(需视觉依赖)
仅在 UIA 拿不到控件、只能靠图标时使用。
更多:找图找色采样。
示例 8:注册控件别名(少写重复参数)
用途:同一个输入框/按钮要操作很多次时,起个短名字。
详见 控件别名。
示例 9:拟人点击(更像真人移动鼠标)
详见 拟人操作。
示例 10:把控件滚进可见区域再点
用途:虚拟列表里项在屏幕外,直接 click 会失败。
详见 滚动与窗口。