Python使用PyAutoGUI实时获取鼠标位置与控制鼠标移动

Elena
Elena
发布时间:2026-10-13| 6人浏览过
原创

本文介绍如何使用Python库PyAutoGUI实现鼠标自动化控制。通过实时获取屏幕尺寸与鼠标当前坐标,程序可动态显示位置信息。同时演示了移动、点击、滚动及键盘模拟等常用API,帮助开发者快速掌握GUI自动化工具的核心用法。

PyAutoGUI简介与核心功能

PyAutoGUI是一个纯Python编写的图形用户界面(GUI)自动化工具库,旨在通过代码自动控制鼠标和键盘操作,从而简化重复性任务的自动化处理。

常用鼠标与键盘控制函数汇总

本章详细列举了多个核心函数,以下提供快速参考汇总:

moveTo(x, y):将鼠标指针移动至指定的x和y坐标位置。

moveRel(xOffset, yOffset):相对于鼠标当前所在位置,移动指定的x和y偏移量。

dragTo(x, y):在按下鼠标左键的状态下,将鼠标移动至指定的x和y坐标。

dragRel(xOffset, yOffset):在按下鼠标左键的状态下,相对于当前鼠标位置移动指定的x和y偏移量。

click(x, y, button):在指定x和y坐标处模拟鼠标点击操作,默认点击左键。

rightClick():模拟鼠标右键点击操作。

middleClick():模拟鼠标中键点击操作。

doubleClick():模拟鼠标左键双击操作。

mouseDown(x, y, button):在指定的x和y坐标处按下指定的鼠标按键。

mouseUp(x, y, button):在指定的x和y坐标处释放指定的鼠标按键。

scroll(units):模拟滚轮滚动操作。传入正数表示向上滚动,传入负数表示向下滚动。

typewrite(message):将给定字符串中的字符逐个输入到当前焦点区域。

typewrite([key1, key2, key3]):将给定的键字符串列表逐个输入。

press(key):按下并立即释放指定的按键。

keyDown(key):模拟按下指定的按键,保持按住状态。

keyUp(key):模拟释放指定的按键。

hotkey([key1, key2, key3]):模拟依次按下给定的键字符串,随后以相反顺序释放这些按键,常用于组合键操作。

screenshot():返回当前屏幕截图的Image对象,具体用法可参考第17章关于Image对象的说明。

Python代码实现与效果演示

以下是相关代码实现部分:


import os
import time
import pyautogui as pag
try:
 while True:
  print("Press Ctrl-C to end")
  screenWidth, screenHeight = pag.size() #获取屏幕的尺寸
  print(screenWidth,screenHeight)
  x,y = pag.position() #获取当前鼠标的位置
  posStr = "Position:" + str(x).rjust(4)+','+str(y).rjust(4)
  print(posStr)
  time.sleep(0.2)
  os.system('cls') #清楚屏幕
except KeyboardInterrupt:
 print('end....')

实际运行效果如下所示:


import pyautogui
screenWidth, screenHeight = pyautogui.size()
currentMouseX, currentMouseY = pyautogui.position()
pyautogui.moveTo(100, 150)
pyautogui.click()
# 鼠标向下移动10像素
pyautogui.moveRel(None, 10)
pyautogui.doubleClick()
# 用缓动/渐变函数让鼠标2秒后移动到(500,500)位置
# use tweening/easing function to move mouse over 2 seconds.
pyautogui.moveTo(1800, 500, duration=2, tween=pyautogui.easeInOutQuad)
# 在每次输入之间暂停0.25秒
pyautogui.typewrite('Hello world!', interval=0.25) #输入文本
pyautogui.press('esc') #按下按键
pyautogui.keyDown('shift')
pyautogui.press(['left', 'left', 'left', 'left', 'left', 'left'])
pyautogui.keyUp('shift')
pyautogui.hotkey('ctrl', 'c')

以上关于Python调用PyAutoGUI实时获取鼠标位置及移动鼠标的完整方法已分享完毕,希望能为读者提供有价值的参考,欢迎继续支持本站获取更多技术内容。

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。