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发送伪造的arp请求
Jan 09 Python
详解Django缓存处理中Vary头部的使用
Jul 24 Python
python二分查找算法的递归实现方法
May 12 Python
python 筛选数据集中列中value长度大于20的数据集方法
Jun 14 Python
python 检查文件mime类型的方法
Dec 08 Python
在pycharm中使用git版本管理以及同步github的方法
Jan 16 Python
Python实现的对本地host127.0.0.1主机进行扫描端口功能示例
Feb 15 Python
Python使用字典实现的简单记事本功能示例
Aug 15 Python
从pandas一个单元格的字符串中提取字符串方式
Dec 17 Python
Python获取、格式化当前时间日期的方法
Feb 10 Python
Python如何测试stdout输出
Aug 10 Python
python如何用matplotlib创建三维图表
Jan 26 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 团购折扣计算公式
2011/11/24 PHP
解析php中const与define的应用区别
2013/06/18 PHP
PHP爬虫之百万级别知乎用户数据爬取与分析
2016/01/22 PHP
js类后台管理菜单类-MenuSwitch
2007/09/12 Javascript
flash 得到自身url参数的代码
2009/11/15 Javascript
NodeJS与Mysql的交互示例代码
2013/08/18 NodeJs
jQuery密码强度检测插件passwordStrength用法实例分析
2015/10/30 Javascript
JS弹出层遮罩,隐藏背景页面滚动条细节优化分析
2016/04/29 Javascript
JavaScript自动点击链接 防止绕过浏览器访问的方法
2017/01/19 Javascript
详解nodeJS之二进制buffer对象
2017/06/03 NodeJs
vue.js2.0点击获取自己的属性和jquery方法
2018/02/23 jQuery
vue 导航锚点_点击平滑滚动,导航栏对应变化详解
2020/08/10 Javascript
小程序实现tab标签页
2020/11/16 Javascript
[02:05]2014DOTA2西雅图国际邀请赛 BBC第二天小组赛总结
2014/07/11 DOTA
[02:36]DOTA2亚洲邀请赛小组赛精彩集锦:EE凭借法力虚空拿下4杀
2017/03/30 DOTA
[00:13]天涯墨客二技能展示
2018/08/25 DOTA
python读取注册表中值的方法
2013/04/08 Python
快速了解python leveldb
2018/01/18 Python
python实现壁纸批量下载代码实例
2018/01/25 Python
PyQt4编程之让状态栏显示信息的方法
2019/06/18 Python
python flask几分钟实现web服务的例子
2019/07/26 Python
详解Python并发编程之创建多线程的几种方法
2019/08/23 Python
Python如何基于rsa模块实现非对称加密与解密
2020/01/03 Python
python Plotly绘图工具的简单使用
2020/03/03 Python
执行Python程序时模块报错问题
2020/03/26 Python
python安装和pycharm环境搭建设置方法
2020/05/27 Python
python 三种方法提取pdf中的图片
2021/02/07 Python
英国在线药房:Chemist.co.uk
2019/03/26 全球购物
用Python匹配HTML tag的时候,<.*>和<.*?>有什么区别
2012/11/04 面试题
我的五年职业生涯规划
2014/01/23 职场文书
中英文求职信范文
2014/01/27 职场文书
故宫导游词
2015/01/31 职场文书
2015年店长工作总结范文
2015/04/08 职场文书
对公司的意见和建议
2015/06/04 职场文书
Mysql 设置boolean类型的操作
2021/06/04 MySQL
centos8安装MongoDB的详细过程
2021/10/24 MongoDB