解放双手!用 Python 控制你的鼠标和键盘

摘要:
QQ群:1097524789那么如何使用Python来控制我们的鼠标和键盘呢?

在工作中难免遇到需要在电脑上做一些重复的点击或者提交表单等操作,如果能通过 Python 预先写好相关的操作指令,让它帮你操作,然后你自己去刷网页打游戏,岂不是很爽?】

很多人学习python,不知道从何学起。
很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手。
很多已经做案例的人,却不知道如何去学习更加高深的知识。
那么针对这三类人,我给大家提供一个好的学习平台,免费领取视频教程,电子书籍,以及课程的源代码!
QQ群:1097524789

那么如何使用 Python 来控制我们的鼠标和键盘呢?

一、安装pyautogui库

我们可以先安装一下 pyauogui 这个库,通过它你就可以写一些 Python 脚本来控制你的鼠标和键盘了,比如你可以定义鼠标在哪个位置点击,定义键盘在什么时候输入什么内容等,从而达到自动化操作所有你想要操作的软件应用,值得说的一点是,他可以运行在 Win、MacOS、Linux平台上。

你可以通过 pip 进行安装:

python3 -m pip install pyautogui

源码:

https://github.com/asweigart/pyautogui

pip主页:

https://pypi.org/project/PyAutoGUI/

二、操作鼠标

安装完之后,就可以使用它了,比如我们现在想要知道鼠标的位置就可以通过 position 方法获取:

解放双手!用 Python 控制你的鼠标和键盘第1张解放双手!用 Python 控制你的鼠标和键盘第2张

也可以写一个方法来实时获取鼠标的位置:

解放双手!用 Python 控制你的鼠标和键盘第3张解放双手!用 Python 控制你的鼠标和键盘第2张

通过 while 循环不断监听鼠标当前的位置,运行一波就是这样:

解放双手!用 Python 控制你的鼠标和键盘第5张解放双手!用 Python 控制你的鼠标和键盘第2张

想要调用鼠标的点击方法可以这样:

单击:

pyautogui.click()

右击:

pyautogui.click(button='right')

双击:

pyautogui.doubleClick()

比如现在我的桌面有一张帅照:

解放双手!用 Python 控制你的鼠标和键盘第7张解放双手!用 Python 控制你的鼠标和键盘第2张

想使用 Python 来操作鼠标去打开它,那么就可以这样,把鼠标轻轻的放在帅照上面,然后获取一下鼠标在这个位置的坐标:

解放双手!用 Python 控制你的鼠标和键盘第9张解放双手!用 Python 控制你的鼠标和键盘第2张

可以发现这张照片的位置是在 (74,197),那么就可以调用鼠标的双击方法:

解放双手!用 Python 控制你的鼠标和键盘第11张解放双手!用 Python 控制你的鼠标和键盘第2张

我们在 doubleClick 方法中传入了坐标位置,所以它可以将鼠标移动的位置进行双击。

当然,你也可以调用 moveTo 方法来移动鼠标,比如让鼠标移动到 100,200 的位置就可以这样:

pg.moveTo(100,200,2)

解放双手!用 Python 控制你的鼠标和键盘第13张解放双手!用 Python 控制你的鼠标和键盘第2张

这里的 2 是移动秒数的意思,默认为 0.1 ,快速移动的那种。

想要拖拽鼠标,可以调用 dragTo 方法,比如:

pg.dragTo(300, 400, 2, button='left')

解放双手!用 Python 控制你的鼠标和键盘第15张解放双手!用 Python 控制你的鼠标和键盘第2张

表示的是从当前位置拖动到指定坐标的位置,其中的 2 代表移动时间,button 可以设置是左键还是右键。

解放双手!用 Python 控制你的鼠标和键盘第17张解放双手!用 Python 控制你的鼠标和键盘第2张

三、操作键盘

接着我们来操作键盘。

可以通过 press 来调用键盘的操作,比如:

按下回车:

pyautogui.press('enter')

按下左键:

pyautogui.press('left')

按下 CTRL:

pyautogui.press('ctrl')

快捷键的话可以使用 hotkey 方法,比如:

按下 Ctrl + Shift + T:

pyautogui.hotkey('ctrl', 'shift', 't')

复制:

pyautogui.hotkey('ctrl', 'c')

按住不动可以使用 keyDown 方法,释放按键可以使用 keyUp 方法,比如:

切换窗口:

解放双手!用 Python 控制你的鼠标和键盘第19张解放双手!用 Python 控制你的鼠标和键盘第2张

运行一波就是这样:

解放双手!用 Python 控制你的鼠标和键盘第21张解放双手!用 Python 控制你的鼠标和键盘第2张

刚刚的 pg.PAUSE=1 指的是每隔一秒执行一个操作指令。

想要控制键盘输入内容,可以使用 write 方法,比如:

输入 hellopython:

pg.write('hello Python !', interval=0.3)

解放双手!用 Python 控制你的鼠标和键盘第23张解放双手!用 Python 控制你的鼠标和键盘第2张

四、实战

知道了这些你就可以去玩一些有意思的事了,举几个简单的例子给你乐呵乐呵。

比如指定它去浏览器搜索内容:

解放双手!用 Python 控制你的鼠标和键盘第25张解放双手!用 Python 控制你的鼠标和键盘第2张

运行一波就是这样:

解放双手!用 Python 控制你的鼠标和键盘第27张解放双手!用 Python 控制你的鼠标和键盘第2张

是不是有点 selenium 的内味了。

又比如操作它去微信聊天:

运行一波:

再举一个官方的例子,你可以让它去画图:

解放双手!用 Python 控制你的鼠标和键盘第29张解放双手!用 Python 控制你的鼠标和键盘第2张

运行一波就是这样:

解放双手!用 Python 控制你的鼠标和键盘第31张解放双手!用 Python 控制你的鼠标和键盘第2张

ok,以上就是今天给大家带来的分享,看完这个,自动填写表单啥的不在话下了吧?希望对你有帮助,那么我们下回见!

免责声明:文章转载自《解放双手!用 Python 控制你的鼠标和键盘》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇78.Java集合之Mapandroid黑科技系列——手机端破解神器MT的内购VIP功能破解教程下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Gunicorn-配置详解

在之前的文章中有记录WSGI容器的作用,以及我们知道常见的容器就只有的uWSGI和Gunicorn,在之前的文章中有记录他们的特性及优缺点,在这就不在多做描述。接下来将着重记录一下Gunicorn的一些配置: config -c CONFIG, --config CONFIG Gunicorn配置文件路径,路径形式的字符串格式,如: gunicorn...

Spark python集成

Spark python集成 1、介绍 Spark支持python语言,对于大量的SQL类型的操作,不需要编译,可以直接提交python文件给spark来运行,因此非常简单方便,但是性能要比scala或java慢。对于常规任务,可以使用python来编写,特殊任务还是建议scala编写。 2、使用pyspark启动spark shell(centos) 2...

SUSE 12 安装 python3.6

步骤(一定要按照下面给出的顺序安装,不要问我为什么,因为我踩的坑有土星那么大):   安装 zlib-1.2.11.tar.gz       下载地址:https://files.cnblogs.com/files/SBJBA/zlib-1.2.11.tar.gz       tar -xzvf zlib-1.2.11.tar.gz       ./con...

ubuntu 配置vim编辑器

 憋了很久,终于用上了unix下的vim 开发环境: 安装pydiction   pydiction用来实现代码补全和语法提示功能。pydiction不能通过apt安装,需要自行下载安装。 git clone https://github.com/rkulla/pydiction #https://github.com/ma6174/vim 看个人吧...

Python实例---基于页面的后台管理[简单版]

后台管理菜单 + 母板[css/content/js] 向后台提交数据[2种]: 1. 模态对话框(数据少操作,且Js复杂):form表单 :优点:简单,前端提交后后台处理完成后直接redirect;缺点:无法显示错误信息Ajax提交 : - 有错误,显示错误;无错误,通过js的 location.relad() 刷新页面- 有错误,显示错误;无错误,自...

Werkzeug教程

http://chaoxz2005.blog.163.com/blog/static/15036542012863405266/ http://www.dajo.com.cn/a/boke/python/2013/1125/146.html 这里我们将会创建一个仿制TinyURL的应用,将URLs存储到一个redis实例。为了这个应用,我们将会使用的库包括...