PyAutoGUI图形用户界面自动化的超详细教程
什么是 PyAutoGUI?
PyAutoGUI 是一个免费的 Python 库,用于在 Windows、macOS 和 Linux 上自动化鼠标和键盘操作。它可以模拟鼠标移动、按下/抬起、键盘按键等各种用户交互行为。它还可以进行屏幕截图、图像识别等各种图形界面操作。
安装 PyAutoGUI
PyAutoGUI 需要依赖 Pillow 库,所以在安装 PyAutoGUI 之前需要先安装 Pillow。可以使用 pip 命令进行安装。
pip install pillow
pip install pyautogui
PyAutoGUI 的基本用法
屏幕和显示器
- 获取当前屏幕的像素大小
import pyautogui
screenWidth, screenHeight = pyautogui.size()
print(screenWidth, screenHeight)
- 获取当前鼠标的坐标
import pyautogui
x, y = pyautogui.position()
print(x, y)
- 移动鼠标
import pyautogui
pyautogui.moveTo(100, 100, duration=0.25)
pyautogui.moveTo(200, 100, duration=0.25)
pyautogui.moveTo(200, 200, duration=0.25)
pyautogui.moveTo(100, 200, duration=0.25)
键盘操作
- 按下和释放键盘按键
import pyautogui
pyautogui.press('f1')
pyautogui.hotkey('ctrl', 'c')
鼠标操作
- 点击鼠标
import pyautogui
pyautogui.click(100, 100)
- 拖拽鼠标
import pyautogui
pyautogui.drag(100, 0, duration=0.25)
pyautogui.drag(0, 100, duration=0.25)
pyautogui.drag(-100, 0, duration=0.25)
pyautogui.drag(0, -100, duration=0.25)
- 滚动鼠标
import pyautogui
pyautogui.scroll(10)
屏幕截图
- 抓取屏幕截图
import pyautogui
screenshot = pyautogui.screenshot()
screenshot.save('screenshot.png')
图像识别
- 定位图片并点击
import pyautogui
button_location = pyautogui.locateOnScreen('button.png')
button_center = pyautogui.center(button_location)
pyautogui.click(button_center)
示例说明
示例一
使用 PyAutoGUI 自动控制鼠标模拟在某个游戏中自动收集物品。
-
首先,需要在游戏中找到需要收集的物品的位置,并截取出其图像。
-
然后,使用 PyAutoGUI 定时截屏,寻找物品的位置。
import pyautogui
import time
def find_item():
# 每隔一秒钟截屏一次
while True:
screenshot = pyautogui.screenshot()
location = pyautogui.locateOnScreen('item.png')
if location is not None:
center = pyautogui.center(location)
pyautogui.click(center)
time.sleep(1)
find_item()
- 最后,每当找到物品时,模拟鼠标点击物品的位置即可。
示例二
使用 PyAutoGUI 自动登录 QQ 并发送消息。
-
首先,需要打开 QQ 窗口,并定位到用户名、密码、登录和聊天窗口的位置。
-
然后,使用 PyAutoGUI 自动化输入用户名和密码,并点击登录按钮。
import pyautogui
def login_qq():
pyautogui.click(100, 100) # 打开 QQ 窗口
pyautogui.click(200, 200) # 定位用户名输入框
pyautogui.typewrite('username') # 输入用户名
pyautogui.click(200, 300) # 定位密码输入框
pyautogui.typewrite('password') # 输入密码
pyautogui.click(300, 400) # 定位登录按钮
pyautogui.click(400, 400) # 点击登录按钮
login_qq()
- 登录成功后,使用 PyAutoGUI 定位到聊天窗口,并输入要发送的消息。
import pyautogui
def send_message():
pyautogui.click(500, 500) # 定位聊天窗口
pyautogui.typewrite('Hello, world!') # 输入要发送的消息
pyautogui.press('enter') # 发送消息
send_message()
- 最后,模拟输入完毕后按下 enter 键发送消息即可。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:PyAutoGUI图形用户界面自动化的超详细教程 - Python技术站