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 相关文章推荐
Selenium(Python web测试工具)基本用法详解
Aug 10 Python
python实现RabbitMQ的消息队列的示例代码
Nov 08 Python
python 实现一次性在文件中写入多行的方法
Jan 28 Python
Python函数中不定长参数的写法
Feb 13 Python
详解Python连接MySQL数据库的多种方式
Apr 16 Python
Django ORM 自定义 char 类型字段解析
Aug 09 Python
python基于FTP实现文件传输相关功能代码实例
Sep 28 Python
关于Python 常用获取元素 Driver 总结
Nov 24 Python
python opencv实现信用卡的数字识别
Jan 12 Python
解决tensorboard多个events文件显示紊乱的问题
Feb 15 Python
详解python的变量缓存机制
Jan 24 Python
Python实现曲线拟合的最小二乘法
Feb 19 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
浅谈Windows下 PHP4.0与oracle 8的连接设置
2006/10/09 PHP
一个简单的MySQL数据浏览器
2006/10/09 PHP
基于session_unset与session_destroy的区别详解
2013/06/03 PHP
php中ftp_chdir与ftp_cdup函数用法
2014/11/18 PHP
PHP递归实现快速排序的方法示例
2017/12/18 PHP
PHP抽象类与接口的区别详解
2019/03/21 PHP
PHP如何实现阿里云短信sdk灵活应用在项目中的方法
2019/06/14 PHP
Laravel框架之解决前端显示图片问题
2019/10/24 PHP
Yii框架组件的事件机制原理与用法分析
2020/04/07 PHP
ASP中Sub和Function的区别说明
2020/08/30 Javascript
Javascript图像处理思路及实现代码
2012/12/25 Javascript
复制js对象方法(详解)
2013/07/08 Javascript
javascript 上下banner替换具体实现
2013/11/14 Javascript
js在数组中删除重复的元素自保留一个(两种实现思路)
2014/08/22 Javascript
微信公众号开发 自定义菜单跳转页面并获取用户信息实例详解
2016/12/08 Javascript
JS中实现函数return多个返回值的实例
2017/02/21 Javascript
使用Vue-cli3.0创建的项目 如何发布npm包
2019/10/10 Javascript
react-native聊天室|RN版聊天App仿微信实例|RN仿微信界面
2019/11/12 Javascript
Javascript执行上下文顺序的深入讲解
2020/11/04 Javascript
Python使用sqlalchemy模块连接数据库操作示例
2019/03/13 Python
Python中numpy模块常见用法demo实例小结
2019/03/16 Python
Django 路由控制的实现
2019/07/17 Python
FFrpc python客户端lib使用解析
2019/08/24 Python
pytorch之添加BN的实现
2020/01/06 Python
Python绘图之柱形图绘制详解
2020/07/28 Python
CSS3网格的三个新特性详解
2014/04/04 HTML / CSS
h5页面背景图很长要有滚动条滑动效果的实现
2021/01/27 HTML / CSS
办公室秘书自我鉴定
2014/01/18 职场文书
先进事迹报告会感言
2014/01/24 职场文书
关于九一八事变的演讲稿2014
2014/09/17 职场文书
计生个人工作总结
2015/02/28 职场文书
综合素质评价自我评价
2015/03/06 职场文书
学校清洁工岗位职责
2015/04/15 职场文书
《猴王出世》教学反思
2016/02/23 职场文书
迎客户欢迎词三篇
2019/09/27 职场文书
如何自己动手写SQL执行引擎
2021/06/02 MySQL