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的Django框架使用入门指引
Apr 15 Python
Apache如何部署django项目
May 21 Python
详解Python list 与 NumPy.ndarry 切片之间的对比
Jul 24 Python
Python3爬虫学习入门教程
Dec 11 Python
python+opencv实现高斯平滑滤波
Jul 21 Python
Python设计模式之适配器模式原理与用法详解
Jan 15 Python
python环境下安装opencv库的方法
Mar 05 Python
Python descriptor(描述符)的实现
Nov 15 Python
Prometheus开发中间件Exporter过程详解
Nov 30 Python
对Keras自带Loss Function的深入研究
May 25 Python
Python torch.flatten()函数案例详解
Aug 30 Python
Python实现GIF动图以及视频卡通化详解
Dec 06 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中与数组相关的函数
2007/03/22 PHP
程序员编程十条戒律
2009/07/09 PHP
php使用json_encode对变量json编码
2014/04/07 PHP
Ubuntu中启用php的mail()函数并解决发送邮件速度慢问题
2015/03/27 PHP
php 访问oracle 存储过程实例详解
2017/01/08 PHP
php实现获取农历(阴历)、节日、节气的类与用法示例
2017/11/20 PHP
PHP结合Redis+MySQL实现冷热数据交换应用案例详解
2019/07/09 PHP
PHP设计模式入门之状态模式原理与实现方法分析
2020/04/26 PHP
jQuery实现返回顶部功能适合不支持js的浏览器
2014/08/19 Javascript
jQuery不兼容input的change事件问题解决过程
2014/12/05 Javascript
javascript模拟map输出与去除重复项的方法
2015/02/09 Javascript
如何实现json数据可视化详解
2016/11/24 Javascript
利用vueJs实现图片轮播实例代码
2017/06/03 Javascript
移动端触摸滑动插件swiper使用方法详解
2017/08/11 Javascript
详解plotly.js 绘图库入门使用教程
2018/02/23 Javascript
JS非行间样式获取函数的实例代码
2018/06/05 Javascript
vue-image-crop基于Vue的移动端图片裁剪组件示例
2018/08/28 Javascript
JavaScript栈和队列相关操作与实现方法详解
2018/12/07 Javascript
nuxt框架中对vuex进行模块化设置的实现方法
2019/09/06 Javascript
vue3.0中使用postcss-pxtorem的具体方法
2019/11/20 Javascript
element-ui封装一个Table模板组件的示例
2021/01/04 Javascript
Python 获取新浪微博的最新公共微博实例分享
2014/07/03 Python
完美解决python中ndarray 默认用科学计数法显示的问题
2018/07/14 Python
Python参数类型以及常见的坑详解
2019/07/08 Python
Python爬虫实例之2021猫眼票房字体加密反爬策略(粗略版)
2021/02/22 Python
HTML5里的placeholder属性使用实例和美化显示效果的方法
2014/04/23 HTML / CSS
美国汽车轮胎和轮毂销售网站:Tire Rack
2018/01/11 全球购物
初中化学教学反思
2014/01/23 职场文书
三八红旗手先进事迹材料
2014/05/13 职场文书
施工安全责任书范本
2014/07/24 职场文书
公司股东出资证明书
2014/11/01 职场文书
2014年结对帮扶工作总结
2014/12/17 职场文书
电影红河谷观后感
2015/06/11 职场文书
2016年师德师风学习心得体会
2016/01/12 职场文书
合同范本之电脑出租
2019/08/13 职场文书
python通过函数名调用函数的几种方法总结
2021/06/07 Python