Python&按键精灵自动化
来源:互联网 发布:squid 默认端口 编辑:程序博客网 时间:2024/06/05 05:48
最近在项目中需要进行软件的自动化操作。
本博文以两种方式介绍如何自动化打开软件(Windows下),对其进行最大化最小化关闭等操作。
Python操作:
第一次接触自动化。相对比较熟悉python自然是希望通过Python来操作软件。一般来说,通过程序来操作软件需要获得该软件的句柄,然后通过该句柄给软件发消息来操作该软件。Python中你需要安装Pywin32模块,该模块提供了访问Windows API的扩展,利用该模块你可以很方便的进行相关软件的操作。
这里先介绍一篇博文,如何利用Python和win32减少体力活,这篇博文介绍了pywin32模块,同时,介绍了很多有用的操作,如如何获取菜单句柄,下拉栏句柄,如何发送消息等。有更多的需要可以学习这篇博文,我这里只介绍如何通过pywin32打开软件,最大化,最小化,关闭等基本的操作。
首先是如何打开软件。
第一种方式,也是最简单的方式,利用os模块。比如我想打开记事本程序,可以:
第二种方式是使用win32api中的ShellExecute函数。
该函数是非阻塞的。同样是打开记事本程序,可以这样写:
其他方式:还有使用win32process中的CreateProcess方法和使用ctypes等方式,我这里没有用到,继续学习可以看博文:Python调用(运行)外部程序。
接着,是获取软件的句柄。
打开软件后,对于窗口程序可以获取窗口句柄。句柄的获得对于后续操作至关重要。
比如我们打开了一个名叫233.txt的记事本程序,想获得它的句柄可以这样:
接着是通过句柄操作软件,给软件发消息:
比如想最大化软件,将软件窗口置于最前,关闭软件:
这里面涉及到很多Windows的消息类型和参数,具体需要查阅MSDN。
按键精灵方式:
事实上,自动化软件在大部分情况下还有更方便的工具,那就是使用按键精灵。我这个项目所要自动化的软件中的很多的窗口句柄和操作很难通过程序来直接操作,于是,我又花了一点时间和同伴学了下按键精灵。
按键精灵是一款模拟鼠标键盘动作的软件。软件通过各种鼠标点定位,屏幕坐标或区域取色找色,键盘时间模拟,窗口句柄操作等等一系列强大的操作能够帮助实现各类软件自动化,游戏自动脚本等功能。而且精灵脚本可以进行编程制作,对于学过编程的人来说更容易(没学过也很简单)。
下面我提供一段代码,可以实现,精灵检测一个名叫记事本.txt的程序有没有打开,如果没有打开那么则打开F盘中的记事本.txt,并对该记事本.txt进行最大化,最小化,恢复窗口,向编辑窗口中写入一段话,关闭程序等操作。
按键精灵的脚本可以导出为exe文件,可以直接供调用和运行。
实际操作的情况往往比较复杂,在我的项目里,我用了Python脚本来模拟和管理要自动化的软件的运行环境,调用按键精灵的exe文件来实现整个软件的自动化。
- Python&按键精灵自动化
- Python&按键精灵自动化
- 按键精灵,自动化
- 开发中的自动化——按键精灵&AutoIt
- 按键精灵脚本-windows桌面自动化操作
- 按键精灵
- 按键精灵
- 按键精灵
- 按键精灵
- 按键精灵
- 按键精灵实现交易开拓者TB自动化优化参数
- python自动化测试
- python自动化测试
- python + selenium 自动化测试
- python批量自动化工作
- python + selenium2library 自动化框架
- Python自动化单元框架
- python 自动化测试
- KNN Kmeans原理与不同
- ACM/ICPC竞赛之STL--bitset
- JavaWeb
- JDk8 新特性学习随笔
- UVA 439
- Python&按键精灵自动化
- K-Means聚类
- idea中导入org.apache.http.*无法显示
- UVA 532
- Unique_Substrings_in_Wraparound_Strin
- 决策树模型
- 【程序员代码面试指南 编程笔记】猫狗队列(C++解法)
- JAVA---异常处理
- UVA 1600