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 不关闭控制台的实现方法
Oct 23 Python
举例讲解Python中的Null模式与桥接模式编程
Feb 02 Python
Python 编码处理-str与Unicode的区别
Sep 06 Python
windows环境下tensorflow安装过程详解
Mar 30 Python
Python爬虫实现(伪)球迷速成
Jun 10 Python
ActiveMQ:使用Python访问ActiveMQ的方法
Jan 30 Python
pytorch数据预处理错误的解决
Feb 20 Python
python 已知平行四边形三个点,求第四个点的案例
Apr 12 Python
Python错误的处理方法
Jun 23 Python
Python通过队列来实现进程间通信的示例
Oct 14 Python
python实现自定义日志的具体方法
May 28 Python
浅谈Python响应式类库RxPy
Jun 14 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
PHPMyadmin 配置文件详解(配置)
2009/12/03 PHP
php启用zlib压缩文件的配置方法
2013/06/12 PHP
浅析PHP中的 inet_pton 网络函数
2019/12/16 PHP
PHP操作Redis常用命令的实例详解
2020/12/23 PHP
js利用prototype调用Array的slice方法示例
2014/06/09 Javascript
javascript中的this详解
2014/12/08 Javascript
JavaScript判断变量是否为空的自定义函数分享
2015/01/31 Javascript
JavaScript数据类型详解
2015/04/01 Javascript
javascript跨域总结之window.name实现的跨域数据传输
2015/11/01 Javascript
JS使用eval解析JSON的注意事项分析
2015/11/14 Javascript
ng2学习笔记之bootstrap中的component使用教程
2017/03/09 Javascript
Bootbox将后台JSON数据填充Form表单的实例代码
2018/09/10 Javascript
在vue中使用v-bind:class的选项卡方法
2018/09/27 Javascript
js根据json数据中的某一个属性来给数据分组的方法
2018/10/08 Javascript
Makefile/cmake/node-gyp中区分判断不同平台的方法
2018/12/18 Javascript
vue使用vuex实现首页导航切换不同路由的方法
2019/05/08 Javascript
linux服务器快速卸载安装node环境(简单上手)
2021/02/22 Javascript
python获取局域网占带宽最大3个ip的方法
2015/07/09 Python
python编写简单爬虫资料汇总
2016/03/22 Python
jupyter notebook插入本地图片的实现
2020/04/13 Python
Django serializer优化类视图的实现示例
2020/07/16 Python
CSS3制作漂亮的照片墙的实现代码
2016/06/08 HTML / CSS
Topshop法国官网:英国快速时尚品牌
2018/04/08 全球购物
eVitamins日本:在线购买折扣维生素、补品和草药
2019/04/04 全球购物
精彩的英文自荐信
2014/01/30 职场文书
活动总结书
2014/05/08 职场文书
学习十八大演讲稿
2014/09/15 职场文书
高中生学习计划书
2014/09/15 职场文书
市场营销工作计划书
2014/09/15 职场文书
大学生国庆节65周年演讲稿范文
2014/09/25 职场文书
街道务虚会发言材料
2014/10/20 职场文书
2014年保险业务员工作总结
2014/12/23 职场文书
小学六一主持词开场白
2015/05/28 职场文书
详解CSS3.0(Cascading Style Sheet) 层叠级联样式表
2021/07/16 HTML / CSS
MySQL Shell import_table数据导入的实现
2021/08/07 MySQL
MySQL优化之慢日志查询
2022/06/10 MySQL