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实现微信接口(itchat)详细介绍
Oct 23 Python
Python获取当前公网ip并自动断开宽带连接实例代码
Jan 12 Python
python调用百度语音识别实现大音频文件语音识别功能
Aug 30 Python
Python魔法方法详解
Feb 13 Python
使用Python画股票的K线图的方法步骤
Jun 28 Python
Python+selenium点击网页上指定坐标的实例
Jul 05 Python
使用Python制作表情包实现换脸功能
Jul 19 Python
微信公众号token验证失败解决方案
Jul 22 Python
详解python内置常用高阶函数(列出了5个常用的)
Feb 21 Python
Python 实现将某一列设置为str类型
Jul 14 Python
用python发送微信消息
Dec 21 Python
Python plt 利用subplot 实现在一张画布同时画多张图
Feb 26 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之第二天
2006/10/09 PHP
Mysql的GROUP_CONCAT()函数使用方法
2008/03/28 PHP
PHP加速 eAccelerator配置和使用指南
2009/06/05 PHP
Extjs407 getValue()和getRawValue()区别介绍
2013/05/21 Javascript
使用原生js写的一个简单slider
2014/04/29 Javascript
浅谈Javascript Base64 加密解密
2014/12/28 Javascript
javaScript中with函数用法实例分析
2015/06/08 Javascript
有关jquery与DOM节点操作方法和属性记录
2016/04/15 Javascript
Vue.js实现无限加载与分页功能开发
2016/11/03 Javascript
angular+bootstrap的双向数据绑定实例
2017/03/03 Javascript
vue的diff算法知识点总结
2018/03/29 Javascript
Vue源码学习之关于对Array的数据侦听实现
2019/04/23 Javascript
浅谈对于“不用setInterval,用setTimeout”的理解
2019/08/28 Javascript
[00:03]DOTA2新版本PA至宝展示
2014/11/19 DOTA
[02:33]DOTA2亚洲邀请赛趣味视频之吐真话筒
2018/03/31 DOTA
Python模块结构与布局操作方法实例分析
2017/07/24 Python
Python3.6连接Oracle数据库的方法详解
2018/05/18 Python
Python使用itertools模块实现排列组合功能示例
2018/07/02 Python
python科学计算之scipy——optimize用法
2019/11/25 Python
python多进程重复加载的解决方式
2019/12/13 Python
Python Tricks 使用 pywinrm 远程控制 Windows 主机的方法
2020/07/21 Python
python入门教程之基本算术运算符
2020/11/13 Python
如何用Python徒手写线性回归
2021/01/25 Python
英国最大的海报商店:GB Posters
2018/03/20 全球购物
澳大利亚一站式数码相机商店:CameraPro
2020/03/09 全球购物
J2SDK1.5与J2SDK5.0有什么区别
2012/09/19 面试题
2014年党员自我评议总结
2014/09/23 职场文书
2014年学校办公室工作总结
2014/12/19 职场文书
2015年部门工作总结范文
2015/03/31 职场文书
新郎接新娘保证书
2015/05/08 职场文书
获奖感言怎么写
2015/07/31 职场文书
法制主题班会教案
2015/08/13 职场文书
发言稿之优秀教师篇
2019/09/26 职场文书
Python趣味挑战之给幼儿园弟弟生成1000道算术题
2021/05/28 Python
分析SQL窗口函数之取值窗口函数
2022/04/21 Oracle
python+pyhyper实现识别图片中的车牌号思路详解
2022/12/24 Python