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学习数据结构实例代码
May 11 Python
Python通过属性手段实现只允许调用一次的示例讲解
Apr 21 Python
Python解析Excle文件中的数据方法
Oct 23 Python
利用python在excel里面直接使用sql函数的方法
Feb 08 Python
Python初学者常见错误详解
Jul 02 Python
python用win32gui遍历窗口并设置窗口位置的方法
Jul 26 Python
Python如何使用Gitlab API实现批量的合并分支
Nov 27 Python
Python 中@property的用法详解
Jan 15 Python
Python print不能立即打印的解决方式
Feb 19 Python
Python使用扩展库pywin32实现批量文档打印实例
Apr 09 Python
Python实现PS滤镜中的USM锐化效果
Dec 04 Python
一行Python命令实现批量加水印
Apr 07 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也可以?成Shell Script
2006/10/09 PHP
PHP 5.0对象模型深度探索之类的静态成员
2008/03/27 PHP
PHP Undefined index报错的修复方法
2011/07/17 PHP
php文档更新介绍
2011/07/22 PHP
php验证是否是md5编码的简单代码
2014/04/01 PHP
PHP动态生成指定大小随机图片的方法
2016/03/25 PHP
PHP实现网页内容html标签补全和过滤的方法小结【2种方法】
2017/04/27 PHP
jQuery EasyUI API 中文文档 - Pagination分页
2011/09/29 Javascript
5个最佳的Javascript日期处理类库分享
2012/04/15 Javascript
jqGrid增加时--判断开始日期与结束日期(实例解析)
2013/11/08 Javascript
php is_numberic函数造成的SQL注入漏洞
2014/03/10 Javascript
jQuery.each使用详解
2015/07/07 Javascript
jQuery的 $.ajax防止重复提交的两种方法(推荐)
2016/10/14 Javascript
详解JS中的快速排序与冒泡
2017/01/10 Javascript
JavaScript实现图片本地预览功能【不用上传至服务器】
2017/09/20 Javascript
微信小程序request请求后台接口php的实例详解
2017/09/20 Javascript
3种vue组件的书写形式
2017/11/29 Javascript
详解VUE中常用的几种import(模块、文件)引入方式
2018/07/03 Javascript
vue 使用自定义指令实现表单校验的方法
2018/08/28 Javascript
JavaScript常见继承模式实例小结
2019/01/11 Javascript
javascript实现一款好看的秒表计时器
2020/09/05 Javascript
Vue实现一种简单的无限循环滚动动画的示例
2021/01/10 Vue.js
Python比较文件夹比另一同名文件夹多出的文件并复制出来的方法
2015/03/05 Python
python模拟鼠标拖动操作的方法
2015/03/11 Python
Python中的字符串类型基本知识学习教程
2016/02/04 Python
Python基于SMTP协议实现发送邮件功能详解
2018/08/14 Python
python科学计算之narray对象用法
2019/11/25 Python
python3的pip路径在哪
2020/06/23 Python
用Python制作音乐海报
2021/01/26 Python
深入了解canvas在移动端绘制模糊的问题解决
2019/04/30 HTML / CSS
读书伴我成长演讲稿
2014/05/07 职场文书
学校献爱心活动总结
2014/07/08 职场文书
大学生在校表现评语
2014/12/31 职场文书
人事局接收函
2015/01/30 职场文书
Nginx + consul + upsync 完成动态负载均衡的方法详解
2021/03/31 Servers
如何用PHP实现多线程编程
2021/05/26 PHP