Python实现自动化调用鼠标和键盘

 更新时间:2025年07月18日 10:14:23   作者:心一信息  
这篇文章主要为大家详细介绍了如何使用Python实现自动化调用鼠标和键盘,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下

自动化鼠标,键盘调用程序用到的模块是pyautogui。

pyautogui是一个Python第三方库,用于自动化GUI操作。它可以模拟鼠标和键盘的操作,以及屏幕截图和图像识别等功能。通过pyautogui,用户可以编写脚本来自动化一些重复性的任务,例如自动化测试、数据录入、图像处理等。

pyautogui支持跨平台,可以在Windows、macOS和Linux等操作系统上运行。它还提供了丰富的API,包括鼠标和键盘操作、屏幕截图、图像识别、定时器等功能,可以满足大部分自动化需求。

写一个简单的示例程序,实现鼠标定位在屏幕中央和点击的效果:

  • import pyautogui
  • pyautogui.moveTo(pyautogui.size().width / 2,
  • pyautogui.size().height / 2)
  • pyautogui.click()

和以前一样,需要在终端里下载模块:pip install pyautogui

程序源码如下:

import pyautogui
import time

# 设置绘图区域的大小和位置
x, y = 150, 150
width, height = 500, 500

# 设置绘制的图形的颜色和线条宽度
color = 'blue'
thickness = 5

# 获取屏幕的大小
screenWidth, screenHeight = pyautogui.size()

# 点击屏幕上的指定位置打开绘图软件
pyautogui.click(x, y)

# 等待绘图软件加载完成
time.sleep(1)

# 将鼠标移动到绘图区域的左上角
pyautogui.moveTo(x, y)

# 按下鼠标左键并拖动到绘图区域的右上角
pyautogui.dragTo(x + width, y, duration=0.5, button='left')

# 拖动到绘图区域的右下角
pyautogui.dragTo(x + width, y + height, duration=0.5, button='left')

# 拖动到绘图区域的左下角
pyautogui.dragTo(x, y + height, duration=0.5, button='left')

# 拖动回绘图区域的左上角,形成一个闭合图形
pyautogui.dragTo(x, y, duration=0.5, button='left')

我们运行试一下效果,实现鼠标定位和拖拽效果,具有条件的同学可以尝试一下。

再写一个键盘调用的程序:

import pyautogui
import time

# 打开记事本应用程序
pyautogui.hotkey('win', 'r')
pyautogui.typewrite('notepad')
pyautogui.press('enter')

# 等待记事本应用程序打开
time.sleep(2)

# 打出英文名言,记得将输入法切换为英文。
pyautogui.typewrite('To be, or not to be: that is the question.\nAsk not what your country can do for you, \nask what you can do for your country.\nI am the master of my fate,\n I am the captain of my soul.\n')

# 保存文件
pyautogui.hotkey('ctrl', 's')
time.sleep(2)
pyautogui.typewrite('test')
pyautogui.press('enter')

# 关闭记事本应用程序
pyautogui.hotkey('alt', 'f4')

方法补充

Python PyAutoGUI 控制鼠标、键盘和屏幕操作

1. 鼠标控制

import pyautogui
 
# 获取屏幕尺寸
screen_width, screen_height = pyautogui.size()
 
# 绝对坐标移动
pyautogui.moveTo(500, 300, duration=0.5)  # 移动到(500,300)
 
# 相对移动
pyautogui.move(100, -50)  # 右移100px, 上移50px
 
# 点击操作
pyautogui.click()                   # 左键单击
pyautogui.rightClick(600, 400)      # 右键点击指定位置
pyautogui.doubleClick()             # 左键双击
 
# 拖拽操作
pyautogui.dragTo(800, 600, button='left')  # 拖拽到目标位置
pyautogui.drag(0, 200, duration=1)        # 垂直向下拖拽

2. 键盘操作

# 文本输入
pyautogui.write('Hello@世界!', interval=0.1)  # 支持Unicode
 
# 按键操作
pyautogui.press('enter')          # 按回车键
pyautogui.press(['tab', 'space']) # 按多个键
 
# 组合快捷键
pyautogui.hotkey('ctrl', 'c')     # 复制
pyautogui.hotkey('ctrl', 'shift', 'esc')  # 打开任务管理器
 
# 长按操作
pyautogui.keyDown('shift')        # 按住Shift
pyautogui.press('4')              # 输入$符号
pyautogui.keyUp('shift')          # 释放Shift

3. 屏幕处理

# 全屏截图
pyautogui.screenshot('fullscreen.png')
 
# 区域截图
region = (100, 100, 500, 300)  # (x, y, width, height)
pyautogui.screenshot('area.png', region=region)
 
# 像素分析
color = pyautogui.pixel(500, 300)  # 获取(500,300)处RGB值
if color == (255, 0, 0):
    print("检测到红色像素")
 
# 图像识别(需OpenCV)
try:
    # 定位图像中心点
    x, y = pyautogui.locateCenterOnScreen('button.png', confidence=0.9)
    pyautogui.click(x, y)
except pyautogui.ImageNotFoundException:
    print("未找到目标图像")

到此这篇关于Python实现自动化调用鼠标和键盘的文章就介绍到这了,更多相关Python调用鼠标和键盘内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python实现两个list求交集,并集,差集的方法示例

    Python实现两个list求交集,并集,差集的方法示例

    这篇文章主要介绍了Python实现两个list求交集,并集,差集的方法,结合实例形式分析了Python使用intersection、union及difference方法实现两个集合list的交集、并集与差集操作技巧,需要的朋友可以参考下
    2018-08-08
  • PyTorch使用tensorboard的SummaryWriter报错问题解决方案

    PyTorch使用tensorboard的SummaryWriter报错问题解决方案

    PyTorch使用tensorboard可以显示网络运行情况,但偶尔使用SummaryWriter时遇到Segmentation fault错误,这篇文章主要介绍了PyTorch使用tensorboard的SummaryWriter报错问题解决方案,需要的朋友可以参考下
    2024-06-06
  • python实现录屏功能(亲测好用)

    python实现录屏功能(亲测好用)

    这篇文章主要介绍了使python实现录屏功能(亲测好用),本文通过实例代码给大家介绍的非常详细,对大家的工作或学习具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-03-03
  • 一文详细介绍numpy在python中的用法

    一文详细介绍numpy在python中的用法

    这篇文章主要介绍了numpy在python中的用法,NumPy是Python科学计算库,主要用于处理大型多维数组和矩阵运算,它提供了多种函数进行数组操作,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2025-01-01
  • python排序算法之归并排序

    python排序算法之归并排序

    这篇文章主要介绍了python排序算法之归并排序,归并排序算法就是一个先把数列拆分为子数列,对子数列进行排序后,再把有序的子数列合并为完整的有序数列的算法,需要的朋友可以参考下
    2023-04-04
  • Python----数据预处理代码实例

    Python----数据预处理代码实例

    这篇文章主要介绍了Python数据预处理,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-03-03
  • 纯numpy数值微分法实现手写数字识别

    纯numpy数值微分法实现手写数字识别

    本文主要介绍了纯numpy数值微分法实现手写数字识别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-08-08
  • python set()去重的底层原理及实例

    python set()去重的底层原理及实例

    python中集合set是一个无序不重复元素的集,基本功能包括关系测试和消除重复元素,还可以计算交集、差集、并集等,它与列表(list)的行为类似,这篇文章主要介绍了python set()去重的底层原理,需要的朋友可以参考下
    2022-01-01
  • Python+threading模块对单个接口进行并发测试

    Python+threading模块对单个接口进行并发测试

    这篇文章主要为大家详细介绍了Python+threading模块对单个接口进行并发测试,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-06-06
  • 一文带你了解Python列表生成式应用的八重境界

    一文带你了解Python列表生成式应用的八重境界

    在Python中有非常多且好用的技巧,其中使用最多的是列表生成式,往往可以将复杂的逻辑用简单的语言来实现,本文重点介绍列表生成式应用的八重境界
    2022-09-09

最新评论