作为一名自动化工程师,这一章,带大家来看看我是如何制作一个windows端的自动化工具,本章节内容我会从基础的环境配置、基础模块介绍、框架设计、实际运用等方面来讲解,对于想要未来从事该行业的人来说,希望这篇文章能给你们带来一些帮助或者启发,那么接下来,就开始本章节。
目录
一.环境配置
二.基础框架设计
三.功能实现
四.运用
五.总结
一.环境配置
我这边python的环境是3.7.8版本的,官方下载路径如下:
1.python 3.7.8
可直接进入官网下载安装:Download Python | Python.org
2.编译器选择的是spyder,可以通过pip接口进行安装:
pip install wheel
pip install PyQt5
pip install spyder
3.QT Designer
官方下载路径:https://build-system.fman.io/qt-designer-download
二.基础框架设计
1.直接用Qt Designer 来设计一个自动化工具界面的布局,界面如下:
新手的话还是推荐直接码代码来完成界面的设计,可以提升自己的代码水平。
2.这边介绍下基本的功能:
2.1 工具栏介绍
如上图,设计了一个工具栏,分别做了五个功能,包括:
(1)新建文件(项目)(2)界面设置 (3)保存项目文件 (4)帮助 (5)关闭界面
2.2 基础功能按钮介绍
如上图,里面包含了获取鼠标的实时位置信息功能,移动鼠标、单击鼠标、双击鼠标、键盘输入.....等等功能,具体的功能实现,我们在后面慢慢介绍。
2.3 项目按钮功能介绍
如上图,这边做了四个button,用于项目的新建、运行等作用。
2.4 数据打印框
该内容框,用于返回项目数据,实时读取项目的执行进度、返回值等等。
三.功能实现
1.首先,我们先实现,鼠标位置获取
导入pyautogui库,这边我们使用pip接口进行安装:
pip install pyautogui
pip接口详细说明可以看:https://blog.csdn.net/pengneng123/article/details/129556320
我们先导入库:
import pyautogui
然后使用pyautogui.position()函数获取鼠标实时位置信息:
pyautogui.position()
输出:
这边我们可以通过赋值给变量X,Y来给到鼠标位置信息
X,Y = pyautogui.position()
我们通过一张图来了解下我们的坐标体系,坐标体系至关重要,后续鼠标位置、图片大小都根据这套体系定义:
例如要获取屏幕最左上角的位置,则是(x=0,y=0)。
2.鼠标点击功能实现
已知我们的鼠标有左击、右击、中击、滑动等功能,那么我们看下怎样模拟鼠标的点击。
2.1 鼠标左击
鼠标左击我们用到了pyautogui库的pyautogui.click(x=x轴位置,y=y轴位置,button='left')函数。
pyautogui.click(x=x轴位置,y=y轴位置,button='left')
该功能一般配合鼠标位置信息一起使用,先获取位置信息,在使用点击功能。
参数1:x轴位置信息
参数2:y轴位置信息
参数3:left为左键点击
2.2 鼠标右击功能实现
鼠标右击我们用到了pyautogui库的pyautogui.click(x=x轴位置,y=y轴位置,button='left')函数。
pyautogui.click(x=x轴位置,y=y轴位置,button='right')
右击功能参数和左击参数功能相似,只是按下功能变成了'right',右击。
2.3鼠标中击功能实现
鼠标中击我们用到了pyautogui库的pyautogui.click(x=X,y=Y,button='middle')函数。
pyautogui.click(x=X,y=Y,button='middle')
这边也是换为middle,中间点击。
2.4 鼠标移动功能实现
鼠标中击我们用到了pyautogui库的pyautogui.moveTo(x=X,y=Y,duration=0.25)函数。
pyautogui.moveTo(x=X,y=Y,duration=0.25)
这边参数3的duration为时间的设置,0.25表示0.25S移动到目标位置。其他的基本功能可以看我的另一篇文章:
【python】之pyautogui库,实现自动化办公!_pyautogui自动化-CSDN博客
3. 新建项目功能实现
新建项目我这边使用.txt文件保存位置信息等数据,当然还有其他很多方法。
3.1 我们可以使用open()函数新建一个文本
txt_file = open(文件名, "w", encoding="utf-8")
3.2 保存项目
txt_file.close()
3.3 运行已经保存的项目
with open(文件名,'r',errors='ignore') as f:
exec(f.read())
4. 文本框功能实现
self.textBrowser.append(str('写入文本框内容'))
四.运用
我们就以百度搜索为例子,比如我想要在搜索栏输入‘python’,看下怎么实现
执行后:
我们首先新建一个项目,然后获取搜索框的位置信息,添加鼠标移动功能、鼠标左击功能、内容输入功能,保存项目,然后去执行就完成了。
五.总结
这样一个windows端自动化工具就完成啦,觉得作者写的还不错的可以点个赞,谢谢。
@Neng