点击上方    编程学习者社区,选择    创建星标

回复关键字    资源获取编程资料

在工作中难免遇到需要在电脑上做一些重复的点击或者提交表单等操作,如果能通过 Python 预先写好相关的操作指令,让它帮你操作,然后你自己去刷网页打游戏,岂不是很爽?那么如何使用 Python 来控制我们的鼠标和键盘呢?

一、安装pyautogui库

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

python3 -m pip install pyautogui

源码:https://github.com/asweigart/pyautoguipip主页:https://pypi.org/project/PyAutoGUI/

二、操作鼠标

安装完之后,就可以使用它了,比如我们现在想要知道鼠标的位置就可以通过 position 方法获取:也可以写一个方法来实时获取鼠标的位置:通过 while 循环不断监听鼠标当前的位置,运行一波就是这样:想要调用鼠标的点击方法可以这样:单击:

pyautogui.click()

右击:

pyautogui.click(button='right')

双击:

pyautogui.doubleClick()

比如现在我的桌面有一张照片:想使用 Python 来操作鼠标去打开它,那么就可以这样,把鼠标轻轻的放在照片上面,然后获取一下鼠标在这个位置的坐标:可以发现这张照片的位置是在 (74,197),那么就可以调用鼠标的双击方法:我们在 doubleClick 方法中传入了坐标位置,所以它可以将鼠标移动的位置进行双击。当然,你也可以调用 moveTo 方法来移动鼠标,比如让鼠标移动到 100,200 的位置就可以这样:

pg.moveTo(100,200,2)

这里的 2 是移动秒数的意思,默认为 0.1 ,快速移动的那种。想要拖拽鼠标,可以调用 dragTo 方法,比如:

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

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

三、操作键盘

接着我们来操作键盘。可以通过 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 方法,比如:切换窗口:运行一波就是这样:刚刚的 pg.PAUSE=1 指的是每隔一秒执行一个操作指令。想要控制键盘输入内容,可以使用 write 方法,比如:输入 hellopython:

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

四、实战

知道了这些你就可以去玩一些有意思的事了,举几个简单的例子给你。比如指定它去浏览器搜索内容:运行一波就是这样:是不是有点 selenium 的内味了。又比如操作它去微信聊天:运行一波:再举一个官方的例子,你可以让它去画图:运行一波就是这样:ok,以上就是今天给大家带来的分享,看完这个,自动填写表单啥的不在话下了吧?希望对你有帮助,那么我们下回见!
作者:小帅b来源:学习python的正确姿势

往期精选

在知乎上学Python-入门篇在知乎上学爬虫大家都用什么背英语单词Python库分享

phpstorm ctrl 鼠标左键 无效_击败无聊的办公室重复操作,用 Python 控制鼠标和键盘...相关推荐

  1. 自己碰到的一个control +鼠标左键无效问题。

    下载工程的时候发现control+鼠标左键没用,查他的被引用显示找不到文件. 看了一下自己的window-->preferences-- >General-->Editors--&g ...

  2. mac command+鼠标左键无效

    最近项目更新了之后,发现该快捷键无效,无法进入到定义的文件,在网上尝试了无果后,可以尝试下面的解决方法 打开设置 在设置搜索框中找到该选项 钩上 就可以了

  3. linux系统鼠标左键失灵,鼠标左键不灵敏如何修复 鼠标左键不灵敏解决方法【图文】...

    在我们使用鼠标的时候,经常会出现鼠标左键不灵敏的现象,那么出现这个故障的时候,我们应该如何修复呢!接下来小编就几天为大家介绍一下鼠标左键不灵敏的修复方法,也希望能够帮助到大家解决问题. 鼠标左键不灵敏 ...

  4. Javascript如何判断按下的是鼠标左键还是右键

    Javascript如何判断按下的是鼠标左键还是右键 一.需求:在页面上某个元素上点击鼠标右键,弹出二级悬窗(右键菜单). 二.解决技术问题:如何监听鼠标右键事件 三.解决方案:  1.使用jquer ...

  5. 鼠标左键按钮不起作用? 这是解决方法

    Third of november/Shutterstock.com11月3日/Shutterstock.com Even something as simple as a mouse button ...

  6. vscode 单击跳转_vscode中ctrl+鼠标左键不能跳转_编程开发工具

    mac电脑怎么样安装vscode_编程开发工具 mac电脑安装vscode的方法是:1.打开浏览器搜索vscode,进入官网:2.点击[download for mac]进行下载:3.双击下载的压缩包 ...

  7. zend studio中ctrl+鼠标左键无法转到类或函数定义文件的解决方法

    转载自:http://blog.csdn.net/wide288/article/details/21622183 zend studio中ctrl+鼠标左键无法转到类或函数定义文件的解决方法:  z ...

  8. 检测单击鼠标左键并拖动的消息_计算机视觉OpenCV学习笔记(四):关于鼠标的相关事件函数...

    (7)把鼠标当画笔 本篇目标: 学会使用OpenCV中的鼠标处理的相关事件,事件回调函数怎么去定义,参数有哪些,以及如何注册鼠标监听事件. 7.1 .1 回调函数的定义: 1 def name(eve ...

  9. Ctrl + 鼠标左键:跳转到对应的`定义位置`

    在代码中,想要查看一个函数或变量的定义位置时,可以将鼠标放在想要查看的对象上 ,按ctrl+鼠标左键,即可跳转到定义位置. 例如:想要查看extract_all_wav_feature()的定义位置, ...

  10. VSCode ctrl+鼠标左键无法跳转,F12可以跳转

    1. 打给设置文件setting.json ctrl+shift+p后输入setting,快速找到 添加一行 "python.jediEnabled":false 如下图:2. 如 ...

最新文章

  1. 创建指向以下位置中的matlab脚本的符号链接_【分享吧】浅析软链接与硬链接
  2. wxWidgets:wxAny类用法
  3. 你能否列出与 Elasticsearch 有关的主要可用字段数据类型?
  4. eigrp配置实验_【实验】思科与华为的差别——路由的优选
  5. 解决IOS中input失焦后,页面上移,点击不了问题
  6. matlab练习程序(方框模糊)
  7. Mac目录映射到docker容器ubuntu目录
  8. java基础总结06-常用api类-时间日期类
  9. Windows系统服务原理
  10. SQL server 2008 r2导入数据
  11. 香橙派的使用入门无屏幕安装系统
  12. 人脸识别测温一体机,如何成为公共场所防疫的第一道防线?
  13. 思科二层交换机系列------设备更换详细配置命令
  14. flyway版本号_使用flyway作为数据库版本工具
  15. Linux·信号量全解
  16. 计算机网络——IPV6基础知识
  17. Django讲课笔记02:Django环境搭建
  18. reverse()和reverse_copy()用法
  19. AIX报错(errpt)处理小记
  20. 健康大讲堂—凡膳皆药 寓医于食

热门文章

  1. laravel input值必须不等于0_【第十一期】实现 Javascript 版本的 Laravel 风格参数验证器...
  2. 业内较好的监控mysql_MySQL监控、性能分析——工具篇
  3. char **p作为参数被修改_opencv第1课-加载、修改、保存图像
  4. php布署 群辉_docker一键搭建Nginx+PHP环境(含自动部署命令)
  5. word保存不了磁盘已满_【Word技巧】word使用终极技巧,工程人必会(二)
  6. Android实现计算器布局(表格布局)
  7. php元素排序算法,php 4大基础排序算法
  8. qt 按钮 gradient_少造轮子!推荐一个Qt的Python组件库
  9. angular1的复选框指令--checklistModel
  10. 高德发布十一出行预测:全国高速流量增长7%