当前位置: 代码网 > it编程>前端脚本>Python > Python实现自动化调用鼠标和键盘

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

2025年07月18日 Python 我要评论
自动化鼠标,键盘调用程序用到的模块是pyautogui。pyautogui是一个python第三方库,用于自动化gui操作。它可以模拟鼠标和键盘的操作,以及屏幕截图和图像识别等功能。通过pyautog

自动化鼠标,键盘调用程序用到的模块是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调用鼠标和键盘内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com