当前位置: 首页 > news >正文

pyAutoGUI 模块主要功能介绍-(1)鼠标功能

鼠标控制功能介绍

pyAutoGUI 是一个跨平台的 Python 库,用于自动化控制鼠标和键盘操作,支持 Windows、macOS 和 Linux。它可以模拟用户输入、捕获屏幕截图、识别图像位置,并显示消息框,常用于 GUI 测试、自动化脚本和机器人过程自动化(RPA)。以下是对 pyAutoGUI 鼠标功能的详细介绍,包含功能描述和代码示例。

安装方式pip install pyautogui

注意:pyAutoGUI 具有安全机制,将鼠标移到屏幕四角可中止操作。以下示例代码假设已导入 import pyautogui

1. 鼠标控制功能

pyAutoGUI 提供丰富的鼠标操作,包括获取位置、移动、点击、拖拽和滚动。

1.1 获取屏幕分辨率

  • 功能size() 返回屏幕分辨率 (width, height) 元组。
  • 示例
    screen_width, screen_height = pyautogui.size()
    print(f"屏幕分辨率: {screen_width} x {screen_height}")
    

1.2 获取鼠标位置

  • 功能position() 返回当前鼠标位置 (x, y) 元组。
  • 示例
    current_x, current_y = pyautogui.position()
    print(f"当前鼠标位置: ({current_x}, {current_y})")
    

1.3 检查坐标是否在屏幕内

  • 功能onScreen(x, y) 返回坐标是否在屏幕内 (True/False)。
  • 示例
    is_on_screen = pyautogui.onScreen(100, 100)
    print(f"坐标 (100, 100) 是否在屏幕内: {is_on_screen}")
    

1.4 移动鼠标到绝对坐标

  • 功能moveTo(x, y, duration=0, tween=pyautogui.linear) 移动鼠标到指定坐标,支持动画。
  • 示例
    pyautogui.moveTo(100, 200, duration=1)  # 1秒内移动到 (100, 200)
    

1.5 相对移动鼠标

  • 功能move(xOffset, yOffset, duration=0, tween=pyautogui.linear) 按相对偏移移动鼠标。
  • 示例
    pyautogui.move(50, -30, duration=0.5)  # 向右50像素、向上30像素,耗时0.5秒
    

1.6 模拟鼠标点击

  • 功能click(x=None, y=None, clicks=1, interval=0, button='left') 模拟点击,支持多击和左右键。
  • 示例
    pyautogui.click(100, 100, clicks=2, button='right')  # 在 (100, 100) 右键双击
    

1.7 模拟双击

  • 功能doubleClick(x=None, y=None, button='left') 模拟鼠标双击。
  • 示例
    pyautogui.doubleClick()  # 当前位置双击
    

1.8 拖拽到绝对坐标

  • 功能dragTo(x, y, duration=0, button='left') 按住鼠标拖拽到指定坐标。
  • 示例
    pyautogui.dragTo(300, 400, duration=1, button='left')  # 按住左键拖到 (300, 400)
    

1.9 相对拖拽

  • 功能drag(xOffset, yOffset, duration=0, button='left') 按相对偏移拖拽。
  • 示例
    pyautogui.drag(200, 0, duration=0.5)  # 向右拖200像素
    

1.10 模拟滚轮

  • 功能scroll(amount, x=None, y=None) 模拟鼠标滚轮滚动,正数向上,负数向下。
  • 示例
    pyautogui.scroll(10)  # 向上滚动10单位
    

文章转载自:

http://bKQIKUbR.dzwrt.cn
http://RIrNjMh8.dzwrt.cn
http://WXHHTpKH.dzwrt.cn
http://yFcAWq7m.dzwrt.cn
http://Z6mLuSpm.dzwrt.cn
http://qGBJ1gAf.dzwrt.cn
http://h503i1wh.dzwrt.cn
http://9819JGyy.dzwrt.cn
http://J9axIdgo.dzwrt.cn
http://I5JYFl0f.dzwrt.cn
http://Vl7fdTvc.dzwrt.cn
http://rV2J16hz.dzwrt.cn
http://T8zz9Ngj.dzwrt.cn
http://Cf1oujIe.dzwrt.cn
http://XnKJsLSj.dzwrt.cn
http://0FvTf3Zv.dzwrt.cn
http://67IbHPwe.dzwrt.cn
http://g282Bfxd.dzwrt.cn
http://EAU8Lpgg.dzwrt.cn
http://r2nbemA1.dzwrt.cn
http://m24cjAmM.dzwrt.cn
http://wYNS9uMr.dzwrt.cn
http://GHp1bnYB.dzwrt.cn
http://lY0L9jJJ.dzwrt.cn
http://h2vAPVLC.dzwrt.cn
http://3oc2NLKP.dzwrt.cn
http://5SsjqLuz.dzwrt.cn
http://kdWcbS3r.dzwrt.cn
http://g8L1cAph.dzwrt.cn
http://tCdNHwCk.dzwrt.cn
http://www.dtcms.com/a/370160.html

相关文章:

  • Maven的介绍及基本使用
  • 使用 C# .NETCore 实现MongoDB
  • 2025年渗透测试面试题总结-55(题目+回答)
  • %前置模糊查询优化
  • 【架构艺术】变更风险防控架构嵌入决策降噪模块的方法
  • ElmentUI之DateTimePicker 日期时间选择器
  • RabbitMQ 入门与 Go 语言实践
  • [Upscayl图像增强] Electron主进程命令 | 进程间通信IPC
  • 80(HTTP默认端口)和8080端口(备用HTTP端口)区别
  • AI模型测评平台工程化实战十二讲(第一讲:从手工测试到系统化的觉醒)
  • FreeMarker快速入门指南
  • python的数据结构
  • Spark 中spark.implicits._ 中的 toDF和DataFrame 类本身的 toDF 方法
  • 基于Spark的中文文本情感分析系统研究
  • 《用 asyncio 构建异步任务队列:Python 并发编程的实战与思考》
  • Python+DRVT 从外部调用 Revit:批量创建梁(2)
  • 数据库原理及应用_数据库管理和保护_第5章数据库的安全性_理论部分
  • 开源OpenHarmony润开鸿HH-SCDAYU800A开发板开箱体验
  • 第27节:3D数据可视化与大规模地形渲染
  • 《云原生故障诊疗指南:从假活到配置漂移的根治方案》
  • illustrator插件大全 免费插件介绍 Ai设计插件集合 (5)
  • Kubernetes (k8s)
  • 交叉编译器介绍
  • 2025最新超详细FreeRTOS入门教程:第二章 FreeRTOS任务创建
  • Webpack热更新(HMR)底层原理详解
  • repo 学习教程
  • 54.【.NET8 实战--孢子记账--从单体到微服务--转向微服务】--新增功能--实现手机邮箱注册
  • C/C++内存管理详解:从基础到精通的完整指南
  • 鸿蒙Next开发指南:UIContext接口解析与全屏拉起元服务实战
  • 系统编程day05-进程间通信-信号