DIY一个按键精灵,用python控制mac的鼠标与键盘


作为一名技术极客,日常工作中总是有办法可以让自己偷懒~~让代码完成一些自动化的任务,最近圈内在炒作RPA,非常多的报道,摘录一段:

RPA并非“即插即用”型产品,在上一套RPA系统之前,必须衡量企业流程是否合适自动化,以及能否通过自动化提升效率。


作为赛道重要的玩家,Automation Anywhere 预计公司到 2020 年将部署超过 300 万台企业 RPA 机器人,比现在增加 200%,将成为全球最大的“雇主”。中国的 RPA 市场,近年来的增速也均超过 100%,发展预期乐观。


雇佣一大堆机器人,为自己干活是不是很爽?


那么,什么是按键精灵?

按键精灵,办公自动化!原理和Excel中的录制宏是一样的,但是应用范围更广,功能更强悍:无论你的鼠标指向屏幕上哪个软件,哪个按钮,在键盘上输入什么数字,或者汉字,它都可以忠实地记录下来,最后形成脚本文件。
 
是不是想动手实现一个?实现这个,首先要开发个小型的APP,然后此APP可以获取系统的键盘跟鼠标的控制权。
 
我比较喜欢使用python,常用的开发环境是mac,如果跟我使用一样的开发环境,可以继续往下看哦~
 
python有一个封装了 Mac OS 上的 Objective-C 的一个库,叫 pyobjc 。可以用python来开发mac应用。安装非常简单,用pip即可,

pip install pyobjc
 
利用pyobjc可以方便地用python开发mac的桌面app,但是操作鼠标跟键盘还要写不少代码。

这时候,再配合一个python库 PyAutoGUI,此库基于pyobjc,兼容window,使用它可以控制鼠标和键盘。利用它可以实现自动化任务,再也不用担心有重复枯燥的任务了。
于是,我开发了一个简单的APP。


第一个实现的功能比较简单,由于我的微信好友非常多,群也非常多,所以我实现的第一个功能就是让代码帮我把微信里的最新消息全部收集起来,这样我只要抽空统一看一遍,就好了。

获取的信息,效果大概如下:


平时工作的时候,免得被微信的各种信息干扰。
 
还可以加入更多高级的功能,比如聊天机器人,给微信好友自动分组,还可以获取微信搜索的结果等等。

欢迎加入mixlab无界社区社群交流,
或者留言讨论。