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程序与服务器连接的WSGI接口
Apr 29 Python
Python实现GUI学生信息管理系统
Apr 05 Python
完美解决Pycharm无法导入包的问题 Unresolved reference
May 18 Python
python3.6使用urllib完成下载的实例
Dec 19 Python
详解重置Django migration的常见方式
Feb 15 Python
django项目登录中使用图片验证码的实现方法
Aug 15 Python
python multiprocessing模块用法及原理介绍
Aug 20 Python
python opencv将表格图片按照表格框线分割和识别
Oct 30 Python
简单了解python装饰器原理及使用方法
Dec 18 Python
django中url映射规则和服务端响应顺序的实现
Apr 02 Python
python模拟斗地主发牌
Apr 22 Python
python实现爱奇艺登陆密码RSA加密的方法示例详解
May 27 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 开发环境配置(测试开发环境)
2010/04/28 PHP
Php Image Resize图片大小调整的函数代码
2011/01/17 PHP
php实现建立多层级目录的方法
2014/07/19 PHP
百度地图经纬度转换到腾讯地图/Google 对应的经纬度
2015/08/28 PHP
php 自定义错误日志实例详解
2016/11/12 PHP
利用PHPExcel实现Excel文件的写入和读取
2017/04/26 PHP
Javascript 函数对象的多重身份
2009/06/28 Javascript
Dom在ajax技术中的作用说明
2010/10/25 Javascript
使用js实现一个可编辑的select下拉列表
2014/02/20 Javascript
jquery原创弹出层折叠效果点击折叠弹出一个层
2014/03/12 Javascript
javascript中递归函数用法注意点
2015/07/30 Javascript
图解Sublime Text3使用技巧
2015/12/21 Javascript
Vue+Mock.js模拟登录和表格的增删改查功能
2018/07/26 Javascript
详解原生JS回到顶部
2019/03/25 Javascript
Angular8 简单表单验证的实现示例
2020/06/03 Javascript
Vue作用域插槽实现方法及作用详解
2020/07/08 Javascript
Python 实现简单的电话本功能
2015/08/09 Python
python开发之基于thread线程搜索本地文件的方法
2015/11/11 Python
详解duck typing鸭子类型程序设计与Python的实现示例
2016/06/03 Python
python3使用pyqt5制作一个超简单浏览器的实例
2017/10/19 Python
python selenium 查找隐藏元素 自动播放视频功能
2019/07/24 Python
python实现邮件发送功能
2019/08/10 Python
numpy.random.shuffle打乱顺序函数的实现
2019/09/10 Python
python内置模块collections知识点总结
2019/12/19 Python
Python变量、数据类型、数据类型转换相关函数用法实例详解
2020/01/09 Python
基于python修改srt字幕的时间轴
2020/02/03 Python
树莓派4B安装Tensorflow的方法步骤
2020/07/16 Python
CSS3不透明度实例讲解
2016/04/26 HTML / CSS
印度尼西亚在线时尚购物网站:ZALORA印尼
2016/08/02 全球购物
美国最大的宠物药店:1-800-PetMeds
2016/10/02 全球购物
Jabra捷波朗美国官网:用于办公、车载和运动的无线蓝牙耳麦
2017/02/01 全球购物
丑小鸭教学反思
2014/02/03 职场文书
小学生操行评语
2014/04/22 职场文书
2014年新教师工作总结
2014/11/08 职场文书
写作技巧:怎样写好一份优秀工作总结?
2019/08/14 职场文书
2019年冬至:天冷暖人心的问候祝福语大全
2019/12/20 职场文书