打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
python办公自动化: 让PyAutoGUI来帮你干活

做不完的工作,写不完的文档,粘贴不完的excel,打不完的 word,讨厌的996,今天我将会带领一个你专属的机器人送给你,让它来代替你做这些重复性的工作,只要你能动脑经把工作分解成若干步可重复的劳动,它就可以帮你工作,而你只要跷着腿休息,拿工资即可。

它就可以帮你工作,而你只要瞧着腿休息拿工资即可

让我们快速进入正题。

今天将学习'如何使用Python自动化您的计算机鼠标和键盘'。

这就大家 喜欢Python的原因,它拥有我们想要的所有功能。

'进入Python世界,夫复何求。'

当然革命当家靠实干,当 尝试学习一些东西时, 只是Google和Boom, 会得到一些文章或有用的提示,更实干的方式,是让我们赶紧行动起来。

在本文中, 将使用Python模块PyAutoGUI来自动化鼠标和键盘。 看过许多与PyAutoGUI相关的文章,但在这里 将尝试给你一些使用这个模块的独特想法。

自动鼠标

使用PyAutoGUI的鼠标动画

PyAutoGUI的目的是为人类的 GUI自动化提供跨平台的Python模块。API设计为尽可能简单,具有合理的默认值。 将只介绍该模块的基础知识,其余的可以在PyPI模块的文档中查找更多属性和功能。

安装:

视窗:

在Windows上,安装和使用PyAutoGUI要容易得多。在Windows上,如果安装了pip,可以使用pip从PyPI安装它。

pip install pyautogui

Os X:

在Os X上,您需要安装一些额外的模块才能运行PyAutoGui。

pip3 install pyobjc-core

pip3 install pyobjc

pip3 install pyautogui

Linux的:

在Linux上,您必须安装一些软件包。

pip3 install python3-xlib

sudo apt-get install scrot

sudo apt-get install python3-tk

sudo apt-get install python3-dev

pip3 install pyautogui

入门:

如果你想制作一个令人难以置信的自动化工具,你可以将这个模块集成到其他很棒的模块,如Selenium,OpenCV等。

您可以使用PyAutoGUI执行以下操作。

·

· (相对,固定)

· (相对,固定)

· (右,中,左,上,下,双和三)

· (向上,向下,向左和向右)

·

· (f1 - f2,所有其他键)

· (例如CTR + C)

·

·

·

·

(图像搜索):

·

·

·

·

稳定保障功能:

暂停:

Pause是PyAutoGUI中的一个选项,用于设置模块每次调用之间的暂停。例如: 有两个函数,一个是write,另一个是click,第二个函数是在配置了这个选项后配置的持续时间后执行的。

pyautogui.PAUSE = dur#2.5

安全失败:

此选项更像是使用CTRL + C取消程序。如果此选项设置为True,它会中止程序并pyautogui.FailSafeException通过将鼠标移动到屏幕的左上角来引发异常。

pyautogui.FAILSAFE = True

鼠标功能:

鼠标移动:

鼠标移动

鼠标移动

您可以使用pyautogui类的以下功能将鼠标移动到屏幕的x,y坐标

pyautogui.moveTo(x,y,duration = num_seconds)

其中x和y是屏幕上的XY坐标。X增加向右,Y增加向下。持续时间是指根据时间使鼠标移动缓慢的时间(以秒为单位)。

还有一个函数可以将鼠标相对于鼠标的当前位置移动,这意味着它将鼠标(100,100)从当前鼠标位置向左和向右移动。

pyautogui.moveRel(xOffset,yOffset,duration = num_seconds)

#你可以使用pyautogui.move(X偏移,Y偏移)以及

这里,xOffset和yOffset分别是鼠标x和y的当前位置的增量。

拖动:

鼠标拖动

拖动是鼠标的另一个非常重要的功能,拖动只是意味着在按住单击按钮的同时移动鼠标。您可以通过以下功能进行拖动。

pyautogui.dragTo(x,y,duration = num_seconds)

pyautogui.dragRel(xOffset,yOffset,duration = num_seconds)

#你也可以使用pyautogui.drag(xOffset,yOffset)

这些功能的说明与鼠标移动相同。

点击次数:

不同类型的点击次数

如您所知, 可以手动使用鼠标执行不同类型的点击。PyAutoGUI可以让 使用其中的许多功能。他们之中有一些是:

· 单击,双击和三击

· 鼠标按钮上下事件

· 左,右和中间点击

语法:

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

你可以使用这样的click函数:

pyautogui.click#在当前位置单击鼠标

pyautogui.click(20,10)#move to 20,10,然后单击鼠标左键

#你也可以传递一个元组(20,10)

pyautogui.click(button ='right')#右键单击鼠标

pyautogui.click(button ='middle')# middle - 点击鼠标

pyautogui.click(button ='left')# left - 点击鼠标

#你也可以通过以上方式传递它

pyautogui.click(clicks = 2)#双击鼠标左键

pyautogui.click(clicks = 2,interval = 0.25)#双击鼠标左键,但点击之间有四分之一秒的暂停

pyautogui.click(button ='right',clicks = 3,interval = 0.25)##三击鼠标右键,点击之间间隔四分之一秒

还有单独的功能来完成相同的工作。

pyautogui.doubleClick#执行左键双击

pyautogui.rightClick#执行右键单击

pyautogui.middleClick#执行中键单击

pyautogui.trippleClick#执行左键三击

为每个函数提供更多可选属性,例如x和y坐标,持续时间和间隔。

鼠标点击和拖动包括按下鼠标按钮并将其释放回来。如果要单独执行这些操作,请调用mouseDown和mouseUp功能。它们具有相同的x,y和button 。

pyautogui.mouseDown; pyautogui.mouseUp#与鼠标左键单击功能相同

pyautogui.mouseDown(button ='right')#按下右键

pyautogui.mouseUp(button ='right',x = 100,y = 200)#将鼠标移动到100,200,然后向上释放右键。

滚动:

鼠标滚动

可以通过调用scroll函数并传递整数个'点击'来滚动来模拟鼠标滚轮。'点击'中的滚动量因平台而异。

句法:

pyautogui.scroll(点击次数,x =无,y =无)

你可以使用这样的scroll函数:

pyautogui.scroll(10)#向上滚动10'点击'

pyautogui.scroll(-10)#向下滚动10'点击'

pyautogui.scroll(10,x = 100,y = 100)#将鼠标光标移动到100,200,然后向上滚动10'点击'

您可以hscroll在linux和OSX平台中左右滚动。

键盘功能:

写作:

用动画写单词

您可以在pyautogui类的函数的帮助下编写字母,单词或句子。它还提供每个打字单词之间的延迟,这使它更美妙。

pyautogui.typewrite('Hello world!')#打印出'Hello world!' 即刻

如果您想要为这句话设置动画并希望计算机在一小段时间后编写它,那么您可以使用interval属性。

pyautogui.typewrite('Hello world!',interval = 0.25)#打印出'Hello world!' 每个角色后延迟四分之一秒

按键:

按键

要按下这些键,请调用该press函数并将字符串中定义的值传递给函数。

要按下多个键,传递一个元组或一个键列表,它还需要另一个可选属性presses=1 来限制键的按下次数。

还有一个属性interval=0.0是每个按键之间的间隔。

定义了此功能的键,可通过以下选项检索pyautogui.KEYBOARD_KEYS 。它将打印它支持的已定义键列表。例如:enter,up,down,esc,f1。请参阅KEYBOARD_KEYS。

pyautogui.press('enter')#按Enter键

pyautogui.press('f1')#按F1键

pyautogui.press('left')#按左箭头键

press只是包装keyUp和keyDown功能,模拟按下一个键,然后释放它。

pyautogui.keyDown('shift')#按住shift键

pyautogui.keyUp('shift')#释放shift键

按快捷方式:

按快捷方式

为了使按键热键或键盘快捷键方便,hotkey可以传递几个按键顺序按下的键,然后以相反的顺序释放。

pyautogui.hotkey('ctrl','shift','esc')#同时按CTRL + SHIFT + ESC

上面的代码相当于

pyautogui.keyDown('ctrl') #按住CTRL按钮pyautogui.keyDown('shift') #按住SHIFT按钮

pyautogui.keyDown('esc') #按住ESC按钮

pyautogui.keyUp('esc') #释放ESC按钮

pyautogui.keyUp('shift') #释放SHIFT按钮

pyautogui.keyUp('ctrl') #Release CTRL按钮

消息框功能:

PyAutoGUI还显示JavaScript样式的消息框。提供了四个消息框功能:

警报窗口:

警报窗口

警报框

显示带有文本和单个'确定'按钮的简单消息框。返回单击按钮的文本。

pyautogui.alert(text ='',title ='',button ='OK')

确认窗口:

确认窗口

确认窗口

显示带有确定和取消按钮的消息框。按钮的数量和文本可以自定义。返回单击按钮的文本。

pyautogui.confirm(text ='',title ='',buttons = ['OK','Cancel'])

提示窗口:

确认窗口

提示窗口

显示带有文本输入的消息框,以及'确定'和'取消'按钮。返回输入的文本,如果单击取消,则返回None。

pyautogui.prompt(text ='',title ='',default ='')

密码窗口:

密码窗口:

密码窗口

显示带有文本输入的消息框,以及'确定'和'取消'按钮。键入的字符显示为*。返回输入的文本,如果单击取消,则返回None。

password(text='', title='', default='', mask='*')

截图功能(图像搜索):

PyAutoGUI可以截取屏幕截图,将其保存到文件中,并在屏幕中查找图像。如果您有一个小图像,例如需要单击并希望在屏幕上找到它的按钮,这将非常有用

截取屏幕截图:

调用screenshot将返回一个Image对象。传递文件名字符串会将屏幕截图保存到文件中,并将其作为Image对象返回。

im1 = pyautogui.screenshot

im2 = pyautogui.screenshot('my_screenshot.png')

region如果您不想要整个屏幕的屏幕截图,还有一个可选的关键字参数。您可以传递区域左侧,顶部,宽度和高度的四个整数元组来捕获:

im = pyautogui.screenshot(region =(0,0,300,400))

在屏幕上找到图像:

如果您有图像文件,可以在屏幕上直观地找到某些内容。例如,假设计算器应用程序正在您的计算机上运行,看起来像这样:

计算器

并且您有一个按钮的图像,例如7按钮的图像:

7按钮

你可以调用locateOnScreen('7key.png')函数来获取屏幕坐标。返回值是一个4整数元组:(左,顶,宽,高)。但是,如果您只想在屏幕上显示图像的x和y坐标,则可以调用locateCenterOnScreen该坐标仅返回x和y坐标。如果找不到屏幕上的图像,它将会升起ImageNotFoundException 。如果要单击该图像或对象,只需将前一个函数的返回值中的x和y坐标传递给click函数即可。要了解有关在屏幕上查找对象的更多信息,请访问此链接。

其他特性:

屏幕尺寸:

为了获得屏幕大小,PyAutoGUI有一个函数size返回整数元组:(宽度,高度)为主监视器的大小。

pyautogui.size #output:大小(宽度= 1366,高度= 768)

光标的位置:

为了获得光标的当前位置,PyAutoGUI有一个函数position返回整数元组:(x,y)表示鼠标光标的当前位置。

pyautogui.position # outpu:Point(x = 487,y = 664)

好,先介绍到这里。毫不夸张的说,从游戏代练到办公室工作,到居家旅游,这个键盘机器人都可以代办了。

大家说说,你可以用这个机器人干啥,当然活少工资多,也可以分我点,哈哈。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
cs客户端自动化控制鼠标和键盘操作,python pyautogui
Python操作自动化
pyautogui和pyperclip实现自动输入中文
还在用鼠标进行着重复的操作?几行python代码帮你搞定
python自动化脚本开课了!python也能写游戏外挂!第一课——自动化神器PyAutoGUI
Python GUI自动化神器pyautogui,精准识别图片并自动点赞(32)
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服