【Python 第三方库】pyautogui

2024-01-25 00:00:00

目录:

PyAutoGUI 模块介绍

PyAutoGUI 用于通过代码控制鼠标、键盘和屏幕,实现图形用户界面(GUI)的自动化操作。广泛应用于软件测试、重复性任务处理、游戏脚本开发等领域。

安装依赖:

$ pip install pyautogui -i https://pypi.tuna.tsinghua.edu.cn/simple

为了获得完整的图像识别功能,建议同时安装 OpenCV 和 Pillow:

$ pip install opencv-python pillow -i https://pypi.tuna.tsinghua.edu.cn/simple

功能说明

鼠标控制

  • 获取屏幕尺寸(pyautogui.size());
  • 获取当前鼠标位置(pyautogui.position());
  • 移动鼠标分为绝对移动(moveTo(x, y))和相对移动(moveRel(x, y) 或 move(x, y)),并可设置移动持续时间(duration)和缓动效果(tween)使移动更自然;
  • 点击操作支持左键单击(click())、右键单击(rightClick())、双击(doubleClick())以及在指定坐标点击;
  • 还能实现拖拽(dragTo(), dragRel())和鼠标滚轮滚动(scroll())。

键盘操作

  • 模拟输入文本(write() 或 typewrite(),支持设置输入间隔interval);
  • 按下单个按键(press())以及执行组合快捷键(hotkey()),如 pyautogui.hotkey(‘ctrl’, ‘c’) 实现复制;
  • 对于需要按住不放的操作,可以使用 keyDown() 和 keyUp() 组合;
  • 库内置了丰富的按键名称表,如 ‘enter’、’esc’、’ctrl’、’f1’ 等,方便调用。

屏幕处理

  • 可以进行全屏或指定区域截图(screenshot())并保存;
  • 通过 pixel(x, y)函数可以获取屏幕上任意像素点的 RGB 颜色值,用于简单的颜色判断;
  • 通过 locateOnScreen()、locateCenterOnScreen() 等函数,可以在屏幕上寻找与给定图片模板匹配的位置。

获取屏幕尺寸

import pyautogui

# 获取屏幕信息
screen_width, screen_height = pyautogui.size()
print(f"屏幕尺寸:{screen_width}x{screen_height}")
# 输出: 屏幕尺寸:1920x1080

移动鼠标并双击

import pyautogui
import time

# 获取屏幕信息
screen_width, screen_height = pyautogui.size()
print(f"屏幕尺寸:{screen_width}x{screen_height}")

# 移动鼠标到屏幕中央并双击
pyautogui.moveTo(screen_width/2, screen_height/2, duration=1)
pyautogui.doubleClick()
time.sleep(1)

写入文字并回车

import pyautogui

# 在记事本等输入框位置输入Hello World
pyautogui.write('Hello World!', interval=0.1)
pyautogui.press('enter')

图像识别

MacOS 或 Window 底部会有一些 App 的小图标,点击可以切换应用。截图谷歌浏览器小图标保存为 Chrome.jpg 图片,如下代码 pyautogui 会自动找到图片对应的坐标,然后进行点击,无需硬编码坐标。

import pyautogui
import time

chrome_icon = pyautogui.locateCenterOnScreen('chrome.jpg', confidence=0.9)
pyautogui.click(chrome_icon)
time.sleep(3)

返回首页

本文总阅读量  次
皖ICP备17026209号-3
总访问量: 
总访客量: