python自动化办公--pyautogui控制鼠标和键盘操作

1. pyautogui介绍

PyAutoGUI是一个自动化鼠标和键盘输入的Python第三方模块。在这个模块的帮助下,我们可以编写脚本来控制计算机的鼠标和键盘,以执行文字处理、图像处理等自动化办公操作。

1.1 安装pyautogui

安装非常简单,打开cmd或powershell,使用pip安装即可。

pip install pyautogui

2. pyautogui基本用法

pyautogui模块可以控制鼠标的移动、点击和拖拽;模拟按键的按下和弹起操作;以及组合键的操作等。下面我们来逐个讲解。

2.1 鼠标操作

2.1.1 移动鼠标

pyautogui.moveTo()函数可以控制鼠标的移动,它接收两个参数x和y,分别代表鼠标的横坐标和纵坐标。

import pyautogui

pyautogui.moveTo(100, 100)

2.1.2 点击鼠标

pyautogui.click()函数可以用于模拟鼠标的点击操作。默认点击左键,也可以指定点击的鼠标键。

import pyautogui

pyautogui.click(100, 100)

2.1.3 拖拽鼠标

pyautogui.dragTo()函数可以用于模拟鼠标的拖拽操作,它接收两个参数x和y,分别代表目标位置的横坐标和纵坐标。

import pyautogui

pyautogui.dragTo(100, 100)

2.2 键盘操作

2.2.1 按下和弹起键盘按键

pyautogui模块的按键操作与键盘操作是一样的。我们可以使用press()函数模拟按下键盘按键;使用release()函数模拟弹起键盘按键。

import pyautogui

pyautogui.press('enter')

pyautogui.press('a')

pyautogui.release('a')

2.2.2 组合键操作

pyautogui的实现方式是按下所有组合键,然后依次弹起组合键。

import pyautogui

pyautogui.hotkey('ctrl', 'c')

2.3 图像识别

PyAutoGUI对于一些标志性的图片可以进行视觉识别,结合操作可以完成比较复杂的工作。

2.3.1 定位图片

下面的代码演示了如何在屏幕的(posX,posY)位置以及指定搜索图片的宽和高的范围内,找到给定名称的图片(image)。

import pyautogui

pos = pyautogui.locateOnScreen('image.png')

print(pos)

2.3.2 点击图片

在找到图片后,可以使用click()函数进行点击。

import pyautogui

pos = pyautogui.locateOnScreen('image.png')

pyautogui.click(pos)

2.3.3 用图片坐标点击

有时候我们会定义好图片的位置,直接使用坐标进行操作更方便。

import pyautogui

posX, posY = pyautogui center(pyautogui.locateOnScreen('image.png'))

pyautogui.click(posX, PosY)

2.3.4 动态识别

根据图像变化情况选定需要找的目标模板,使用dynamic参数可对目标进行实时跟踪。

import pyautogui

while True:

pos = pyautogui.locateOnScreen('image.png', dynamic=True)

if pos is not None:

pyautogui.click(pos)

3. pyautogui的实际应用

PyAutoGUI可以应用于各种自动化任务,下面以一个实例来介绍。

3.1 实现自动化打印并保存PDF

有时候需要将一些常用的文件自动打印并保存成PDF文件。下面我们来介绍使用pyautogui来实现这个任务。

3.1.1 打开Word文档

首先,我们需要使用win32com.client模块打开一个word文件的实例。

import win32com.client

word = win32com.client.Dispatch("Word.Application")

word.Visible = 0

doc = word.Documents.Open("test.doc")

3.1.2 打印Word文档

打印时可以用win32com.client自带的方法,使用程序默认打印机进行打印。

doc.PrintOut()

3.1.3 等待打印完成

打印后需要等待一段时间让打印任务完成,可使用sleep()函数等待一定的时间。

import time

time.sleep(10)

3.1.4 切换文件保存路径

在Word中,我们需要更改文件的存储路径,以保存成PDF文件。

import pyautogui

# 使用快捷键打开另存为窗口

pyautogui.hotkey('ctrl', 'shift', 's')

# 保证等待文件保存窗口出现

time.sleep(3)

# 输入文件名称并选择PDF文件类型

pyautogui.typewrite('test.pdf')

pyautogui.press('tab')

pyautogui.press('tab')

pyautogui.press('p')

pyautogui.press('d')

pyautogui.press('f')

# 回车保存

pyautogui.press('enter')

4. 总结

Python的pyautogui模块可以帮助我们实现自动化控制鼠标和键盘的操作,可以应用于各种自动化任务。我们可以使用模块提供的函数来实现各种自动化控制,也可以结合其他第三方模块例如win32com.client进行更加复杂的任务操作。

免责声明:本文来自互联网,本站所有信息(包括但不限于文字、视频、音频、数据及图表),不保证该信息的准确性、真实性、完整性、有效性、及时性、原创性等,版权归属于原作者,如无意侵犯媒体或个人知识产权,请来电或致函告之,本站将在第一时间处理。猿码集站发布此文目的在于促进信息交流,此文观点与本站立场无关,不承担任何责任。

后端开发标签