大家好,今天分享一套基于pyautogui+pyperclip实现桌面键鼠自动化的 Python 小案例。本文仅从编程学习角度拆解自动化模拟鼠标、剪贴板、键盘快捷键的底层逻辑,完整拆解每行代码的作用与背后知识点。技术仅用于学习:本案例演示自动化操作逻辑,请勿对他人造成影响。

        接下来我会逐行拆解代码,梳理涉及的 Python 基础、第三方库 API、屏幕坐标原理、键鼠模拟机制等全套知识点,同时区分容易混淆的hotkey()press()按键函数差异,零基础也能看懂。


一.完整源码展示

 

import pyperclip
import pyautogui
for i in range(10):
    pyautogui.moveTo(x=278,y=1068,duration=0.5)
    pyautogui.click()
    pyperclip.copy("内容")
    pyautogui.hotkey("ctrl","v")
    #pyautogui.hotkey("enter")
    #pyautogui.press("enter")
    pyautogui.moveTo(x=840,y=1142,duration=0.5)
    pyautogui.click()

二、环境部署准备

1.项目用到的第三方库功能介绍

(1) pyautogui 核心键鼠自动化库,能够模拟系统层面的鼠标移动、单击、键盘组合快捷键,程序可向操作系统发送虚拟键鼠指令,复刻人手操作电脑的行为。

(2) pyperclip 系统剪贴板操作专用库,负责读写电脑剪贴板文本。之所以搭配它实现文字输入,是因为 pyautogui 直接输入中文容易出现乱码,通过复制粘贴的方式可以完美兼容中文内容。

2.pip 一键安装依赖命令(打开系统命令提示符(CMD)或终端,执行下方指令一次性安装两个所需库)

   

pip install pyautogui pyperclip

3.获取屏幕坐标的实操方法

        如图1-1,打开微信,点击剪切板(小剪刀图像),此时可以挪动鼠标去获得空白输出区域的位置坐标(如图1-2中 278,1078)

                                   图1-1                                                               图1-2                       

三、逐行代码拆解与配套知识点精讲

1.模块导入语句讲解(import 库名:意为导入某个你需要使用的库)

1.pyperclip:这个库在该程序里主要使用.copy()来写入需要输出内容,copy就是复制的意思,这一行相当于我们平时的ctrl+c,唯一区别就是它确定复制copy里的内容(要记得用""包裹哦~),它可以解决 pyautogui 直接打字中文乱码的问题,是自动化输入中文的通用方案;

import pyperclip
pyperclip.copy("某内容~")

2.pyautogui:该库负责模拟真人鼠标、键盘操作,每一行 API 功能后面分段详细拆解。如①.moveTo(x= ,y= ,duration= ):可以自动移动我们的鼠标到指定位置(搭配坐标使用)   

②.click():可以点击鼠标,为后续粘贴内容做准备 

③.hotkey():是用于执行多键组合快捷键,案例中的代码实际执行顺序:先按住 ctrl → 按下 v → 同时松开两个按键,完美模拟粘贴操作。(可包含单个键)

④.press():专门用于单个按键敲击,逻辑为按下立刻松开,适合回车、空格、删除等单键场景,简洁高效;

使用:虽然单个键时也可用hotkey()实现,但还是最推荐多键复制粘贴用 hotkey,单独回车发送直接用 press。

import pyautogui
pyautogui.moveTo(x=278,y=1068,duration=0.5)
pyautogui.click()
pyautogui.hotkey("ctrl","v")
#pyautogui.hotkey("enter")
#pyautogui.press("enter")
pyautogui.moveTo(x=840,y=1142,duration=0.5)
pyautogui.click()

2.循环控制逻辑解析

1.for 循环 +range 函数用法

        for i in range(10):

        range: 是 Python 内置函数,作用:生成一段连续的整数数字序列,专门配合 for 循环控制重复执行次数。

        (重复执行下面缩进里的所有代码,一共执行 10 轮:本案例里用于发送消息)

2.Python 缩进代码块规则

        只有缩进在for下方的代码,才属于循环内部,会重复运行; 没有缩进的代码,只会从头到尾只运行 1 次。(无论是什么时候都一定要注意自己代码的缩进正确哦~)

3.剪贴板文本处理逻辑

如1所说pyperclip 复制文本粘贴方案解决了中文输入乱码原因

四、总结

1. Python 基础知识点

  1. import 导入第三方库语法
  2. for + range () 控制循环执行次数
  3. 缩进决定代码归属循环,缩进错误逻辑会完全失效
  4. 单行注释用法

2. 库核心用法

     1.pyautogui:模拟鼠标移动点击、键盘按键;hotkey 用于组合键,press 用于单个按键

     2.pyperclip:操作剪贴板,解决中文输入乱码

3. 底层常识

        屏幕像素坐标定位按钮、系统剪贴板读写、程序模拟键鼠操作。

4. 避坑要点

        统一使用英文符号,运行前安装依赖,坐标需自行采集;脚本仅作学习,禁止恶意骚扰他人。

5. 拓展方向

        该自动化逻辑可用于办公重复录入,可增加延时、图像识别优化脚本。

五、后续:下一篇文章将使用pyautogui完成一些简单小游戏的自动化

        大家学习了这部分内容是否对自动化方面有一些启发呢,有什么问题可以在评论问我哦

 

Logo

小龙虾开发者社区是 CSDN 旗下专注 OpenClaw 生态的官方阵地,聚焦技能开发、插件实践与部署教程,为开发者提供可直接落地的方案、工具与交流平台,助力高效构建与落地 AI 应用

更多推荐