PyAutoGUI鼠标控制功能完全指南

PyAutoGUI鼠标控制功能完全指南

【免费下载链接】pyautogui asweigart/pyautogui: 是一个用于自动化图形用户界面操作的 Python 库。适合在 Python 应用程序中实现自动化操作,例如自动点击、拖动、输入文字等。特点是提供了简单的 API,支持多种操作系统和屏幕分辨率,并且可以自定义自动化操作的行为。 【免费下载链接】pyautogui 项目地址: https://gitcode.com/gh_mirrors/py/pyautogui

屏幕坐标系基础

在自动化控制中,理解屏幕坐标系是首要任务。PyAutoGUI采用笛卡尔坐标系系统,但与数学坐标系有所不同:

  • X轴:从左到右递增,最左侧为0
  • Y轴:从上到下递增,最上方为0

例如在1920×1080分辨率的屏幕上:

  • 左上角坐标为(0, 0)
  • 右下角坐标为(1919, 1079)(注意坐标从0开始计数)

获取屏幕分辨率和鼠标位置的方法:

import pyautogui

# 获取屏幕分辨率
screen_width, screen_height = pyautogui.size()

# 获取当前鼠标位置
current_x, current_y = pyautogui.position()

实时鼠标位置追踪

开发过程中,实时查看鼠标位置非常有用。以下是实现方法:

import pyautogui

print('按Ctrl-C退出')
try:
    while True:
        x, y = pyautogui.position()
        print(f'X: {x:4} Y: {y:4}', end='\r')
except KeyboardInterrupt:
    print('\n结束')

鼠标移动控制

PyAutoGUI提供两种鼠标移动方式:

绝对移动(moveTo)

移动到屏幕指定坐标:

# 立即移动到(100,200)
pyautogui.moveTo(100, 200)

# 2秒内移动到(100,200)
pyautogui.moveTo(100, 200, duration=2)

相对移动(move)

基于当前位置移动:

# 向右移动50像素
pyautogui.move(50, 0)

# 向下移动30像素,耗时1秒
pyautogui.move(0, 30, duration=1)

高级移动效果:缓动函数

PyAutoGUI支持多种缓动效果,使鼠标移动更自然:

# 先慢后快
pyautogui.moveTo(100, 100, 2, pyautogui.easeInQuad)

# 先快后慢
pyautogui.moveTo(100, 100, 2, pyautogui.easeOutQuad)

# 弹跳效果
pyautogui.moveTo(100, 100, 2, pyautogui.easeInBounce)

# 弹性效果
pyautogui.moveTo(100, 100, 2, pyautogui.easeInElastic)

鼠标拖拽操作

拖拽操作结合了移动和按键保持:

# 按住左键拖到(100,200)
pyautogui.dragTo(100, 200, button='left')

# 按住右键向右拖拽30像素,耗时2秒
pyautogui.drag(30, 0, 2, button='right')

鼠标点击操作

PyAutoGUI提供多种点击方式:

# 简单点击
pyautogui.click()

# 指定位置点击
pyautogui.click(x=100, y=200)

# 右键点击
pyautogui.click(button='right')

# 双击
pyautogui.doubleClick()

# 三击
pyautogui.tripleClick()

# 带间隔的多次点击
pyautogui.click(clicks=3, interval=0.25)

按键按下与释放

对于需要精细控制的场景,可以分开按键操作:

# 按下左键
pyautogui.mouseDown()

# 释放左键
pyautogui.mouseUp()

# 组合实现拖拽
pyautogui.mouseDown(x=100, y=200, button='left')
pyautogui.mouseUp(x=300, y=400, button='left')

鼠标滚轮控制

控制滚轮滚动:

# 向上滚动10个单位
pyautogui.scroll(10)

# 向下滚动10个单位
pyautogui.scroll(-10)

# 水平滚动(仅Mac/Linux)
pyautogui.hscroll(10)  # 向右
pyautogui.hscroll(-10) # 向左

实用技巧与注意事项

  1. 坐标验证:使用onScreen()检查坐标是否有效

    if pyautogui.onScreen(x, y):
        pyautogui.click(x, y)
    
  2. 移动速度控制:通过duration参数控制移动速度,避免动作太快导致系统无法响应

  3. 错误处理:建议添加异常处理,防止脚本意外中断

  4. 多显示器环境:PyAutoGUI在主显示器上工作最佳,多显示器环境下坐标可能需要进行转换

通过掌握这些功能,你可以使用PyAutoGUI实现各种复杂的鼠标自动化操作,从简单的点击到复杂的拖拽和滚动控制。

【免费下载链接】pyautogui asweigart/pyautogui: 是一个用于自动化图形用户界面操作的 Python 库。适合在 Python 应用程序中实现自动化操作,例如自动点击、拖动、输入文字等。特点是提供了简单的 API,支持多种操作系统和屏幕分辨率,并且可以自定义自动化操作的行为。 【免费下载链接】pyautogui 项目地址: https://gitcode.com/gh_mirrors/py/pyautogui

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值