pyautogui自动化控制鼠标和键盘操作的步骤


Posted in Python onApril 01, 2020

PyAutoGUI是一个纯Python的GUI自动化工具,其目的是可以用程序自动控制鼠标和键盘操作,多平台支持(Windows,OS X,Linux)。

安装

pip3 install pyautogui

pyautogui鼠标操作样例

import pyautogui

# 获取当前屏幕分辨率
screenWidth, screenHeight = pyautogui.size()

# 获取当前鼠标位置
currentMouseX, currentMouseY = pyautogui.position()

# 2秒钟鼠标移动坐标为100,100位置 绝对移动
#pyautogui.moveTo(100, 100,2)
pyautogui.moveTo(x=100, y=100,duration=2, tween=pyautogui.linear)

#鼠标移到屏幕中央。
pyautogui.moveTo(screenWidth / 2, screenHeight / 2)

# 鼠标左击一次
#pyautogui.click()
# x 
# y 
# clicks 点击次数
# interval点击之间的间隔
# button 'left', 'middle', 'right' 对应鼠标 左 中 右或者取值(1, 2, or 3)
# tween 渐变函数
#
pyautogui.click(x=None, y=None, clicks=1, interval=0.0, button='left', duration=0.0, tween=pyautogui.linear)

# 鼠标相对移动 ,向下移动
#pyautogui.moveRel(None, 10)
pyautogui.moveRel(xOffset=None, yOffset=10,duration=0.0, tween=pyautogui.linear)


# 鼠标当前位置0间隔双击
#pyautogui.doubleClick()
pyautogui.doubleClick(x=None, y=None, interval=0.0, button='left', duration=0.0, tween=pyautogui.linear)

# 鼠标当前位置3击
#pyautogui.tripleClick()
pyautogui.tripleClick(x=None, y=None, interval=0.0, button='left', duration=0.0, tween=pyautogui.linear)

#右击
pyautogui.rightClick()

#中击
pyautogui.middleClick()

# 用缓动/渐变函数让鼠标2秒后移动到(500,500)位置
# use tweening/easing function to move mouse over 2 seconds.
pyautogui.moveTo(x=500, y=500, duration=2, tween=pyautogui.easeInOutQuad)

#鼠标拖拽
pyautogui.dragTo(x=427, y=535, duration=3,button='left')

#鼠标相对拖拽
pyautogui.dragRel(xOffset=100,yOffset=100,duration=,button='left',mouseDownUp=False)

#鼠标移动到x=1796, y=778位置按下
pyautogui.mouseDown(x=1796, y=778, button='left')

#鼠标移动到x=2745, y=778位置松开(与mouseDown组合使用选中)
pyautogui.mouseUp(x=2745, y=778, button='left',duration=5)

#鼠标当前位置滚轮滚动
pyautogui.scroll()
#鼠标水平滚动(Linux)
pyautogui.hscroll()
#鼠标左右滚动(Linux)
pyautogui.vscroll()

pyautogui键盘操作样例

#模拟输入信息
pyautogui.typewrite(message='Hello world!',interval=0.5)
#点击ESC
pyautogui.press('esc')
# 按住shift键
pyautogui.keyDown('shift')
# 放开shift键
pyautogui.keyUp('shift')
# 模拟组合热键
pyautogui.hotkey('ctrl', 'c')

按键支持

按键 说明
enter(或return 或 \n) 回车
esc ESC键
shiftleft, shiftright 左右SHIFT键
altleft, altright 左右ALT键
ctrlleft, ctrlright 左右CTRL键
tab (\t) TAB键
backspace, delete BACKSPACE 、DELETE键
pageup, pagedown PAGE UP 和 PAGE DOWN键
home, end HOME 和 END键
up, down, left,right 箭头键
f1, f2, f3…. F1…….F12键
volumemute, volumedown,volumeup 有些键盘没有
pause PAUSE键
capslock, numlock,scrolllock CAPS LOCK, NUM LOCK, 和 SCROLLLOCK 键
insert INS或INSERT键
printscreen PRTSC 或 PRINT SCREEN键
winleft, winright Win键
command Mac OS X command键

提示信息

alert

#pyautogui.alert('This is an alert box.','Test')
pyautogui.alert(text='This is an alert box.', title='Test')

pyautogui自动化控制鼠标和键盘操作的步骤

option

#pyautogui.confirm('Shall I proceed?')
pyautogui.confirm('Enter option.', buttons=['A', 'B', 'C'])

pyautogui自动化控制鼠标和键盘操作的步骤

password

a = pyautogui.password('Enter password (text will be hidden)')
print(a)

pyautogui自动化控制鼠标和键盘操作的步骤

prompt

a = pyautogui.prompt('input message')
print(a)

pyautogui自动化控制鼠标和键盘操作的步骤

截屏

整个屏幕截图并保存

im1 = pyautogui.screenshot()
im1.save('my_screenshot.png')

im2 = pyautogui.screenshot('my_screenshot2.png')

屏幕查找图片位置并获取中间点

#在当前屏幕中查找指定图片(图片需要由系统截图功能截取的图)
coords = pyautogui.locateOnScreen('folder.png')
#获取定位到的图中间点坐标
x,y=pyautogui.center(coords)
#右击该坐标点
pyautogui.rightClick(x,y)

安全设置

import pyautogui

#保护措施,避免失控
pyautogui.FAILSAFE = True
#为所有的PyAutoGUI函数增加延迟。默认延迟时间是0.1秒。
pyautogui.PAUSE = 0.5

到此这篇关于pyautogui自动化控制鼠标和键盘操作的步骤的文章就介绍到这了,更多相关pyautogui 控制鼠标和键盘内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python单例模式实例分析
Jan 14 Python
Ubuntu下创建虚拟独立的Python环境全过程
Feb 10 Python
python3 图片referer防盗链的实现方法
Mar 12 Python
基于数据归一化以及Python实现方式
Jul 11 Python
Python实现数据可视化看如何监控你的爬虫状态【推荐】
Aug 10 Python
Python多进程fork()函数详解
Feb 22 Python
python文件转为exe文件的方法及用法详解
Jul 08 Python
Python Process多进程实现过程
Oct 22 Python
Python 如何测试文件是否存在
Jul 31 Python
Python 发送邮件方法总结
Aug 10 Python
解决Python 函数声明先后顺序出现的问题
Sep 02 Python
Python Selenium异常处理的实例分析
Feb 28 Python
详解Python中pyautogui库的最全使用方法
Apr 01 #Python
django的模型类管理器——数据库操作的封装详解
Apr 01 #Python
opencv中图像叠加/图像融合/按位操作的实现
Apr 01 #Python
Django数据库操作之save与update的使用
Apr 01 #Python
django model通过字典更新数据实例
Apr 01 #Python
django执行原始查询sql,并返回Dict字典例子
Apr 01 #Python
python 日志 logging模块详细解析
Mar 31 #Python
You might like
PHP 上传文件的方法(类)
2009/07/30 PHP
php中通过正则表达式下载内容中的远程图片的函数代码
2012/01/10 PHP
PHP JSON格式的中文显示问题解决方法
2015/04/09 PHP
thinkphp5.1 文件引入路径问题及注意事项
2018/06/13 PHP
php探针不显示内存解决方法
2019/09/17 PHP
Laravel 框架返回状态拦截代码
2019/10/18 PHP
PHP常用函数之获取汉字首字母功能示例
2019/10/21 PHP
PHP Ajax跨域问题解决方案代码实例
2020/08/01 PHP
用JQUERY增删元素的代码
2012/02/14 Javascript
iframe子父页面调用js函数示例
2013/11/07 Javascript
jQuery级联操作绑定事件实例
2014/09/02 Javascript
IE下使用jQuery重置iframe地址时内存泄露问题解决办法
2015/02/05 Javascript
js实现接收表单的值并将值拼在表单action后面的方法
2015/11/23 Javascript
jquery.cookie.js实现用户登录保存密码功能的方法
2016/04/15 Javascript
微信小程序 Canvas增强组件实例详解及源码分享
2017/01/04 Javascript
使用 NodeJS+Express 开发服务端的简单介绍
2017/04/07 NodeJs
bootstrap-table组合表头的实现方法
2017/09/07 Javascript
Angularjs 1.3 中的$parse实例代码
2017/09/14 Javascript
Vue模板语法中数据绑定的实例代码
2019/05/17 Javascript
vue移动端的左右滑动事件详解
2020/06/17 Javascript
介绍Python的Urllib库的一些高级用法
2015/04/30 Python
快速入手Python字符编码
2016/08/03 Python
利用信号如何监控Django模型对象字段值的变化详解
2017/11/27 Python
使用Django连接Mysql数据库步骤
2019/01/15 Python
基于python实现百度翻译功能
2019/05/09 Python
Python进程,多进程,获取进程id,给子进程传递参数操作示例
2019/10/11 Python
一款纯css3实现简单的checkbox复选框和radio单选框
2014/11/05 HTML / CSS
非常震撼的纯CSS3人物行走动画
2016/02/24 HTML / CSS
使用css3 属性如何丰富图片样式(圆角 阴影 渐变)
2012/11/22 HTML / CSS
微软新西兰官方网站:Microsoft New Zealand
2018/08/17 全球购物
新闻学毕业生自荐信
2013/11/15 职场文书
幼儿园实习生辞职信
2014/01/20 职场文书
农民工工资支付承诺书
2015/05/04 职场文书
公司表扬信格式
2015/05/04 职场文书
婚礼嘉宾致辞
2015/07/28 职场文书
创新创业项目计划书该怎样写?
2019/08/13 职场文书