返回顶部
首页 > 资讯 > 后端开发 > Python >python自动化神器:pyautogui
  • 947
分享到

python自动化神器:pyautogui

python自动化 2023-09-17 07:09:13 947人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

详情可访问:pyautogui官网地址,关注本专栏,学习自动发消息给对象 文章目录 一、pyautogui是什么?二、使用步骤1.安装和引入库2.基本操作(1)鼠标控制(2)键盘控制(3

详情可访问:pyautogui官网地址,关注本专栏,学习自动发消息给对象

文章目录


一、pyautogui是什么?

pyautogui是一个python模块,可以模拟用户在屏幕上的鼠标和键盘操作。它可以自动化鼠标和键盘输入,可以用于各种自动化任务,例如GUI测试、自动化数据输入、自动化游戏玩法等。pyautogui提供了一组函数来控制鼠标和键盘,例如移动鼠标、单击、双击、右键单击、按下和释放键等。它还提供了一些额外的功能,例如捕捉屏幕截图、识别颜色和图像等,以及其他一些实用工具,例如获取屏幕尺寸和鼠标位置。

二、使用步骤

1.安装和引入库

pip install pyautogui
import pyautogui

2.基本操作

(1)鼠标控制

PyAutoGUI可以模拟鼠标的点击和移动。以下是一些基本操作:    moveTo(x, y):将鼠标移动到屏幕上的指定位置。    click(x=None, y=None, button='left'):在指定位置单击鼠标左键、右键或中键。    doubleClick(x=None, y=None, button='left'):在指定位置双击鼠标左键、右键或中键。    rightClick(x=None, y=None):在指定位置单击鼠标右键。    middleClick(x=None, y=None):在指定位置单击鼠标中键。    dragTo(x, y, duration=0.5):将鼠标拖动到指定位置。'

实例:

import pyautogui# 将鼠标移动到屏幕中央pyautogui.moveTo(pyautogui.size()[0]/2, pyautogui.size()[1]/2)# 在屏幕中央单击鼠标左键pyautogui.click()

(2)键盘控制

PyAutoGUI还可以模拟键盘的输入。以下是一些基本操作:

typewrite(message, interval=0.1):将字符串输入到键盘,可以设置键入每个字符的时间间隔。press(key):按下指定的键。release(key):释放指定的键。hotekey('ctrl',key)::按下组合键

以下是一个例子,演示如何将“Hello, world!”字符串键入到计算机上:

import pyautogui# 将“Hello, world!”字符串键入计算机pyautogui.typewrite('Hello, world!')# 模拟按下键盘的A键pyautogui.press('a')# 模拟释放键盘的A键pyautogui.release('a')#组合键pyautogui.hoTKEy('ctrl','v')

(3)屏幕截图

PyAutoGUI可以截取屏幕上的图像。以下是一个基本操作:

screenshot():截取屏幕上的图像,并返回PIL图像对象。

以下是一个例子,演示如何截取整个屏幕的图像:

import pyautogui# 截取整个屏幕screenshot = pyautogui.screenshot()# 显示截图screenshot.show()

也可以截取指定位置尺寸的图片

imag=pyautogui.screenshot(region=(0, 0, 300, 400))#(x,y,w,e)4个点的位置imag.save('1.png')#保存位置

(4)图片位置识别

PyAutoGUI可以识别图片所在的位置

img_path='location.png'location=pyautogui.locateOnScreen(img_path)print(location)

但是很多时候图片识别不到,返回None,这个时候就要对识别参数进行设置
confidence 是一个可选参数,表示搜索图像时所需的置信度或准确度。它是一个介于0到1之间的浮点数,表示函数在搜索图像时所需的匹配准确度。值越高,匹配准确度就越高,但搜索速度可能会变慢。值越低,则匹配准确度可能会降低,但搜索速度会更快。

例如,当设置confidence为0.5时,函数将会搜索与给定图像相匹配的区域,并且只有当置信度大于等于0.5时,函数才会返回该区域的位置。因此,confidence的值可以影响函数的性能和准确性,取决于您所需要的搜索结果的精度和速度。

pyautogui.locateOnScreen(confidence=0.5)

(6) 获取鼠标位置

import pyautogui# 获取鼠标的当前位置x, y = pyautogui.position()print(f"鼠标当前位置:{x}, {y}")

也可以获取图片上鼠标的位置

import pyautoguiimport timedef get_mouse_postion():    time.sleep(5)    print('开始获取鼠标位置')    time.sleep(1)    x, y = pyautogui.position()    postion = '鼠标坐标带你({},{})'.fORMat(str(x).rjust(4), str(y).rjust(4))    pix = pyautogui.screenshot().getpixel((x, y))  # 获取鼠标所在屏幕点的RGB颜色    postion += 'RGB:(' + str(pix[0]).rjust(3) + ',' + str(pix[1]).rjust(3) + ',' + str(pix[2]).rjust(3) + ')'    print(postion)    pyautogui.click(x, y)    print(x,y)    with open('坐标.csv','a',encoding='utf-8')as f:        f.write(str(x))        f.write(',')        f.write(str(y))        f.write('\n')    print('结束')get_mouse_postion()

(7)其他

保护措施:
Python移动鼠标、点击键盘非常快,可能会造成其他可能问题,为了及时中断,PyAutoGUI提供了一个保护措施。当pyautogui.FaiLSAFE = True时,把鼠标光标在屏幕左上角,PyAutoGUI函数就会产生pyautogui.FailSafeException异常,中断程序。如果想禁用这个特性,把FAILSAFE设置成False:

import pyautoguipyautogui.FAILSAFE = False

时间延迟
pyautogui.PAUSE 设置延迟,提供页面反映时间,避免页面还没架加载好久执行

import pyautoguipyautogui.PAUSE = 2.5

一、模块需要

  • pyautogui
  • pyperclip
pip install pyautoguipip install pyperclip

pyautogu上篇文章已经详细说明了,但是由于输入格式问题,只能输入英文,所以pyperclip 将文本内容复制到粘贴板,然后用pyautogu进行键盘粘贴操作

txt='I love you'pyperclip.copy(txt)pyautogui.hotkey('ctrl','v')

三、自动发消息给对象

1.截图操作

分别截取微信PC的图像,以及微信聊天框中的搜索框图片,如下在这里插入图片描述
在这里插入图片描述
尽量截图小点,分别保存成1.png,2.png

2.python代码

设置配置

pyautogui.PAUSE=1#每次延迟1秒pyautogui.FAILSAFE=Truewechat_id='jiejieluoguo'#你对象的微信账号

返回主界面

pyautogui.hotkey('win', 'm')

获取微信图标位置并点击

#获取微信图标位置,并点击location1=pyautogui.locateOnScreen('1.png', confidence=0.7)print(location1)pyautogui.doubleClick(location1)

获取搜索框位置,单击输入账号,回车,到聊天界面

location2=pyautogui.locateOnScreen('2.png', confidence=0.7)print(location2)pyautogui.doubleClick(pyautogui.center(location1))pyautogui.typewrite(wechat_id)#写入微信账号pyautogui.press('enter')#回车

创建一个名为语料的文本,存入你想说的话(可以上网搜一搜相关语录)
在这里插入图片描述
读取语录中的内容

with open('语录','r',encoding='utf-8')as f:    lists=f.readlines()

然后循环粘贴回车发送

for i in lists:    i=i.strip()    pyperclip.copy(i)#复制到剪切板    pyautogui.hotkey('ctrl','v')#粘贴到输入框,回车    pyautogui.press('enter')

完整代码``

import pyautoguiimport pyperclippyautogui.PAUSE=1#每次延迟1秒pyautogui.FAILSAFE=Truewechat_id='jiejieluoguo'#你女朋友微信账号pyautogui.hotkey('win', 'm')#获取微信图标位置,并点击location1=pyautogui.locateOnScreen('1.png', confidence=0.7)print(location1)pyautogui.doubleClick(location1)location2=pyautogui.locateOnScreen('2.png', confidence=0.7)print(location2)pyautogui.doubleClick(location2)pyautogui.typewrite(wechat_id)#写入微信账号pyautogui.press('enter')#回车with open('语录','r',encoding='utf-8')as f:    lists=f.readlines()for i in lists:    i=i.strip()    pyperclip.copy(i)#复制到剪切板    pyautogui.hotkey('ctrl','v')#粘贴到输入框,回车    pyautogui.press('enter')

总结

需要更多了解关于pyautogui知识,可以访问官址https://pyautogui.readthedocs.io/en/latest/

希望大家多多支持,一起努力学习,后续慢慢分享更多新奇有趣的东西

来源地址:https://blog.csdn.net/qq_61260911/article/details/129885971

--结束END--

本文标题: python自动化神器:pyautogui

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

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

猜你喜欢
  • python自动化神器:pyautogui
    详情可访问:pyautogui官网地址,关注本专栏,学习自动发消息给对象 文章目录 一、pyautogui是什么?二、使用步骤1.安装和引入库2.基本操作(1)鼠标控制(2)键盘控制(3...
    99+
    2023-09-17
    python 自动化
  • Python自动操作 GUI 神器——PyAutoGUI
    我们以前讲过怎样使用 Python 在浏览器中实现页面自动化操作,不管用哪种方式实现,都是通过定位页面中的元素来进行相应的操作。今天我们来聊一聊如何在桌面实现自动化操作。与浏览器页面自动化操作类似,桌面自动化操作也是需要定位鼠标在桌面的位置...
    99+
    2023-05-14
    Python GUI PyAutoGUI
  • Python自动操作神器PyAutoGUI如何使用
    今天小编给大家分享一下Python自动操作神器PyAutoGUI如何使用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。GUI...
    99+
    2023-07-02
  • Python自动操作神器PyAutoGUI的使用教程
    目录GUI 控制神器鼠标操作鼠标移动鼠标点击鼠标拖动鼠标滚动屏幕处理获取屏幕截图键盘输入键盘函数特殊符号快捷键信息框总结我们以前讲过怎样使用 Python 在浏览器中实现页面自动化操...
    99+
    2024-04-02
  • Python自动操作GUI神器PyAutoGUI怎么使用
    本篇内容介绍了“Python自动操作GUI神器PyAutoGUI怎么使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!GUI 控制神器我们今...
    99+
    2023-07-06
  • 让所有GUI都自动化-PyAutoGUI(GUI自动化工具)
    目录 1、前言 2、简介 3、安装 4、常用函数 5、保护措施 6、鼠标函数 7、键盘函数 8、消息弹窗函数 9、截屏函数 ‍10、示例 1、前言 在使用 Selenium 进行自动化测试时,鼠标事件可以用 ActionChains 类...
    99+
    2023-09-04
    自动化 python 运维
  • python 利用PyAutoGUI快速构建自动化操作脚本
    目录一、背景二、自动化的方案三、思路和知识点四、操作步骤4.1 初识 PyAutoGUI4.2 坐标系4.3 点击4.4 输入4.5 汉字输入4.6 集成起来五、数据源六、总结一、背景 大家好,我是安果! 我们经常...
    99+
    2022-06-02
    python PyAutoGUI python 自动化操作
  • Python利用PyAutoGUI实现自动点赞
    目录前言思路实现总结前言 在上篇文章《Python自动操作 GUI 神器——PyAutoGUI》中,我跟大家讲解了一下 pyautogui ...
    99+
    2024-04-02
  • PyAutoGUI图形用户界面自动化的方法
    这篇“PyAutoGUI图形用户界面自动化的方法”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“PyAutoGUI图形用户界面...
    99+
    2023-06-30
  • 完全掌握Python自动操作GUI之PyAutoGUI
    本篇文章给大家带来了关于Python的相关知识,其中主要整理了自动操作GUI之PyAutoGUI的相关问题,桌面自动化操作是通过定位鼠标在桌面的位置,然后根据定位的位置执行对应的操作,下面一起来看一下,希望对大家有帮助。【相关推荐:Pyth...
    99+
    2022-07-06
    python
  • Python自动操作GUI之PyAutoGUI怎么使用
    本篇内容主要讲解“Python自动操作GUI之PyAutoGUI怎么使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python自动操作GUI之PyAutoGUI怎么使用”吧!GUI控制神器我...
    99+
    2023-07-02
  • 【开发神器】自动化测试、用 Apipost!
    文章目录 产品介绍测试用例待测接口搬运麻烦?Apipost一键添加代码不会写?可视化操作免敲代码1.条件控制器:判断一个变量是否满足某个条件,由此决定该控制器下接口是否运行。2.次数控制器:w...
    99+
    2023-09-21
    python 压力测试 单元测试
  • 揭秘 Server Puppet:服务器自动化神器
    Server Puppet 是一个用于服务器配置和管理的开源自动化工具。它使用声明性语言描述服务器所需的状态,让管理员能够轻松地在一组服务器上强制执行该状态。 优点 自动化:Server Puppet 自动执行服务器配置和维护任务,减少...
    99+
    2024-03-11
    简介
  • python pyautogui+pynput鼠标键盘自动控制与监听
    PyAutoGUI 参考https://blog.csdn.net/hfy1237/article/details/127960423 官方文档 https://pyautogui.readthedo...
    99+
    2023-10-11
    python 自动化
  • PyAutoGUI图形用户界面自动化的超详细教程
    目录开始之前查看屏幕大小获取当前鼠标的位置检查指定坐标是否在屏幕上设置暂停时间鼠标功能移动鼠标鼠标点击鼠标拖动鼠标滚动屏幕功能截屏功能定位功能消息框功能alert()函数confir...
    99+
    2024-04-02
  • python教程之利用pyautogui图形自动化击败重复性办公任务
    目录引言安装鼠标操作键盘操作高级操作教学代码总结引言 pyautogui一个神奇的图像自动化库,学会之后无所不能。上能挂机刷宝箱,下能自动写文档。(>人<;)让我装个逼,别锤我,谢谢...
    99+
    2024-04-02
  • 解锁 PHPDoc 的力量:自动化文档的神器
    PHPDoc 是一种文档注释标准,用于为 PHP 代码生成全面、易于理解的文档。它充当注释的特殊语法,可解析为可读的文档,从而提高代码可读性和可维护性。 PHPDoc 简介 PHPDoc 允许开发者使用特殊注释语法,在代码中添加描述性元数...
    99+
    2024-02-29
    PHPDoc、文档生成、注释、代码可读性
  • 分享4款Python自动数据分析神器
    目录1. PandasGUI2. Pandas Profiling3. Sweetviz4. dtale4.1 数据操作(Actions)4.2 数据可视化(Visualize)4....
    99+
    2024-04-02
  • 数据库版本迁移的神器:部署自动化
    版本迁移的挑战 手动执行数据库版本迁移是一个繁琐且容易出错的过程,涉及以下挑战: 复杂的脚本编写 停机时间和数据丢失的风险 不同环境的差异性 回滚的困难性 部署自动化的优势 部署自动化工具通过以下方式应对这些挑战,使数据库版本迁移更加...
    99+
    2024-04-02
  • Python自动化测试
    第一章 Python自带的UnitTest单元测试框架 一、什么是框架 框架是由大佬开发或者专业的研发团队研发的技术骨架,框架是一个半成品,框架是对常用的功能,基础的代码进行封装的一个工具,这个工具对...
    99+
    2023-09-04
    python 单元测试 junit
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作