pyautogui自动化控制鼠标和键盘操作的步骤

 更新时间:2020年04月01日 09:49:06   作者:灵动的艺术  
这篇文章主要介绍了pyautogui自动化控制鼠标和键盘操作的步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

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')

option

#pyautogui.confirm('Shall I proceed?')
pyautogui.confirm('Enter option.', buttons=['A', 'B', 'C'])

password

a = pyautogui.password('Enter password (text will be hidden)')
print(a)

prompt

a = pyautogui.prompt('input message')
print(a)

截屏

整个屏幕截图并保存

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 控制鼠标和键盘内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • pycharm配置安装autopep8自动规范代码的实现

    pycharm配置安装autopep8自动规范代码的实现

    这篇文章主要介绍了pycharm配置安装autopep8自动规范代码的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-03-03
  • 详解python中的json的基本使用方法

    详解python中的json的基本使用方法

    本篇文章主要介绍了python中的json的基本使用方法,在Python中使用json的时候,主要也就是使用json模块,json是以一种良好的格式来进行数据的交互,有兴趣的可以了解一下。
    2016-12-12
  • Python Pandas 删除列操作

    Python Pandas 删除列操作

    这篇文章主要介绍了Python Pandas 删除列操作,主要操作使用del和drop方法删除DataFrame中的列,使用drop方法一次删除多列,需要的朋友可以参考一下
    2022-03-03
  • Python使用future处理并发问题方案详解

    Python使用future处理并发问题方案详解

    从Python3.2引入的concurrent.futures模块,Python2.5以上需要在pypi中安装futures包。future指一种对象,表示异步执行的操作。这个概念的作用很大,是concurrent.futures模块和asyncio包的基础
    2023-02-02
  • 详解Python之unittest单元测试代码

    详解Python之unittest单元测试代码

    本篇文件主要介绍了详解Python之unittest测试代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-01-01
  • Python如何实现逐行读取文本文件

    Python如何实现逐行读取文本文件

    在Python中,有几种方法可以读取文本文件。在本文中,将介绍以下几种方法:open() 函数、read() 方法、readline() 方法、readlines() 方法、close() 方法和 with 关键字。需要的同学可以参考一下
    2021-12-12
  • 如何利用Matplotlib库绘制动画及保存GIF图片

    如何利用Matplotlib库绘制动画及保存GIF图片

    这篇文章主要给大家介绍了关于如何利用Matplotlib库绘制动画及保存GIF图片的相关资料,matplotlib模块提供了很高级和非常友好的使用方式,使用起来也是非常方便的,需要的朋友可以参考下
    2021-06-06
  • Python网络爬虫信息提取mooc代码实例

    Python网络爬虫信息提取mooc代码实例

    这篇文章主要介绍了python网络爬虫与信息提取mooc,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-03-03
  • tensorflow 只恢复部分模型参数的实例

    tensorflow 只恢复部分模型参数的实例

    今天小编就为大家分享一篇tensorflow 只恢复部分模型参数的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-01-01
  • 浅谈python数据结构之动态规划

    浅谈python数据结构之动态规划

    这篇文章主要介绍了浅谈python数据结构之动态规划,可能很多小伙伴会觉得这个词很陌生,觉得这是一种很复杂的思想,学习起来很困难,其实并不是这样,动态规划所讲述的知识与动态与规划并无太大关联,需要的朋友可以参考下
    2023-07-07

最新评论