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通过pil模块将raw图片转换成png图片的方法
Mar 16 Python
python过滤字符串中不属于指定集合中字符的类实例
Jun 30 Python
解决Python网页爬虫之中文乱码问题
May 11 Python
pandas.dataframe按行索引表达式选取方法
Oct 30 Python
django与小程序实现登录验证功能的示例代码
Feb 19 Python
浅析Python 中几种字符串格式化方法及其比较
Jul 02 Python
python Pandas如何对数据集随机抽样
Jul 29 Python
Pytorch中膨胀卷积的用法详解
Jan 07 Python
浅谈Python里面None True False之间的区别
Jul 09 Python
10款最佳Python开发工具推荐,每一款都是神器
Oct 15 Python
浅谈pytorch中stack和cat的及to_tensor的坑
May 20 Python
基于Python实现将列表数据生成折线图
Mar 23 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
PHP的命令行命令使用指南
2015/08/18 PHP
深入解析PHP的Laravel框架中的event事件操作
2016/03/21 PHP
php strftime函数的详细用法
2018/06/21 PHP
jQuery 常见学习网站与参考书
2009/11/09 Javascript
JavaScript Event学习第七章 事件属性
2010/02/07 Javascript
JavaScript操作XML实例代码(获取新闻标题并分页,并分页)
2010/05/25 Javascript
基于jquery的拖动布局插件
2011/11/25 Javascript
javascript数组输出的两种方式
2015/01/13 Javascript
jquery实现隐藏在左侧的弹性弹出菜单效果
2015/09/18 Javascript
10个很棒的jQuery代码片段
2015/09/24 Javascript
JavaScript模块化开发之SeaJS
2015/12/13 Javascript
vue滚动轴插件better-scroll使用详解
2017/10/17 Javascript
js类的继承定义与用法分析
2019/06/21 Javascript
ES6之Proxy的get方法详解
2019/10/11 Javascript
Nuxt页面级缓存的实现
2020/03/09 Javascript
解决antd 下拉框 input [defaultValue] 的值的问题
2020/10/31 Javascript
微信小程序实现点赞业务
2021/02/10 Javascript
解决pycharm工程启动卡住没反应的问题
2019/01/19 Python
Python 移动光标位置的方法
2019/01/20 Python
Python openpyxl模块原理及用法解析
2020/01/19 Python
适合Python初学者的一些编程技巧
2020/02/12 Python
Python 实现使用空值进行赋值 None
2020/03/12 Python
pycharm部署、配置anaconda环境的教程
2020/03/24 Python
使用CSS3实现SVG路径描边动画效果入门教程
2019/10/21 HTML / CSS
Nordgreen英国官网:斯堪的纳维亚设计师手表
2018/10/24 全球购物
史上最全面的Java面试题汇总!
2015/02/03 面试题
会计专业大学生职业生涯规划范文
2014/01/11 职场文书
模范教师事迹材料
2014/02/10 职场文书
十八届三中全会个人学习材料
2014/02/13 职场文书
小学生勤俭节约倡议书
2015/04/29 职场文书
2016学校元旦晚会经典开场白台词
2015/12/03 职场文书
2019行政前台转正申请书范文3篇
2019/08/15 职场文书
描写九月优美句子(39条)
2019/09/11 职场文书
MySQL限制查询和数据排序介绍
2022/03/25 MySQL
Linux中sftp常用命令整理
2022/06/28 Servers
vue3 自定义图片放大器效果的示例代码
2022/07/23 Vue.js