前言
由于工作需要,要利用某软件去采集数据,做重复的动作大概500多次。所以想写一个程序代替人,去点击和输入。
一开始的思路有两个:1、用Python或者windows对此软件直接操作。2、利用Python模拟鼠标和键盘操作,模拟人工去操作此软件。
第一种想法比较难实现,因为首先是没有此软件的接口,没办法进入它的后台。其次是Python没有这样的功能库。
第二种想法容易实现,但是有一个问题,是Python没办法接收软件的反馈,并作出判断,只能按照既定的鼠标和键盘设置进行操作。
准备工具
“看鼠标”软件
Python的PyUserInput库(它的依赖库有pyhook,pyhook的依赖库为pywin32)
如果是在anaconda里面安装pyhook的话,有可能还需要安装个msgpack
实施
采集工具如下图:
需要对它的界面点击和输入:“单位列表”→输入单位编号→回车→“数据采集”(等待5-10秒)→“上一步”
然后循环这个操作
点击的位置基本都是不变的,也不需要做判断,所以用pymouse和pykeyboard来操作比较方便。
由于pymouse需要填写鼠标的X,Y定位,所以需要利用一个叫“看鼠标”