掌握计算机自动化:PyAutoGUI库详细教程(最全使用方法,每行代码都有注释,帮你解决与之有关的所有问题)

这篇具有很好参考价值的文章主要介绍了掌握计算机自动化:PyAutoGUI库详细教程(最全使用方法,每行代码都有注释,帮你解决与之有关的所有问题)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


这篇博客主要介绍了如何使用Python库pyAutoGUI进行计算机自动化行为操作。文章首先介绍了pyAutoGUI库的概括和安装方法。接下来,详细讲解了操作前需要了解的屏幕分辨率与尺寸,暂停操作,以及故障保护功能的使用方法。在鼠标操作部分,详细解析了鼠标的移动、获取位置、拖拽、点击以及单击分布操作。键盘操作部分,讨论了如何进行输入字符、按键以及热键操作。此外,文章还提到了使用消息框显示信息,可设置一个或多个按钮,及带有文本输入框和密码输入框的消息框使用方法。最后,文章详述了如何进行屏幕截图并在指定区域内截屏,以及图片定位的方法。整篇文章旨在帮助读者理解和掌握使用pyAutoGUI库进行计算机自动化操作的方法。

一、pyAutoGUI 概括

pyAutoGUI是一个用于自动化计算机行为的Python库。它可以用来操作鼠标和键盘,模拟人类的输入方式,比如移动鼠标、点击按钮、输入文本等。pyAutoGUI还可以用来开发自动化工具,比如自动回复聊天机器人、自动游戏挂机等。
pyautogui中文手册,自动化,运维

二、pyAutoGUI 库安装

pyAutoGUI的下载代码如下:
打开命令行窗口输入以下代码即可

pip install pyautogui

或者,你可以直接从PyCharm上下载,教程如下:Python基础第八篇(Python异常处理,模块与包)

三、pyAutoGUI 操作前置知识

1.屏幕分辨率与尺寸

pyautogui中文手册,自动化,运维
为方便编写代码,pyautogui 接口用起了别名“pg”

import pyautogui as pg
import time

# 获取屏幕尺寸
# 元组类型的返回值
screen_width, screen_height = pg.size()
# 获取屏幕宽高
print("屏幕宽度:", screen_width)
print("屏幕高度:", screen_height)

2.暂停操作

#暂停操作,全局暂停,局部暂停
#全局暂停是指在程序中暂停所有操作(进行一行改代码,停一次,一般写在接口下面先执行),局部暂停是指在程序中暂停某个操作

#--------全局暂停--------
#默认是0.1  浮点型  单位是秒
pg.PAUSE = 1.0

#--------局部暂停--------
#默认是0  浮点型  单位是秒
time.sleep(2)

3.故障保护功能

pyAutoGUI 有一个名为“故障保护”的功能,当鼠标或键盘操作失败时,这个功能可以防止程序崩溃。要启用故障保护功能,可以在使用pyAutoGUI之前导入pyautogui.PAUSE:
插入

import pyautogui as pg
pg.PAUSE = 1

这样,当pyAutoGUI遇到错误时,它会等待1秒后再尝试执行操作。你可以根据需要调整PAUSE的值。

或者在pyAutoGUI程序执行过程中想要停止,可以快速将鼠标移动到屏幕的四个角以中止程序,默认存在的。不想用可在pyAutoGUI代码执行之前插入

pg.failsafe=false

四、鼠标操作

1.鼠标移动操作

#移动鼠标到指定位置
#duration是指所用时间,默认是0.25  浮点型  单位是秒
pg.moveTo(100, 100, duration=1)
#移动鼠标到相对位置
pg.move(100, -100, duration=1)

2.获取鼠标位置的坐标值

# 获取鼠标位置的坐标值
mouse_x, mouse_y = pg.position()
print("鼠标位置的坐标值:", mouse_x, mouse_y)
#检测指定坐标是否在屏幕上
print("(100, 100)坐标是否在屏幕上:", pg.onScreen(100, 100))

3.鼠标拖拽操作

#鼠标拖拽操作
#默认左键,左键 left,右键 right,中键 middle
#绝对拖拽,指拖拽到那个位置
pg.dragTo(x=100, y=-100, duration=0.5, button='left')
#相对拖拽,相对于当前位置拖拽
pg.drag(xOffset=100, yOffset=100, duration=0.5, button='right')

4.鼠标点击操作

#鼠标点击操作
#单击
#button:默认左键,左键 left,右键 right,中键 middle
#clicks:点击次数,默认是1
#interval:每次点击间隔时间,默认是0
#duration:持续时间,默认是0
pg.click(x=90, y=100,clicks=2,interval=0,duration=0, button='left')
# 双击
#button:默认左键,左键 left,右键 right,中键 middle
pg.doubleClick(x=90, y=100, duration=0, button='left')

5.鼠标单击分布操作

#单击分布操作
#按下鼠标键位
pg.mouseDown(button='left')
#释放鼠标键位
pg.mouseUp(button='left')

五、键盘操作

1.输入字符

# 键盘操作
#输入字符
#messge:想要输入的字符
#interval:每次输入间隔时间,默认是0
#不能直接输入中文,需要使用unicode编码
#输入时应先使输入框获取焦点,否则无法输入(可以先单击一下)
pg.write("Hello, World!",interval=0.2)

2.按键操作

#按键操作
#presses:按键的次数,默认是1
#interval:每次按键间隔时间,默认是0
pg.press('enter',presses=2,interval=0.2)

3.热键操作(组合键)

#热键操作
#interval:每次按键间隔时间,默认是0
pg.hotkey('ctrl','a',interval=0.2)

常用按键文章来源地址https://www.toymoban.com/news/detail-861336.html

# 所有按键的字符串标识如下
print(pyautogui.KEYBOARD_KEYS)
# 输出:
[
'\t', '\n', '\r', ' ', '!', '"', '#', '$', '%', '&', "'", '(', ')', '*', '+', ',', '-', '.', '/', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', ':', ';', '<', '=', '>', '?', '@', '[', '\\', ']', '^', '_', '`', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 
'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', '{', '|', '}', '~', 'accept', 'add', 'alt', 'altleft', 'altright', 'apps', 
'backspace', 'browserback', 'browserfavorites', 'browserforward', 'browserhome', 'browserrefresh', 'browsersearch', 'browserstop', 'capslock', 'clear', 'convert', 'ctrl', 'ctrlleft', 'ctrlright', 'decimal', 'del', 'delete', 'divide', 'down', 'end', 'enter', 'esc', 'escape', 'execute', 'f1', 'f10', 'f11', 'f12', 'f13', 'f14', 'f15', 'f16', 'f17', 'f18', 'f19', 'f2', 'f20', 'f21', 'f22', 'f23', 'f24', 'f3', 'f4', 'f5', 'f6', 'f7', 'f8', 'f9', 'final', 'fn', 'hanguel', 'hangul', 'hanja', 'help', 'home', 'insert', 'junja', 'kana', 'kanji', 'launchapp1', 'launchapp2', 'launchmail', 'launchmediaselect', 'left', 'modechange', 'multiply', 'nexttrack', 'nonconvert', 'num0', 'num1', 'num2', 'num3', 'num4', 'num5', 'num6', 'num7', 'num8', 'num9', 'numlock', 'pagedown', 'pageup', 'pause', 'pgdn', 'pgup', 'playpause', 'prevtrack', 'print', 'printscreen', 'prntscrn', 'prtsc', 'prtscr', 'return', 'right', 'scrolllock', 'select', 'separator', 'shift', 'shiftleft', 'shiftright', 'sleep', 'space', 'stop', 'subtract', 'tab', 'up', 'volumedown', 'volumemute', 'volumeup', 'win', 'winleft', 'winright', 'yen', 'command', 'option', 'optionleft', 'optionright'
]
+ 'Add' - 加号键("+")通常用于添加或增加操作。
+ 'Alt' - 通常与键盘上的 "Alt" 键相对应,它是一种常用的快捷键,可以用于访问特殊功能或菜单。
+ 'Altleft' - 这个单词通常与键盘上的 "Alt" 键左边的部分相对应,也是用于访问特殊功能或菜单。
+ 'Altright' - 这个单词通常与键盘上的 "Alt" 键右边的部分相对应,也是用于访问特殊功能或菜单。
+ 'Apps' - 右键菜单
+ 'Backspace' - 这个单词通常与键盘上的 "Backspace" 键相对应,用于删除前一个字符或命令。
+ 'Browserback' - 这个单词通常与浏览器相关的快捷键相对应,用于返回浏览器的上一个页面。
+ 'Browserfavorites' - 这个单词通常与浏览器相关的快捷键相对应,用于访问浏览器的收藏夹。
+ 'Browserforward' - 这个单词通常与浏览器相关的快捷键相对应,用于前进到浏览器的一个页面。
+ 'Browserhome' - 这个单词通常与浏览器相关的快捷键相对应,用于导航到浏览器的首页。
+ 'Browserrefresh' - 这个单词通常与浏览器相关的快捷键相对应,用于刷新当前页面。
+ 'Browsersearch' - 这个单词通常与浏览器相关的快捷键相对应,用于在浏览器中执行搜索操作。
+ 'Browserstop' - 这个单词通常与浏览器相关的快捷键相对应,用于停止加载当前页面。
+ 'Capslock' - 这个单词通常与键盘上的 "Capslock" 键相对应,用于锁定或解锁大写字母输入。
+ 'Ctrl' - 这个单词通常与键盘上的 "Ctrl" 键相对应,用于执行各种控制命令或组合键操作。
+ 'Ctrlleft' - 这个单词通常与键盘上的 "Ctrl" 键左边的部分相对应,也是用于执行各种控制命令或组合键操作。
+ 'Ctrlright' - 这个单词通常与键盘上的 "Ctrl" 键右边的部分相对应,也是用于执行各种控制命令或组合键操作。
+ 'Decimal' - 这个单词通常与键盘上的 "Decimal""." 键相对应,用于输入小数点或十进制数字。
+ 'fn' - "fn" 是一个特殊的键盘功能键,通常在笔记本电脑和一些特定的键盘布局中找到。它用于配合其他按键使用,以实现一些特定的功能,如调节亮度、音量等。
+ 'home' - "home" 对应的按键是键盘上的 "Home" 键,通常用于快速导航到页面的顶部或文本的开头。
+ 'insert' - "insert" 对应的按键是键盘上的 "Insert" 键,用于插入文本或数据。
+ 'left', 'right', 'up', 'down' - 这些方向键对应的按键分别是 "Left Arrow""Right Arrow""Up Arrow""Down Arrow"。它们通常用于控制光标的位置。
+ 'num0''num9' - 这些数字键对应的按键是从 "0""9"。它们用于输入数字和进行数学运算。
+ 'numlock', 'scrolllock', 'select', 'separator', 'tab' - 这些都是特殊的锁定键或其他功能键,通常用于控制光标移动、滚动页面、选择文本等操作。
+ 'space', 'return' - "Space" 键对应的按键是空格键,用于在文本中插入空格。"Return" 键对应的按键是回车键,用于换行或确认输入。
+ 'win', 'winleft', 'winright' - 这些是特定的功能键,通常用于操作系统中的窗口控制和菜单操作。"Win" 键对应的按键通常是 Windows 徽标键(通常是带有 Windows 标志的按键)。"Winleft""Winright" 是左右 Windows 功能键的称呼,但它们并不对应键盘上的标准按键

六,消息框

1.可以设置一个button

#消息框
#title:标题
#text:文本
# button:按钮,默认是OK
#返回值:默认是OK
arr1 = pg.alert(title='Hello, World!',text='没钱只能当牛马',button='ok')
print(arr1)

2.可以设置多个button

#可以设置多个button
#返回值:返回用户点击的按钮
arr2 = pg.confirm(title='Hello, World!',text='没钱只能当牛马',buttons=['ok','cancel'])
print(arr2)

3.自带文本输入框的消息框

#自带文本输入框的消息框
#返回值:返回用户输入的内容
#文本输入框没字返回:None
arr3=pg.prompt(title='Hello, World!',text='没钱只能当牛马',default='请您输入:')
print("您输入的内容是:"+arr3)

4.自带密码的文本输入框的消息框

#自带密码的文本输入框的消息框
#返回值:返回用户输入的密码
#密码没字返回:None
arr4=pg.password(title='Hello, World!',text='没钱只能当牛马',default='请您输入:',mask='*')
print("您输入的密码是:"+arr4)

七、屏幕截图

1.截全屏

#屏幕截图
#imageformat:截图保存的格式,默认是png
#region:截图的范围,默认是整个屏幕
# 截取全屏 在1920 x 1080屏幕上,screenshot()函数大约需要100毫秒-不快但不慢。
# 截取全屏,并以图片保存
pg.screenshot("E:\\pythonDemo\\python_2024\\all.png")

2.指定区域内截屏

#指定区域内截屏
#region:截图的范围,默认是整个屏幕 : [开始位置x,开始位置y,x扩展的分辨率,y扩展的分辨率]
pg.screenshot("E:\\pythonDemo\\python_2024\\all2.png",region=[100,100,500,500])

3.图片定位

#图片定位
#定位到的图片的坐标(从左到右,从上到下)
#image:图片路径
#confidence:定位精度,默认是0.8
#count:定位到的图片数量,默认是1
#返回图片中心点

pg.locateCenterOnScreen("E:\\pythonDemo\\python_2024\\Google_tubiao.png",confidence=0.1)

到了这里,关于掌握计算机自动化:PyAutoGUI库详细教程(最全使用方法,每行代码都有注释,帮你解决与之有关的所有问题)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • pyautogui自动化工具使用

    为了处理一些琐碎的事情,测试了一下pyautogui的功能,实现的功能是给指定的微信好友发送指定信息。这 里并没有用微信的api直接发送,而是通过模拟真实的操作来实现的,主要是了解一些自动化工具的使用。 这里使用的是python的pyautogui库。 主要功能是自动打开电脑版微信

    2023年04月09日
    浏览(11)
  • 让所有GUI都自动化-PyAutoGUI(GUI自动化工具)

    目录 1、前言 2、简介 3、安装 4、常用函数 5、保护措施 6、鼠标函数 7、键盘函数 8、消息弹窗函数 9、截屏函数 ‍10、示例 在使用 Selenium 进行自动化测试时,鼠标事件可以用 ActionChains 类,键盘事件可以用 Keys 类。本篇将介绍一款自动化工具-PyAutoGUI,除了可以满足鼠标、键

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

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

    2024年02月13日
    浏览(29)
  • 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日
    浏览(16)
  • python 自动化模块 - pyautogui初探

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

    2024年01月20日
    浏览(17)
  • Python自动化工具Pywinauto、Pyautogui

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

    2024年02月16日
    浏览(9)
  • pyautogui微信小程序自动化操作

    一个很简单的脚本,用途是实现微信小程序或其他软件的自动化操作,如果是长期固定需求,可以考虑把脚本内置到常用软件的环境中,比如MAYA,当我每天打开MAYA时就可以实现每天自动在小程序上疫情打卡 主要使用pyautogui和opencv模块,opencv用于图像识别,pyautogui用于键鼠操

    2024年02月11日
    浏览(14)
  • python自动化办公--pyautogui控制鼠标和键盘操作

    在公司某些工作场景下,需要大量重复的工作,重复的工作完全可以通过python软件的自动化实现,省时省力。本文分享python自动化办公的利器之一--pyautogui,通过pyautogui可以轻松控制鼠标和键盘操作。 PyAutoGUI是一个纯Python的GUI自动化工具,其目的是可以用程序自动控制鼠标和

    2024年02月16日
    浏览(10)
  • Python GUI自动化神器pyautogui,精准识别图片并自动点赞(32)

    小朋友们好,大朋友们好! 我是猫妹,一名爱上Python编程的小学生。 欢迎和猫妹一起,趣味学Python。 今日主题 你听过GUI自动化吗? GUI自动化就是用软件模拟鼠标和键盘的操作。 提到Python GUI自动化,不得不提pyautogui,它使用简单功能强大。 没有安装pyautogui库的话,先用p

    2023年04月23日
    浏览(17)
  • PyAutoGUI Python 库,可以用于自动化鼠标和键盘的输入

    PyAutoGUI 是一个 Python 库,可以用于自动化鼠标和键盘的输入。它可以模拟人类的鼠标和键盘操作,例如单击、双击、拖动、按键、释放键等。PyAutoGUI 还提供了一些其他功能,例如屏幕截图和图像识别等。 以下是几个 PyAutoGUI 的典型案例和代码: 这些示例只是 PyAutoGUI 的一小部

    2024年02月10日
    浏览(16)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包