iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >PyAutoGUI图形用户界面自动化的方法
  • 410
分享到

PyAutoGUI图形用户界面自动化的方法

2023-06-30 02:06:02 410人浏览 泡泡鱼
摘要

这篇“PyAutoGUI图形用户界面自动化的方法”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“PyAutoGUI图形用户界面

这篇“PyAutoGUI图形用户界面自动化的方法”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“PyAutoGUI图形用户界面自动化的方法”文章吧。

开始之前

在开始之前,要先安装所需要的模块 pyautogui, pyautogui 模块可以向 windows 发送虚拟按键和鼠标点击。

pip install -i https://pypi.douban.com/simple pyautogui

查看屏幕大小

PyAutoGUI图形用户界面自动化的方法

pyautogui.size() 可以获得屏幕的宽和高的像素数(整数)。

>>> pyautogui.size()Size(width=1920, height=1080)# 也可以直接将宽,高进行保存 x, y = pyautogui.size()

获取当前鼠标的位置

函数返回当前位置 X,Y 坐标的元组,如果设置 x,y 的参数,则会覆盖返回结果。

>>> pyautogui.position(x=None, y=None)Point(x=1437, y=817)

检查指定坐标是否在屏幕上

要检查 X,Y 坐标是否在屏幕上,将它们(支持两个整数,列表,元组)传递给 onScreen() 函数,如果它们在屏幕的边界内,则返回 True ,否则返回 False 。

>>> pyautogui.size()(1920, 1080)>>> pyautogui.onScreen(1920, 1080)False>>> pyautogui.onScreen(1919, 1079)True

设置暂停时间

使用 pyautogui.PAUSE 变量设置要暂 停的秒数。如,在设置 pyautogui.PAUSE = 1 之后,每个 PyAutoGUI 函数调用 在执行动作之后,都会等待一秒。

>>> pyautogui.PAUSE = 1

鼠标功能

移动鼠标

移动鼠标到指定位置。

pyautogui.moveTo(x=None, y=None, duration=0.0) # 移动鼠标到指定位置
pyautogui.move(xOffset=None, yOffset=None, duration=0.0) # 在PyAutoGUI 1.0,move 替换了 moveRel,但moveRel也可以使用

pyautogui.moveTo(200, 300, duration=0.5)   # 移动到坐标(200,300)pyautogui.move(200, 300, duration=0.5)     # 从当前鼠标位置向右移动 200 向下移动 300

主要参数参数:

x/xOffset:X轴坐标,moveTo() 中取值0或正整数值,move()/moveRel() 中取值可以为负数,代表以当前位置向左移动

y/yOffset:Y轴坐标,moveTo() 中取值0或正整数值,move()/moveRel() 中取值可以为负数,代表以当前位置向上移动

duration:移动到指定坐标花费的时间,默认为0,代表立即完成,单位为s

鼠标点击

使用 click() 完成鼠标点击操作。

>>> pyautogui.click(x=None, y=None, clicks=1, interval=0.0, button=PRIMARY, duration=0.0)

主要参数:

x:X轴坐标,默认为 None,即当前X轴坐标

y:Y轴坐标,默认为 None,即当前Y轴坐标(注:X,Y 轴的坐标只能同时指定,不能只指定某一个)

clicks:鼠标的点击次数,默认为 1 次

interval:int 或浮点数,表示每次单击之间需要等待多少秒,默认值为0.0,表示单击之间没有暂停

button:可选 LEFT、MIDDLE、RIGHT、PRIMARY(左键)或 SECONDARY(右键)。它的默认值是 PRIMARY

duration:如果指定了 X,Y 的值,并且该坐标不是鼠标当前位置的话,那么 duration 参数就可以生效,它表示移动到指定坐标花费的时间,默认为 0,表示立即移动。

???? 其他点击操作:

pyautogui.mouseDown()    # 按下鼠标按键(左键)pyautogui.mouseUp()      # 释放鼠标按键(左键)

鼠标拖动

按住鼠标的某个键进行拖动。

pyautogui.dragTo(x=None, y=None, duration=0.0, button=PRIMARY)     # 将鼠标拖动到指定位置  pyautogui.drag(xOffset=0, yOffset=0, duration=0.0, button=PRIMARY)    # 将鼠标拖动到屏幕上相对于当前位置的一个点。

主要参数:

x,y/xOffset,yOffset:x 和 y 指明鼠标事件发生的位置。如果为 None,则使用鼠标当前位置。如果是浮点值,则将其舍入。如果在屏幕边界之外,则事件发生在屏幕边缘。

duration:如果指定了 X,Y 的值,并且该坐标不是鼠标当前位置的话,那么 duration 参数就可以生效,它表示移动到指定坐标花费的时间,默认为 0,表示立即移动。

button:可选 LEFT、MIDDLE、RIGHT、PRIMARY(左键)或 SECONDARY(右键)。它的默认值是 PRIMARY

▶️示例:

PyAutoGUI图形用户界面自动化的方法

鼠标滚动

垂直滚动,在不同平台滚动的效果可能不一样。

>>> pyautogui.scroll(100)   # 向上滚动100>>> pyautogui.scroll(-100)  # 向下滚动100>>> pyautogui.scroll(100, x=200, y=200)  # 移动到200, 然后执行滚动

水平滚动,(适用与 OS X 和 linux 平台上)。

>>> pyautogui.hscroll(100)   # 向右滚动100>>> pyautogui.hscroll(-100)   # 向左滚动100

▶️示例:

PyAutoGUI图形用户界面自动化的方法

屏幕功能

截屏功能

使用 screenshot() 函数来实现截屏功能。调用 screenshot() 将返回一个 Image 对象。传入一个文件名字符串将把截图保存到文件中,并将其作为一个 Image 对象返回。通过 region 关键字参数来捕获指定区域,只需传递一个由 left, top, width, height 组成的元组(left,top为左上角坐标)。

>>> import pyautogui>>> pyautogui.screenshot()>>> pyautogui.screenshot(r'C:\Users\pc\Desktop\test.png')>>> pyautogui.screenshot(r'C:\Users\pc\Desktop\test.png', region=(300, 300, 500, 1000))

定位功能

如果不知道要点击的内容在屏幕上的确切坐标,就不能调用 moveTo()click() 函数。但是,如果有按钮的图像,如下面这个图片,那就可以调用 locateOnScreen('图片路径') 函数来获取坐标。返回值是一个元组:(left, top, width, height)。这个元组可以传递给 center() 来获得该区域中心的坐标(X,Y)。如果在屏幕上找不到图像,locateOnScreen() 将引发 ImageNotFoundException 异常。

>>> location = pyautogui.locateOnScreen('图片路径')>>> pyautogui.center(location)

还可以将 grayscale=True 传递给 locateOnScreen,以略微加速(大约 30%)。这降低了图像和截图的颜色饱和度,加快了定位速度,但可能会导致错误匹配。

消息框功能

PyAutoGUI 利用 PyMsgBox 中的消息框函数提供了一种跨平台的纯 python 方法来显示 javascript 样式的消息框。

alert()函数

>>> pyautogui.alert(text='text', title='title', button='alert!')'alert!'

显示一个带有文本的简单消息框和一个 alert! 按钮。单击按钮后返回 button 的值。

▶️示例:

PyAutoGUI图形用户界面自动化的方法

confirm()函数

显示带有多个按钮的消息框。按钮的数量和文字可以自己设置。单击按钮返回该按钮的文本。

>>> pyautogui.confirm(text='text', title='title', buttons=['再考虑一下', '卸载'])'卸载'

▶️示例:

PyAutoGUI图形用户界面自动化的方法

prompt()函数

显示一个包含 确认,取消 按钮和文本输入栏的消息框,用户可以输入指定内容。当点击确认按钮后,返回输入框中的值;若点击取消,则返回 None 。

pyautogui.prompt(text='text', title='title', default='请输入文本信息')

▶️示例:

PyAutoGUI图形用户界面自动化的方法

password()函数

显示一个包含 确认,取消 按钮和文本输入栏的消息框,输入的字符显示为"*"。如果点击确认则返回输入的文本;如果单击“取消”,则为 None

pyautogui.password(text='text', title='title', default='密码', mask='*')

▶️示例:

PyAutoGUI图形用户界面自动化的方法

键盘控制功能

write()函数

write() 函数将在传入的字符串中键入字符。若要在按下每个字符键之间添加延迟间隔,interval 参数可以设置每个按键之间添加延迟。

>>> pyautogui.write('Hello world!', interval=0.25) # 每个字符间隔0.25秒

注意:pyautogui 并不支持输入框自动聚焦,所有输入之前先要点击输入框位置。

press()函数

press() 函数执行的操作相当于鼠标操作的 click(),它接收传递给它的字符串。

press('num0', presses=1, interval=0.0)
  • keys:传入的键盘字符串

  • presses:操作按键次数,默认一次

  • interval:每次按键的间隔时间,默认0

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']

hoTKEy()函数

接收多个字符串参数,顺序按下,再按相反的顺序释放。

pyautogui.hotkey('ctrl', 'shift', 'esc')相当于pyautogui.keyDown('ctrl')    # 按下 ctrl pyautogui.keyDown('shift')    # 按下 shiftpyautogui.keyDown('esc')    # 按下 escpyautogui.keyUp('esc')    # 释放 ctrl pyautogui.keyUp('shift')    # 释放 shiftpyautogui.keyUp('ctrl') # 释放 esc

▶️示例:

PyAutoGUI图形用户界面自动化的方法

以上就是关于“PyAutoGUI图形用户界面自动化的方法”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注编程网精选频道。

--结束END--

本文标题: PyAutoGUI图形用户界面自动化的方法

本文链接: https://www.lsjlt.com/news/327182.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • PyAutoGUI图形用户界面自动化的方法
    这篇“PyAutoGUI图形用户界面自动化的方法”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“PyAutoGUI图形用户界面...
    99+
    2023-06-30
  • PyAutoGUI图形用户界面自动化的超详细教程
    目录开始之前查看屏幕大小获取当前鼠标的位置检查指定坐标是否在屏幕上设置暂停时间鼠标功能移动鼠标鼠标点击鼠标拖动鼠标滚动屏幕功能截屏功能定位功能消息框功能alert()函数confir...
    99+
    2024-04-02
  • Python GUI 图形用户界面
    目录GUI介绍简单操作tkinter组件介绍向窗体中添加按钮控件使用文本框控件使用菜单控件使用标签控件使用单选按钮和复选按钮组件使用绘图组件GUI介绍 图形用户界面(Graphica...
    99+
    2024-04-02
  • python的图形用户界面介绍
    目录python的图形用户界面msgbox的使用ccbox的使用buttonbox的使用buttonbox添加图片choicebox的使用multchoicebox的使用总结pyth...
    99+
    2024-04-02
  • Java GUI——Java图形用户界面
    Java GUI——Java图形用户界面 1、Java GUI概述 1.1、GUI的前世今生     早期,电脑向用户提供的是单调、枯燥、纯字符状态的“命令行界面(CLI)”。如:Windows中的DOS窗口。后来,Apple公司率先在电脑...
    99+
    2023-10-08
    java 算法 struts
  • PHP中的图形用户界面编程
    随着计算机技术的发展,图形用户界面(graphical user interface,gui)的应用越来越普遍。php是一种流行的web编程语言,大多数人都认为它只能用于web应用程序的开发。但实际上,php也可以用于gui应用程序的开发。...
    99+
    2024-02-27
    图形用户界面 php
  • SQLServer图形化界面的操作方法有哪些
    SQL Server图形化界面的操作方法主要有以下几种:1. SQL Server Management Studio (SSMS)...
    99+
    2023-08-09
    SQLServer
  • 快速使用IDEA图形化界面连接Phoenix的方法
    目录一、下载连接驱动二、配置idea一、下载连接驱动 ★官方下载地址 注:下载自己服务的对应版本jar 1.将下载到的jar包解压,找到连接驱动 Thick:phoenix-5....
    99+
    2024-04-02
  • python图形用户界面的示例分析
    小编给大家分享一下python图形用户界面的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!python的图形用户界面python的图形用户界面msgbox...
    99+
    2023-06-26
  • 课时35:图形用户界面入门
    目录:   一、安装GUI工具包:EasyGui   二、导入EasyGui   三、使用EasyGui   四、修改默认设置   五、课时35课后习题及答案   *********************************** 一...
    99+
    2023-01-30
    课时 用户界面 图形
  • ubuntu图形化界面无法使用root登录
    ubuntu图形化界面无法使用root登录 原因是:系统禁止了root账户登录图形界面 解决方案: 首先sudo su - root 切换到root用户 1、编辑vim /etc/pam.d/gdm-...
    99+
    2023-10-10
    ubuntu linux 服务器
  • GUI 与图形用户界面的未来:智能和个性化
    人工智能 (AI) 和机器学习 (ML) 人工智能和机器学习技术的进步正在彻底改变 GUI 的未来。通过使用 AI 和 ML,GUI 能够学习用户的行为模式,提供个性化的体验。例如,一个 AI 驱动的 GUI 可以根据用户的喜好和交互历...
    99+
    2024-03-09
    GUI、图形用户界面、人工智能、机器学习、增强现实
  • Python GUI图形用户界面怎么使用
    这篇文章主要介绍“Python GUI图形用户界面怎么使用”,在日常操作中,相信很多人在Python GUI图形用户界面怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Python&...
    99+
    2023-07-02
  • PyQT5: 构建图形用户界面的Python指南
    PyQt5是一个Python绑定的跨平台C++库,用于创建丰富的图形用户界面(GUI)。它是Qt库的Python接口,Qt库由Qt公司开发,用于开发GUI程序,也称作应用程序框架。在此,我们将详细介绍...
    99+
    2023-09-06
    python qt 开发语言
  • python教程之利用pyautogui图形自动化击败重复性办公任务
    目录引言安装鼠标操作键盘操作高级操作教学代码总结引言 pyautogui一个神奇的图像自动化库,学会之后无所不能。上能挂机刷宝箱,下能自动写文档。(>人<;)让我装个逼,别锤我,谢谢...
    99+
    2024-04-02
  • Python实现图形用户界面计算器
    本文实例为大家分享了Python实现图形用户界面计算器的具体代码,供大家参考,具体内容如下 简易用户图形界面计算器设计思路: 简易图形用户界面计算器的界面和功能设计如下: (1)第...
    99+
    2024-04-02
  • Python实现图形用户界面和游戏开发的方法和技巧
    目录TkinterPyQtKivyPygame结论Python是一种广泛使用的编程语言,不仅在数据科学和网络编程方面具有优势,而且在图形用户界面(GUI)和游戏开发方面也能胜任。Py...
    99+
    2023-05-19
    Python图形用户界面 Python游戏开发
  • startx启动图形界面失败的解决方法有哪些
    本篇内容主要讲解“startx启动图形界面失败的解决方法有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“startx启动图形界面失败的解决方法有哪些”吧!很多linux用户有如此一个惨痛经历...
    99+
    2023-06-10
  • Python PyQt5-图形界面的美化操作
    前言 今天就来学习一下图形设计界面的美化,首先我们知道 QtDesigner设计出来的界面默认是不太怎么美观的。所以在以后的实际开发中很多界面都是要美化的。那么现在来看看具体怎么美化...
    99+
    2024-04-02
  • Java实现图形化界面的日历
    本文实例为大家分享了Java实现图形化界面日历的具体代码,供大家参考,具体内容如下 此程序主要功能实现了可以根据用户选择的年月日来定位日期,日期的旁边用#加以标注 主界面如下: 代...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作