详细分析Python中的Pyautogui库(附Demo)

这篇具有很好参考价值的文章主要介绍了详细分析Python中的Pyautogui库(附Demo)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

该博客主要以入门了解其函数为主,灵活运用,后续会出一些实战结合类!

1. 基本知识

PyAutoGUI 是 Python 的一个库,用于实现自动化的图形用户界面 (GUI) 操作

允许编写 Python 脚本来控制鼠标、键盘和屏幕,从而实现自动化任务,如自动化测试、模拟用户交互、批量处理等

主要概念和作用:

  • 自动化操作:PyAutoGUI 允许编写脚本来模拟用户对键盘、鼠标和屏幕的操作,例如点击、拖动、键盘输入等

  • 跨平台:PyAutoGUI 可在 Windows、macOS 和 Linux 等操作系统上运行,因此编写一次脚本,可以在不同的平台上运行它

  • GUI 交互:PyAutoGUI 不需要直接访问应用程序的代码或 API,而是通过模拟用户的实际操作与 GUI 进行交互

  • 屏幕控制:PyAutoGUI 允许捕获屏幕区域的图像、获取屏幕分辨率等

2. 常用方法

2.1 通用方法

常用方法 具体描述 返回值
pyautogui.size() 获取当前屏幕的大小 返回一个元组,包含屏幕的宽度和高度
pyautogui.position() 获取当前鼠标的位置 返回一个包含当前鼠标位置的元组,格式为(x,y)
pyautogui.onScreen(x, y) 检查指定坐标是否在屏幕内 如果指定坐标在屏幕内,返回 True;否则返回 False

2.2 鼠标操作

演示如何使用pyautogui库来进行鼠标控制,主要包括以下内容:

  • 屏幕探测与定位:通过pyautogui.size()获取屏幕尺寸,然后利用pyautogui.moveTo()移动鼠标到指定位置。

  • 鼠标点击操作:使用pyautogui.click()函数进行鼠标点击操作,包括左键、右键以及连续点击。

  • 鼠标移动操作:通过pyautogui.moveRel()函数进行相对移动,或者pyautogui.dragTo()pyautogui.dragRel()进行拖拽操作。

  • 鼠标滚轮操作:使用pyautogui.scroll()函数进行鼠标滚轮滚动。

  • 等待操作:通过time.sleep()函数进行等待,以便在需要时暂停脚本的执行。

import pyautogui
import time

# 获取屏幕大小
screen_width, screen_height = pyautogui.size()

# 将鼠标移动到屏幕右下角
pyautogui.moveTo(screen_width, screen_height, duration=1)

# 相对移动鼠标
pyautogui.moveRel(-200, -200, duration=0.5)

# 在屏幕右下角点击鼠标左键
pyautogui.click(screen_width, screen_height, duration=0.5)

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

# 连续点击
pyautogui.click(screen_width / 2, screen_height / 2, clicks=3, interval=0.1, duration=0.5)

# 带右键的连续点击
pyautogui.click(screen_width / 2, screen_height / 2, clicks=2, interval=0.5, button='right', duration=0.2)

# 鼠标滚轮滚动
pyautogui.scroll(2)

# 在屏幕中心滚动鼠标滚轮
pyautogui.scroll(-10, screen_width / 2, screen_height / 2)

# 拖动鼠标到屏幕左上角
pyautogui.dragTo(0, 0, duration=0.5)

# 相对拖动鼠标
pyautogui.dragRel(100, 100, duration=0.5, button='right')

# 等待5秒
time.sleep(5)

如果想要执行一个Demo,对应可体验方知函数效果:

import pyautogui
import time

# 获取屏幕大小
screen_width, screen_height = pyautogui.size()

# 将鼠标移动到屏幕右下角
pyautogui.moveTo(screen_width, screen_height, duration=1)

# 等待1秒
time.sleep(1)

# 在屏幕中心点击鼠标左键
pyautogui.click(screen_width / 2, screen_height / 2, duration=0.5)

# 等待1秒
time.sleep(1)

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

# 等待1秒
time.sleep(1)

# 在屏幕左上角点击鼠标左键
pyautogui.click(0, 0, duration=0.5)

# 等待1秒
time.sleep(1)

# 连续点击
pyautogui.click(screen_width / 2, screen_height / 2, clicks=3, interval=0.1, duration=0.5)

# 等待1秒
time.sleep(1)

# 拖动鼠标到屏幕右上角
pyautogui.dragTo(screen_width, 0, duration=0.5)

# 等待1秒
time.sleep(1)

# 鼠标滚轮滚动
pyautogui.scroll(2)

# 等待1秒
time.sleep(1)

# 拖动鼠标到屏幕中心
pyautogui.dragTo(screen_width / 2, screen_height / 2, duration=0.5)

# 等待1秒
time.sleep(1)

# 拖动鼠标到屏幕右下角
pyautogui.dragTo(screen_width, screen_height, duration=0.5)

# 等待1秒
time.sleep(1)

# 拖动鼠标到屏幕左下角
pyautogui.dragTo(0, screen_height, duration=0.5)

# 等待1秒
time.sleep(1)

# 退出程序
print("Demo 执行完毕!")

以下是对PyAutoGUI库中几个常用函数的示例及说明:

  • pyautogui.press('a'):模拟按下键盘上的单个按键,这里是按下键盘上的字母’a’。

  • pyautogui.press(['p','y','space'], interval=0.1):模拟按下多个按键,这里是按下’p’、'y’和空格键,按键之间的间隔设置为0.1秒。

  • pyautogui.typewrite('hello, PyAutoGUI!\n'):模拟键盘输入字符串,这里输入字符串"hello, PyAutoGUI!“,并在末尾添加换行符”\n"。

  • pyautogui.typewrite(['s','r','f','space'], interval=0.1):模拟按下多个按键,设置了按键之间的间隔为0.1秒。

  • pyautogui.typewrite(['capslock','p','y']):模拟按下多个按键,这里是按下Caps Lock键,然后输入’p’和’y’。

  • pyautogui.hotkey('ctrl', 'shift', 'esc'):模拟按下组合键,这里是同时按下Ctrl、Shift和Esc键,用来调出任务管理器。

  • pyautogui.hotkey('alt','ctrl','delete'):模拟按下组合键,这里是同时按下Alt、Ctrl和Delete键,用来调出特定的系统操作,例如重启或锁定屏幕等。

以上示例展示了PyAutoGUI库中常用的几个函数,可以用来模拟键盘操作。

2.3 消息窗口

以下是补充完善的示例,包括使用pyautogui.alert()pyautogui.confirm()pyautogui.prompt()pyautogui.password()函数,以及一个执行这些函数的完整演示示例:

import pyautogui

# 弹出警告消息框
pyautogui.alert(text='这是一个警告消息框', title='PyAutoGUI消息框', button='OK')

# 弹出确认消息框
result_confirm = pyautogui.confirm(text='请选择一个选项', title='PyAutoGUI消息框', buttons=['1', '2', '3'])
print('你选择了:', result_confirm)

# 弹出输入提示框
user_input = pyautogui.prompt(text='请输入你的名字', title='PyAutoGUI消息框', default='匿名用户')
print('你输入的名字是:', user_input)

# 弹出密码输入框
password_input = pyautogui.password(text='请输入密码', title='PyAutoGUI消息框', default='', mask='*')
print('你输入的密码是:', password_input)

警告消息框:

pyautogui,Python,python,pyautogui,自动操作

弹出确认消息框:

pyautogui,Python,python,pyautogui,自动操作

弹出输入提示框:

pyautogui,Python,python,pyautogui,自动操作

弹出密码输入框:

pyautogui,Python,python,pyautogui,自动操作

最终也可看到终端输出如下:

pyautogui,Python,python,pyautogui,自动操作

2.4 截图

pyautogui.screenshot()函数用于在屏幕上指定区域进行截图,并保存为图像文件

参数region指定了截图的区域,其格式为元组 (left, top, width, height),分别表示左上角的 x、y 坐标以及区域的宽度和高度

以下是一个可以执行的示例演示:

import pyautogui

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

# 设置截图区域(假设要截取屏幕右下角的 600x400 区域)
region_left = screen_width - 600
region_top = screen_height - 400
region_width = 600
region_height = 400

# 截取屏幕指定区域并保存为图像文件
pyautogui.screenshot('shot.png', region=(region_left, region_top, region_width, region_height))

print("截图已保存为 'shot.png'")

找到项目的路径,其截图如下:

pyautogui,Python,python,pyautogui,自动操作文章来源地址https://www.toymoban.com/news/detail-856679.html

到了这里,关于详细分析Python中的Pyautogui库(附Demo)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Python 自动化详解(pyautogui)

    2.1.1 定位 2.1.2 移动 2.1.3 拖动 2.1.4 滚动 2.1.5 点击 2.2.1 输入 2.2.2 按键 注:暂不支持中文 键盘字符串 说明 enter 回车键 tab TAB 键 space 空格键 up、down、left、right 方向键 ctrl Ctrl 键 … … 2.2.3 快捷键 2.3.1 截图 2.3.2 分辨率 2.4.1 提示框 2.4.2 选择框 2.4.3 密码输入 2.4.4 普通输入

    2024年02月08日
    浏览(49)
  • python自动化神器:pyautogui

    详情可访问:pyautogui官网地址,关注本专栏,学习自动发消息给对象 pyautogui是一个Python模块,可以模拟用户在屏幕上的鼠标和键盘操作。它可以自动化鼠标和键盘输入,可以用于各种自动化任务,例如GUI测试、自动化数据输入、自动化游戏玩法等。pyautogui提供了一组函数来控

    2024年02月13日
    浏览(58)
  • chatgpt赋能python:Python安装pyautogui的步骤

    当今,越来越多的企业和个人开始采用自动化的解决方案来提高生产效率和减少人力成本。Python语言是一种非常适合自动化的语言,有大量的自动化库和模块可以供使用。其中,pyautogui就是一种非常流行的自动化库,它可以通过模拟鼠标和键盘动作来操作计算机界面,从而实

    2024年02月09日
    浏览(36)
  • python 自动化模块 - pyautogui初探

    在画图软件中使用 pyautogui 拖动鼠标,画一个螺旋式的正方形 - (源码在下面) PyAutoGUI允许Python脚本控制鼠标和键盘,以自动化与其他应用程序的交互。API的设计非常简单,适用于Windows、macOS和Linux。功能如下: 移动鼠标并在其他应用程序的窗口中单击。 向应用程序发送按键(

    2024年01月20日
    浏览(44)
  • Python的pyautogui库(鼠标,键盘操作篇)

    图片操作篇可以观看https://blog.csdn.net/m0_61741706/article/details/126898616 pyautogui库可以模仿人去点击输出和键盘,相比selenium库,pyautogui库更方便,更便捷 下载就用pip直接下载,后者用清华源下载  出现这样就是下载成功 之后引入库,并判断电脑屏幕的分辨率 接下来是控制鼠标移

    2024年02月12日
    浏览(49)
  • Python自动化工具Pywinauto、Pyautogui

    Python的优雅、简洁与强大深深地吸引着我们,它海量的工具包为我们的工作提供了强有力的支持。在自动化工作中,Python更是一把利器,数十行代码就能干净利落地完成很多繁琐重复的工作。本文在这里将介绍Python中四种常用的自动化工具包。 Pywin32 Pywin32是一个Python库,为

    2024年02月16日
    浏览(30)
  • python通过pyautogui库来控制鼠标和键盘

    PyAutoGUI是一个纯Python的GUI自动化工具,通过它可以用程序自动控制鼠标和键盘操作。它支持Windows, MacOS和Linux。 安装: 基本用法看代码,非常简单易用。 运行脚本的时候,MacOS会提示你打开系统偏好控制,要求允许运行脚本的程序控制电脑,允许即可。 先看一下屏幕坐标系:

    2024年02月09日
    浏览(39)
  • 详细分析python中的 async 和 await(附Demo)

    对于异步的基本知识推荐阅读我之前的文章: 详细讲解Python中的aioschedule定时任务操作 java关于@Async异步调用详细解析附代码 【操作系统】线程与进程的深入剖析(全) 【操作系统】守护线程和守护进程的区别 在Python中, async 和 await 是用于异步编程的,引入了异步

    2024年04月28日
    浏览(27)
  • python使用pyautogui控制鼠标与键盘(无屏幕内容)

            若是读者学过爬虫工具Selenium,对pyautogui必能快速上手,只需要不断实践复习即可熟练掌握。若是没学过当然没关系,我会以初学者的角度尽可能详细地向你解读新手遇到的许多问题。         请注意: 在本文章中,我会import pyautogui as auto                 在本

    2024年02月20日
    浏览(31)
  • Python微信自动抢红包程序(OpenCV,pyautogui)

    微信自动抢红包教程有很多,有通过分析安卓组件写的,由于对java不熟悉,就想通过监视电脑屏幕的方法做,也就是OpenCV,或者卷积神经网络,刚好以前项目做到过。在查询资料的过程中有发现一个神奇的库——pyautogui。这个库可以很方便的控制鼠标和键盘。也可以识别屏幕

    2024年02月08日
    浏览(29)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包