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实现探测socket和web服务示例
Mar 28 Python
python简单程序读取串口信息的方法
Mar 13 Python
Python3使用requests登录人人影视网站的方法
May 11 Python
Python切片工具pillow用法示例
Mar 30 Python
详解Python3中setuptools、Pip安装教程
Jun 18 Python
使用Python的networkx绘制精美网络图教程
Nov 21 Python
python 解决cv2绘制中文乱码问题
Dec 23 Python
Python中filter与lambda的结合使用详解
Dec 24 Python
Python实现不规则图形填充的思路
Feb 02 Python
Anaconda和ipython环境适配的实现
Apr 22 Python
浅谈keras中的keras.utils.to_categorical用法
Jul 02 Python
Python如何实现自带HTTP文件传输服务
Jul 08 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_fetch_assoc和mysql_fetch_row的功能加起来就是mysql_fetch_array
2007/01/15 PHP
PHP关联数组的10个操作技巧
2013/01/21 PHP
php中3种方法删除字符串中间的空格
2014/03/10 PHP
php生成短网址示例
2014/05/05 PHP
js+php实现静态页面实时调用用户登陆状态的方法
2015/01/04 PHP
php使用memcoder将视频转成mp4格式的方法
2015/03/12 PHP
php计算给定日期所在周的开始日期和结束日期示例
2017/02/06 PHP
jquery ajax abort()的使用方法
2010/10/28 Javascript
jquery异步跨域访问代码
2013/06/28 Javascript
js换图片效果可进行定时操作
2014/06/09 Javascript
javascript实现炫酷的拖动分页
2015/05/11 Javascript
原生js实现图片放大缩小计时器效果
2017/01/20 Javascript
JavaScript中使用webuploader实现上传视频功能(demo)
2017/04/10 Javascript
详解微信小程序 template添加绑定事件
2017/06/23 Javascript
vue项目打包后打开页面空白解决办法
2018/06/29 Javascript
微信小程序入门之广告条实现方法示例
2018/12/05 Javascript
vue 基于element-ui 分页组件封装的实例代码
2018/12/10 Javascript
微信小程序自定义模态弹窗组件详解
2019/12/24 Javascript
vuejs element table 表格添加行,修改,单独删除行,批量删除行操作
2020/07/18 Javascript
python 切片和range()用法说明
2013/03/24 Python
Python fileinput模块使用实例
2015/06/03 Python
Python中列表和元组的使用方法和区别详解
2020/12/30 Python
Python进度条实时显示处理进度的示例代码
2018/01/30 Python
tensorflow实现简单的卷积神经网络
2018/05/24 Python
浅析Python 引号、注释、字符串
2019/07/25 Python
python怎么提高计算速度
2020/06/11 Python
Python Tricks 使用 pywinrm 远程控制 Windows 主机的方法
2020/07/21 Python
python实现三种随机请求头方式
2021/01/05 Python
Bally巴利英国官网:经典瑞士鞋履、手袋及配饰奢侈品牌
2018/05/07 全球购物
若通过ObjectOutputStream向一个文件中多次以追加方式写入object,为什么用ObjectInputStream读取这些object时会产生StreamCorruptedException?
2016/10/17 面试题
西安交大自主招生自荐信
2014/01/27 职场文书
运动会通讯稿150字
2014/02/15 职场文书
低碳日宣传活动总结
2014/07/09 职场文书
运动会表扬稿范文
2015/05/05 职场文书
Python面向对象之内置函数相关知识总结
2021/06/24 Python