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 client使用http post 到server端的代码
Feb 10 Python
Python socket C/S结构的聊天室应用实现
Nov 30 Python
使用FastCGI部署Python的Django应用的教程
Jul 22 Python
python 实现删除文件或文件夹实例详解
Dec 04 Python
Python实现简单的获取图片爬虫功能示例
Jul 12 Python
详解python string类型 bytes类型 bytearray类型
Dec 16 Python
python文件操作之批量修改文件后缀名的方法
Aug 10 Python
Python SQLAlchemy入门教程(基本用法)
Nov 11 Python
Tensorflow进行多维矩阵的拆分与拼接实例
Feb 07 Python
Python 输出详细的异常信息(traceback)方式
Apr 08 Python
解决keras使用cov1D函数的输入问题
Jun 29 Python
总结Python变量的相关知识
Jun 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 sprintf()函数用例解析
2011/05/18 PHP
PHP不用递归遍历目录下所有文件的代码
2014/07/04 PHP
PHP实现微信提现功能
2018/09/30 PHP
php输出反斜杠的实例方法
2019/09/19 PHP
php 使用ActiveMQ发送消息,与处理消息操作示例
2020/02/23 PHP
use jscript Create a SQL Server database
2007/06/16 Javascript
W3C Group的JavaScript1.8 新特性介绍
2009/05/19 Javascript
jquery 弹出登录窗口实现代码
2009/12/24 Javascript
JavaScript 常用函数
2009/12/30 Javascript
JavaScript具有类似Lambda表达式编程能力的代码(改进版)
2010/09/14 Javascript
json2.js的初步学习与了解
2011/10/06 Javascript
在firefox和Chrome下关闭浏览器窗口无效的解决方法
2014/01/16 Javascript
javascript实时显示北京时间的方法
2015/03/12 Javascript
jQuery实现瀑布流布局详解(PC和移动端)
2020/09/01 Javascript
AngularJs bootstrap详解及示例代码
2016/09/01 Javascript
简单谈谈React中的路由系统
2017/07/25 Javascript
node使用Mongoose类库实现简单的增删改查
2018/11/08 Javascript
浅谈javascript中的prototype和__proto__的理解
2019/04/07 Javascript
Node.js 实现远程桌面监控的方法步骤
2019/07/02 Javascript
微信小程序利用for循环解决内容变更问题
2020/03/05 Javascript
Python 检查数组元素是否存在类似PHP isset()方法
2014/10/14 Python
解析Python编程中的包结构
2015/10/25 Python
Tornado Web Server框架编写简易Python服务器
2018/07/28 Python
Python开发的十个小贴士和技巧及长常犯错误
2018/09/27 Python
基于Python的ModbusTCP客户端实现详解
2019/07/13 Python
Django框架安装方法图文详解
2019/11/04 Python
pytorch 实现在预训练模型的 input上增减通道
2020/01/06 Python
Python使用enumerate获取迭代元素下标
2020/02/03 Python
python输出数学符号实例
2020/05/11 Python
使用JS+CSS3技术:让你的名字动起来
2013/04/27 HTML / CSS
UGG澳洲官网:UGG Australia
2018/04/26 全球购物
弘扬职业精神演讲稿
2014/03/20 职场文书
股东授权委托书范本
2014/09/13 职场文书
教师年度考核自我评鉴
2015/08/11 职场文书
Python机器学习三大件之一numpy
2021/05/10 Python
PyQt5爬取12306车票信息程序的实现
2021/05/14 Python