利用Python实现电脑鼠标和键盘办公自动化

这篇具有很好参考价值的文章主要介绍了利用Python实现电脑鼠标和键盘办公自动化。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Python的确是一个了不起的编程语言和工具,它可以用来构建各种脚本和实用程序,这些脚本和实用程序可以帮助你化繁为简、让很多事情都实现自动化…以下是从海外博客上学习积累到的,做个分享,如果感兴趣,会陆陆续续做些编辑补充。文末领取读者福利

利用Python实现电脑鼠标和键盘自动化

这次,我们会使用Python模块PyAutoGUI来使我们的鼠标和键盘自动化。曾经看到许多与PyAutoGUI相关的文章,不过在这里我们可以尝试提供一些使用此模块的独特玩法。

安装步骤

Windows上:在该系统安装和使用PyAutoGUI非常容易。如果已安装pip,则可以用pip,从PyPI安装它。

pip install pyautogui

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

pip3 install pyobjc-core
pip3 install pyobjc
pip3 install pyautogui

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

好的,开始吧,使用PyAutoGUI执行以下操作

(注:如果你想制作出更有逼格的自动化工具,则可以将后面的模块集成到Selenium、OpenCV等其它一些出色的模块中)

1)安全功能

安全-停顿

“停顿“是PyAutoGUI中的一个选项,用于设置每次模块调用之间的“停顿“时间,假设,我们有两个功能,一个是write操作,另一个是click操作,则经配置该选项,第二个功能在配置的“一个时间间隔”之后执行。

pyautogui.PAUSE = dur # 2.5

安全-故障安全

此选项的作用类似于使用CTRL + C取消程序,如果此选项设置成True,则pyautogui.FailSafeException通过将鼠标移至屏幕的左上角来中止程序并声明异常。

pyautogui.FAILSAFE = True

2)鼠标功能

鼠标-移动

我们可以使用pyautogui class的以下功能将鼠标移至屏幕的x,y坐标

python自动控制键盘,python,linux,开发语言,Python入门,爬虫

鼠标移动

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

其中x和y是屏幕上的XY坐标,x向右增加,y向向下增加;duration是以秒为单位的时间,该时间使鼠标的移动根据时间而变慢;还有另一个功能,它使鼠标相对于鼠标的当前位置移动,这简单地意味着它将从当前鼠标位置向左和向右移动鼠标(100,100)。

pyautogui.moveRel(xOffset, yOffset, duration=num_seconds)
# 你也可以使用 pyautogui.move(xOffset, yOffset) 去实现

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

鼠标-拖拽

另一个很棒的功能是“拖动鼠标”,拖动指的是在按住单击按钮的同时移动鼠标,你可以通过以下功能实现拖动。

python自动控制键盘,python,linux,开发语言,Python入门,爬虫

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) # 移动到 20, 10, 然后左点鼠标
# 你也可以传递一个python的元组 (20,10)
pyautogui.click(button='right') # 右键单击鼠标
pyautogui.click(button='middle') # 点击鼠标中间键
pyautogui.click(button='left') # 左键单击鼠标
# 你也可以通过上面的方法传递它
pyautogui.click(clicks=2) # 双击鼠标左键
pyautogui.click(clicks=2, interval=0.25) # 双击鼠标左键,但两次单击之间的间隔为0.25秒
pyautogui.click(button='right', clicks=3, interval=0.25) ## 击鼠标右键,两次单击之间有0.25秒的暂停

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

pyautogui.doubleClick()#鼠标左键双击
pyautogui.rightClick()#右键单击
pyautogui.middleClick()#中键单击
pyautogui.trippleClick()#左键三次
每个功能都有更多可选属性,例如x和y坐标,持续时间和间隔

鼠标的点击和拖动包括按下鼠标按键并向上放开鼠标按键,如果要单独执行这些操作,请调用mouseDown()和mouseUp()函数,它们具有相同的x,y和button。

3)滚动功能

可以通过调用scroll()函数并传递整数个“单击”来滚动鼠标滑轮,在不同平台上,“单击”中的滚动量会有所不同。

语法

pyautogui.scroll(clicks, x=None, y=None)

你可以使用如下scroll()功能:

python自动控制键盘,python,linux,开发语言,Python入门,爬虫

鼠标滚动

pyautogui.scroll(10)   #向上滚动10次“单击” 
pyautogui.scroll(-10)  #向下滚动10次“单击” 
pyautogui.scroll(10,x = 100,y = 100)  #将鼠标光标移至100、200,然后向上滚动10次“点击”

你可以hscroll()在linux和OSX平台中左右滚动。

4)键盘功能

键盘-键入

我们可以在pyautogui class中的函数的帮助下录入字母、单词或句子,它还提供了每个键入单词之间的延迟,这使它更加炫酷。

pyautogui.typewrite('Hello world!') #即可输出“ Hello world!”

如果要为这个句子添加动画效果,而且希望电脑在一小段时间后编写这个句子,可以使用interval属性。

pyautogui.typewrite('Hello world!',interval = 0.25)
#打印出“ Hello world!” 每个字符后延迟0.25秒

键盘-按特殊指令按键

python自动控制键盘,python,linux,开发语言,Python入门,爬虫

按特殊按键

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

要按下多个键,传递一个元组或键列表,还需要采用另一个可选属性presses=1 来限制按键的按下次数;还有一个属性interval=0.0,它是设定每次按键之间的间隔。

定义了此功能的键,可以通过以下选项进行检索pyautogui.KEYBOARD_KEYS,它会输出所支持的已定义键的列表。例如:enter,up,down,esc,f1。参见:

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')       #释放CTRL按钮

5)消息提示功能

PyAutoGUI还显示JavaScript样式的提示框,一共有四种提示框功能:

消息提示-报错/警示

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

python自动控制键盘,python,linux,开发语言,Python入门,爬虫

报错

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

消息提示-确认窗口

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

python自动控制键盘,python,linux,开发语言,Python入门,爬虫

确认窗口

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

消息提示-提醒窗口

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

python自动控制键盘,python,linux,开发语言,Python入门,爬虫

提醒窗口

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

消息提示-密码输入

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

python自动控制键盘,python,linux,开发语言,Python入门,爬虫

密码录入

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

6)屏幕截图功能

PyAutoGUI可以截取屏幕截图,将其保存到文件中,并在屏幕上定位图像。如果你需要单击一个按钮(图片类型)并想在屏幕上找到它的位置,这个方法会很有用。

截屏-截图

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

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

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

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

截屏-在屏幕上找到图像

如果想快速定位屏幕中上的图像文件,当然可以在屏幕上直观地找到它们,譬如,假设计算器应用程序正在您的计算机上运行,如下所示:

python自动控制键盘,python,linux,开发语言,Python入门,爬虫

同时其中包含一个按钮的图像,譬如是按钮“7”:

python自动控制键盘,python,linux,开发语言,Python入门,爬虫

你可以调用该locateOnScreen(‘7key.png’)函数以获取屏幕坐标,返回值为4整数元组:左、上、宽度、高度,不过,如果你只想在屏幕上显示图像的x和y坐标,则可以调用locateCenterOnScreen()它,该方法将仅返回x和y坐标;如果找不到屏幕上的图像,它将升高ImageNotFoundException;如果要单击该图像或对象,只需将先前函数的返回值中的x和y坐标传递给click()function。

python自动控制键盘,python,linux,开发语言,Python入门,爬虫
同时其中包含一个按钮的图像,譬如是按钮“7”:
python自动控制键盘,python,linux,开发语言,Python入门,爬虫
你可以调用该locateOnScreen(‘7key.png’)函数以获取屏幕坐标,返回值为4整数元组:左、上、宽度、高度,不过,如果你只想在屏幕上显示图像的x和y坐标,则可以调用locateCenterOnScreen()它,该方法将仅返回x和y坐标;如果找不到屏幕上的图像,它将升高ImageNotFoundException;如果要单击该图像或对象,只需将先前函数的返回值中的x和y坐标传递给click()function。

7)其它

其它-屏幕尺寸

为了获取屏幕尺寸,PyAutoGUI具有一个size()返回整数元组的函数:(宽度,高度)表示主监视器的尺寸。

pyautogui.size()    #输出:Size(width = 1366,height = 768)

其它-光标位置

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

pyautogui.position()#输出 :点(x = 487,y = 664)

后续会陆陆续续补上一些其它有趣的办公自动化技巧

-END-


学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后给大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!

包括:Python激活码+安装包、Python web开发,Python爬虫,Python数据分析,人工智能、机器学习、自动化测试带你从零基础系统性的学好Python!

👉[CSDN大礼包:《python安装工具&全套学习资料》免费分享]安全链接,放心点击

👉Python学习大礼包👈

python自动控制键盘,python,linux,开发语言,Python入门,爬虫

👉Python学习路线汇总👈

Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。(全套教程文末领取哈)
python自动控制键盘,python,linux,开发语言,Python入门,爬虫

👉Python必备开发工具👈

python自动控制键盘,python,linux,开发语言,Python入门,爬虫

温馨提示:篇幅有限,已打包文件夹,获取方式在:文末

👉Python实战案例👈

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

python自动控制键盘,python,linux,开发语言,Python入门,爬虫

👉Python书籍和视频合集👈

观看零基础学习书籍和视频,看书籍和视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。

python自动控制键盘,python,linux,开发语言,Python入门,爬虫

👉Python面试刷题👈

python自动控制键盘,python,linux,开发语言,Python入门,爬虫

👉Python副业兼职路线👈

python自动控制键盘,python,linux,开发语言,Python入门,爬虫
python自动控制键盘,python,linux,开发语言,Python入门,爬虫
这份完整版的Python全套学习资料已经上传CSDN,朋友们如果需要可以点击链接免费领取或者保存图片到wx扫描二v码免费领取保证100%免费

👉[CSDN大礼包:《python安装工具&全套学习资料》免费分享]安全链接,放心点击
python自动控制键盘,python,linux,开发语言,Python入门,爬虫文章来源地址https://www.toymoban.com/news/detail-612864.html

到了这里,关于利用Python实现电脑鼠标和键盘办公自动化的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • Selenium+python自动化测试之鼠标和键盘事件

    前面的例子中,点击事件都是通过click()方法实现鼠标的点击事件。其实在WebDriver中,提供了许多鼠标操作的方法,这些操作方法都封装在ActionChains类中,包括鼠标右击、双击、悬停和鼠标拖动等功能。 ActionChains类提供的鼠标操作事件 context_click():点击鼠标右键 double_click():双

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

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

    2024年02月10日
    浏览(53)
  • Python 自动化指南(繁琐工作自动化)第二版:二十、使用 GUI 自动化控制键盘和鼠标

    原文:https://automatetheboringstuff.com/2e/chapter20/ 了解用于编辑电子表格、下载文件和启动程序的各种 Python 模块是很有用的,但有时您需要使用的应用没有任何模块。在计算机上实现任务自动化的终极工具是你编写的直接控制键盘和鼠标的程序。这些程序可以通过发送虚拟击键和

    2024年02月09日
    浏览(56)
  • python自动化运维——模拟键盘鼠标重复性操作Pyautoui

    将程序与cmd.xls文件放在同一文件夹,每一步的截图也放在当前文件夹 通过图片在屏幕上面进行比对,找到点击处进行自动化操作 自动化rpa测试 1. Pyautoui 模块:主要针对图片进行定位 pyautogui.locateCenterOnScreen() ,在屏幕上面找到该图片位置后进行 pyautogui.click 单击,双击,右键

    2024年02月06日
    浏览(45)
  • python+pyautogui—PC端自动化(二)键盘鼠标及对话框操作

    目录 鼠标操作 获取鼠标所在位置坐标 获取鼠标所在位置的RGB值 鼠标点击 鼠标按下和释放 鼠标移动 鼠标拖拽 滚轮滚动 键盘操作 输入英文字符 普通按键操作press 按下与抬起 组合键hotkey 持续按键hold 弹出对话框 alert confirm prompt password 获取鼠标所在位置坐标 获取鼠标所在位

    2024年02月12日
    浏览(42)
  • python实现办公自动化

    目录 一 python办公自动化所需类库 二 python操作excel文件 三 python自动发送邮件 四 python操作word文件 五 python操作PPT文件 一 python办公自动化所需类库 python操作excel、word、ppt所需库如下, 二 python操作excel文件 三 python自动发送邮件 四 python操作word文件 五 python操作PPT文件

    2024年02月05日
    浏览(50)
  • 〖Python WEB 自动化测试实战篇⑦〗- 实战 - selenium的基本元素操作与键盘鼠标模拟事件操作

    订阅 Python全栈白宝书-零基础入门篇 可报销! 白嫖入口-请点击我。 推荐他人订阅,可获取扣除平台费用后的35%收益,文末名片加V! 说明:该文属于 Python全栈白宝书专栏, 免费阶段订阅数量4300+ , 购买任意白宝书体系化专栏可加入 TFS-CLUB 私域社区。 福利:加入社区的小伙

    2023年04月08日
    浏览(70)
  • 【UI自动化测试技术】自动化测试研究:Python+Selenium+Pytest+Allure,详解UI自动化测试,学习模拟鼠标+模拟键盘进行相关操作(精)(四)

    1、了解元素交互的常用方法 2、学习如何对多选元素进行操作 3、 学习模拟鼠标进行相关操作 ( 本节目标 ) 4、 学习模拟键盘进行相关操作 ( 本节目标 ) 用于向 Web 浏览器提供虚拟化设备输入操作的低级接口.除了刚刚讲过的Web元素交互之外, Actions 接口 还提供了对指定输

    2024年03月24日
    浏览(89)
  • Python自动化办公:提升效率,释放潜力(借助AI实现)

    欢迎关注博主 Mindtechnist 或加入【智能科技社区】一起学习和分享Linux、C、C++、Python、Matlab,机器人运动控制、多机器人协作,智能优化算法,滤波估计、多传感器信息融合,机器学习,人工智能等相关领域的知识和技术。搜索关注公粽号《机器和智能》即可领取技术大礼包

    2024年02月15日
    浏览(47)
  • 告别重复工作,用Python实现办公自动化,提高工作效率

    996 一直是互联网老生常谈的话题了,但抛开其他只谈工作本身,你有没有想过, 下班晚、加班,有时候可能是因为自己工作比较低效? 先给你分享一个案例: 场景是在维护日活超过 3 亿用户的微博私信平台,在一个业务模块中,需要批量替换 200 台服务器中的软件配置,而

    2024年02月06日
    浏览(53)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包