键鼠自动化
pyautogui介绍
最后的“暴力美学”与“物理外挂”
这是自动化领域最特殊的存在。PyAutoGUI 是一个“瞎子”,它看不懂 HTML 代码,也不认识文件系统,它只认识像素坐标和图像。
核心逻辑:模拟人类的“肉体操作”
当一个软件既没有 API 接口,也不能通过浏览器访问(比如老旧的银行客户端、全屏游戏、或者禁止抓包的 App)时,PyAutoGUI 是你最后的救命稻草。 它绕过了所有代码逻辑,直接接管你的鼠标和键盘驱动。它能像幽灵一样,把鼠标移到屏幕的 (500, 500) 坐标,按下左键,然后敲击键盘。对于计算机来说,它无法区分这是真人在操作,还是脚本在运行。
深刻教训:脆弱性与“混合双打”
你在刚才的实操中已经切身体会到了 GUI 自动化的最大弱点:它太脆弱了。
- 你模拟
Win+R,输入法可能是中文,导致打字失败。 - 你模拟点击,如果弹窗慢了 0.1 秒,鼠标就点在了空气上。
- 屏幕分辨率变了,写死的坐标就失效了。
进阶心法:能用底层命令,绝不模拟按键。 真正的高手不会全盘依赖 PyAutoGUI。正如我们刚才解决记事本问题时那样:用 subprocess(系统命令)去 100% 确保程序启动,只在程序启动后的必要环节(比如填写表单),才使用 PyAutoGUI 去模拟打字。这种**“系统底层指令 + 模拟键鼠操作”**的混合模式,才是工程上最稳健的方案。
安全守则:故障保险 (Fail-Safe)
在使用 PyAutoGUI 时,必须永远记住设置 pyautogui.FAILSAFE = True。 因为脚本一旦跑偏(比如进入了死循环,疯狂点击),你的鼠标可能会被锁死,导致你无法停止程序。开启这个功能后,只要你猛地把鼠标甩到屏幕的最左上角,脚本就会触发强制报错并停止。这是你给这台疯狂机器留下的紧急停止按钮。
