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
浅谈pycharm的xmx和xms设置方法
Dec 03 Python
python Tkinter版学生管理系统
Feb 20 Python
详解Ubuntu16.04安装Python3.7及其pip3并切换为默认版本
Feb 25 Python
Python3中列表list合并的四种方法
Apr 19 Python
python 3.6.7实现端口扫描器
Sep 04 Python
wxpython实现按钮切换界面的方法
Nov 19 Python
python list数据等间隔抽取并新建list存储的例子
Nov 27 Python
Django自带的加密算法及加密模块详解
Dec 03 Python
10行Python代码实现Web自动化管控的示例代码
Aug 14 Python
基于pycharm 项目和项目文件命名规则的介绍
Jan 15 Python
使用Python的开发框架Brownie部署以太坊智能合约
May 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 实现代码复用的一个方法 traits新特性
2015/02/22 PHP
PHP实现微信小程序人脸识别刷脸登录功能
2018/05/24 PHP
Javascript 中的类和闭包
2010/01/08 Javascript
用js模拟JQuery的show与hide动画函数代码
2010/09/20 Javascript
javascript中的遍历for in 以及with的用法
2014/12/22 Javascript
javascript修改图片src的方法
2015/01/27 Javascript
jQuery实现div拖拽效果实例分析
2016/02/20 Javascript
js 连续赋值的简单实现
2016/06/13 Javascript
详解jQuery插件开发方式
2016/11/22 Javascript
全面解析vue中的数据双向绑定
2017/05/10 Javascript
JS利用正则表达式实现简单的密码强弱判断实例
2017/06/16 Javascript
vue-router 导航钩子的具体使用方法
2017/08/31 Javascript
微信小程序报错:this.setData is not a function的解决办法
2017/09/27 Javascript
vue弹窗组件的实现示例代码
2018/09/10 Javascript
VUE-cli3使用 svg-sprite-loader
2018/10/20 Javascript
简单实现vue中的依赖收集与响应的方法
2019/02/18 Javascript
微信小程序事件 bindtap bindinput代码实例
2019/08/26 Javascript
Vue.js组件通信之自定义事件详解
2019/10/19 Javascript
vue中使用GraphQL的实例代码
2019/11/04 Javascript
文章或博客自动生成章节目录索引(支持三级)的实现代码
2020/05/10 Javascript
vue3+typescript实现图片懒加载插件
2020/10/26 Javascript
Python多线程实例教程
2014/09/06 Python
Python编程实现二分法和牛顿迭代法求平方根代码
2017/12/04 Python
pandas 选择某几列的方法
2018/07/03 Python
Python列表生成式与生成器操作示例
2018/08/01 Python
将Python字符串生成PDF的实例代码详解
2019/05/17 Python
解决python3插入mysql时内容带有引号的问题
2020/03/02 Python
Python GUI编程学习笔记之tkinter界面布局显示详解
2020/03/30 Python
北美个性化礼品商店:Things Remembered
2018/06/12 全球购物
焊接专业毕业生求职信
2013/10/01 职场文书
简历中自我评价怎么写
2014/02/12 职场文书
党的群众路线教育实践活动个人对照检查剖析材料
2014/09/23 职场文书
酒店管理专业毕业生自我鉴定
2014/09/29 职场文书
小学语文教学反思范文
2016/03/03 职场文书
Python实战之实现简易的学生选课系统
2021/05/25 Python
利用 JavaScript 构建命令行应用
2021/11/17 Javascript