python PyAutoGUI 模拟鼠标键盘操作和截屏功能


Posted in Python onAugust 04, 2019

简介

一款跨平台/无依赖的自动化测试工具,目测只能控制鼠标/键盘/获取屏幕尺寸/弹出消息框/截屏。

安装

pip install pyautogui

鼠标键盘控制

>>> import pyautogui
  >>> screenWidth, screenHeight = pyautogui.size()
  >>> currentMouseX, currentMouseY = pyautogui.position()
  >>> pyautogui.moveTo(100, 150)
  >>> pyautogui.click()
  >>> pyautogui.moveRel(None, 10) # move mouse 10 pixels down
  >>> pyautogui.doubleClick()
  >>> pyautogui.moveTo(500, 500, duration=2, tween=pyautogui.tweens.easeInOutQuad) # use tweening/easing function to move mouse over 2 seconds.
  >>> pyautogui.typewrite('Hello world!', interval=0.25) # type with quarter-second pause in between each key
  >>> pyautogui.press('esc')
  >>> pyautogui.keyDown('shift')
  >>> pyautogui.typewrite(['left', 'left', 'left', 'left', 'left', 'left'])
  >>> pyautogui.keyUp('shift')
  >>> pyautogui.hotkey('ctrl', 'c')

显示消息弹出框

>>> import pyautogui
  >>> pyautogui.alert('This is an alert box.')
  'OK'
  >>> pyautogui.confirm('Shall I proceed?')
  'Cancel'
  >>> pyautogui.confirm('Enter option.', buttons=['A', 'B', 'C'])
  'B'
  >>> pyautogui.prompt('What is your name?')
  'Al'
  >>> pyautogui.password('Enter password (text will be hidden)')
  'swordfish'

截屏

>>> import pyautogui
  >>> im1 = pyautogui.screenshot()
  >>> im1.save('my_screenshot.png')
  >>> im2 = pyautogui.screenshot('my_screenshot2.png')

定位截屏

>>> import pyautogui
  >>> button7location = pyautogui.locateOnScreen('button.png') # returns (left, top, width, height) of matching region
  >>> button7location
  (1416, 562, 50, 41)
  >>> buttonx, buttony = pyautogui.center(button7location)
  >>> buttonx, buttony
  (1441, 582)
  >>> pyautogui.click(buttonx, buttony) # clicks the center of where the button was found

参考

http://pyautogui.readthedocs.io/en/latest/index.html
https://github.com/asweigart/pyautogui
https://github.com/asweigart/sushigoroundbot

总结

以上所述是小编给大家介绍的python PyAutoGUI 模拟鼠标键盘操作和截屏功能,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!

Python 相关文章推荐
在Python中处理列表之reverse()方法的使用教程
May 21 Python
Python+django实现文件下载
Jan 17 Python
Python网络爬虫项目:内容提取器的定义
Oct 25 Python
Python实现的多进程和多线程功能示例
May 29 Python
Python 3.x 判断 dict 是否包含某键值的实例讲解
Jul 06 Python
Python 确定多项式拟合/回归的阶数实例
Dec 29 Python
对python3 Serial 串口助手的接收读取数据方法详解
Jun 12 Python
Python列表list常用内建函数实例小结
Oct 22 Python
numpy按列连接两个维数不同的数组方式
Dec 06 Python
Python编程快速上手——疯狂填词程序实现方法分析
Feb 29 Python
python列表的逆序遍历实现
Apr 20 Python
django有哪些好处和优点
Sep 01 Python
讲解Python3中NumPy数组寻找特定元素下标的两种方法
Aug 04 #Python
使用 python pyautogui实现鼠标键盘控制功能
Aug 04 #Python
Python 实现遥感影像波段组合的示例代码
Aug 04 #Python
PyQtGraph在pyqt中的应用及安装过程
Aug 04 #Python
详解用python生成随机数的几种方法
Aug 04 #Python
python下PyGame的下载与安装过程及遇到问题
Aug 04 #Python
python中pygame安装过程(超级详细)
Aug 04 #Python
You might like
frename PHP 灵活文件命名函数 frename
2009/09/09 PHP
分享下页面关键字抓取components.arrow.com站点代码
2014/01/30 PHP
JavaScript 模拟用户单击事件
2009/12/31 Javascript
javascript基础知识大全 便于大家学习,也便于我自己查看
2012/08/17 Javascript
JS过滤url参数特殊字符的实现方法
2013/12/24 Javascript
为JS扩展Array.prototype.indexOf引发的问题及解决办法
2015/01/21 Javascript
jQuery的实例及必知重要的jQuery选择器详解
2016/05/20 Javascript
jQuery Dialog 打开时自动聚焦的解决方法(两种方法)
2016/11/24 Javascript
es6学习笔记之Async函数的使用示例
2017/05/11 Javascript
Mongoose实现虚拟字段查询的方法详解
2017/08/15 Javascript
webpack4打包vue前端多页面项目
2018/09/17 Javascript
浅谈微信页面入口文件被缓存解决方案
2018/09/29 Javascript
在微信小程序中使用图表的方法示例
2019/04/25 Javascript
解决layui动态添加的元素click等事件触发不了的问题
2019/09/20 Javascript
vue element 中的table动态渲染实现(动态表头)
2019/11/21 Javascript
vscode+gulp轻松开发小程序的完整步骤
2020/10/18 Javascript
简明 Python 基础学习教程
2007/02/08 Python
python远程登录代码
2008/04/29 Python
Python实现一个转存纯真IP数据库的脚本分享
2017/05/21 Python
Django 框架模型操作入门教程
2019/11/05 Python
tensorflow实现对张量数据的切片操作方式
2020/01/19 Python
python实现飞行棋游戏
2020/02/05 Python
python 安装impala包步骤
2020/03/28 Python
简单的Python人脸识别系统
2020/07/14 Python
Python 使用xlwt模块将多行多列数据循环写入excel文档的操作
2020/11/10 Python
python爬取招聘要求等信息实例
2020/11/20 Python
印度尼西亚最好的小工具在线商店:Erafone.com
2019/03/26 全球购物
大学生毕业求职简历的自我评价
2013/10/24 职场文书
中学生自我鉴定
2014/02/04 职场文书
群众路线自我剖析及整改措施
2014/11/04 职场文书
浅谈Golang 切片(slice)扩容机制的原理
2021/06/09 Golang
基于PyQT5制作一个桌面摸鱼工具
2022/02/15 Python
【DOTA2】半决赛强强对话~ PSG LGD vs EHOME - DPC 2022 CN REGIONAL FINALS WINTER
2022/04/02 DOTA
JavaScript正则表达式实现注册信息校验功能
2022/05/30 Java/Android
Windows Server 版本 20H2 于 8 月 9 日停止支持,Win10 版本 21H1 将于 12 月结束支
2022/07/23 数码科技
ubuntu开机后ROS程序自启动问题
2022/12/24 Servers