使用PyAutoGUI模块可以实现对鼠标和键盘的操作,以及对屏幕进行截屏等功能。下面将详细讲解如何使用该模块进行操作:
安装PyAutoGUI模块
在终端或命令行中输入以下命令,即可安装PyAutoGUI模块:
pip install pyautogui
鼠标操作
获取鼠标当前位置
使用pyautogui.position()
函数可以获取鼠标当前的位置,该函数返回当前鼠标的(x, y)坐标。
import pyautogui
x, y = pyautogui.position()
print("鼠标当前位置:x={}, y={}".format(x, y))
移动鼠标
使用pyautogui.moveTo()
函数可以将鼠标移动到指定位置,该函数接受两个参数x和y,分别表示目标位置的横坐标和纵坐标。
import pyautogui
x, y = 100, 100
pyautogui.moveTo(x, y)
点击鼠标
使用pyautogui.click()
函数可以模拟鼠标的点击事件,该函数接受三个参数:x和y表示要点击的位置,button表示要模拟的鼠标按键,默认为"left"。
import pyautogui
x, y = 100, 100
pyautogui.click(x=x, y=y, button="left")
拖拽鼠标
使用pyautogui.dragTo()
函数可以模拟鼠标的拖拽事件,该函数接受两个参数x和y,表示拖拽结束时鼠标的位置。
import pyautogui
x, y = 300, 300
pyautogui.dragTo(x, y)
键盘操作
模拟键盘输入
使用pyautogui.typewrite()
函数可以模拟键盘的输入事件,该函数接受一个字符串作为参数,表示要输入的文本。
import pyautogui
text = "Hello, world!"
pyautogui.typewrite(text)
模拟键盘按键
使用pyautogui.press()
函数可以模拟键盘的按键事件,该函数接受一个字符串作为参数,表示要按下的键。
import pyautogui
pyautogui.press("enter")
模拟组合键
使用pyautogui.hotkey()
函数可以模拟组合键的按下,该函数接受多个字符串作为参数,表示要同时按下的键。
import pyautogui
pyautogui.hotkey("ctrl", "c")
屏幕截屏
使用pyautogui.screenshot()
函数可以对屏幕进行截屏,该函数接受一个文件名作为参数,表示截屏后要保存的文件名,默认为None,表示不保存。
import pyautogui
im = pyautogui.screenshot("screenshot.png")
示例说明
示例一:鼠标画圆
以下代码示例利用PyAutoGUI模块实现了绘制一个圆形的功能。
import pyautogui
import math
# 圆心坐标
x0, y0 = 500, 500
# 半径
radius = 200
# 模拟鼠标按下
pyautogui.mouseDown(x=x0, y=y0, button="left")
# 绘制圆形
for angle in range(0, 361, 5):
x = int(x0 + radius * math.cos(math.radians(angle)))
y = int(y0 + radius * math.sin(math.radians(angle)))
pyautogui.moveTo(x, y)
# 模拟鼠标松开
pyautogui.mouseUp(x=x0, y=y0, button="left")
示例二:录制音频
以下代码示例利用PyAutoGUI模块实现了录制一段60秒的音频的功能。
import os
import pyautogui
import time
# 模拟按下快捷键:Win + G
pyautogui.hotkey("win", "g")
# 等待面板出现
time.sleep(1)
# 点击录制按钮
pyautogui.click(x=100, y=200, button="left")
# 等待60秒
time.sleep(60)
# 点击停止录制按钮
pyautogui.click(x=150, y=200, button="left")
# 关闭面板
pyautogui.hotkey("alt", "f4")
# 查找最新的录音文件
dirname = os.path.expanduser("~") + "/Videos/Captures/"
files = os.listdir(dirname)
files.sort(key=lambda x: os.path.getmtime(dirname + x), reverse=True)
filename = dirname + files[0]
print("录音文件保存在:", filename)
执行以上代码后,会打开Win10的游戏面板,点击录制按钮进行录音,录完音后会在"视频剪辑"文件夹中生成一份录音文件。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python PyAutoGUI 模拟鼠标键盘操作和截屏功能 - Python技术站