Python 桌面自动化操作指南
本文分享一套基于 Python 语言的自动化操作流程解决方案,涉及 pyautogui、pyperclip、pythoncom、win32com 依赖包。安装命令如下:
pip install pyautogui
pip install pyperclip
pip install pythoncom
pip install pywin32
核心模块说明
- pyautogui:自动化控制鼠标和键盘的 Python 模块。可执行移动光标、单击(左/右/中键)、截图、图像识别、获取鼠标位置等任务。
- pyperclip:在不同应用程序之间复制和粘贴文本数据,适用于不支持 Ctrl+C/V 操作的界面。
- pythoncom:允许 Python 程序与 COM 对象交互,实现创建、访问、调用(如访问 Microsoft Office 文档、操作 Windows 注册表)。
- win32com:与 pythoncom 类似,但提供更高级的功能和更易用的接口。
自动化操作流程实现
自动化流程类似于 RPA 机器人,首先需人工记录关键点击节点或操作步骤并截图保存。基于截图进行图像比对和相对坐标计算,模拟鼠标点击或键盘输入。
1. 窗口置顶处理
在模拟操作过程中,需确保目标应用程序始终为置顶状态,避免弹窗覆盖。以下代码获取当前所有应用程序句柄并找到待操作对象的句柄 hwnd,将其置顶。
import win32gui
import pythoncom
import win32com.client
import time
hwnd_title = {}
def get_all_hwnd(hwnd, hwnd_list):
if win32gui.IsWindowVisible(hwnd):
title = win32gui.GetWindowText(hwnd)
if title:
hwnd_title[hwnd] = title
hwnd_list.append(hwnd)
# 获取所有窗口句柄
hwnd_list = []
win32gui.EnumWindows(get_all_hwnd, hwnd_list)
for h, t in hwnd_title.items():
print(f"[{h}] {t}")
def setFront(hwnd):
pythoncom.CoInitialize()
shell = win32com.client.Dispatch("WScript.Shell")
# 使用 Alt+Tab 切换回前台(视具体场景调整)
shell.SendKeys('%')
win32gui.SetForegroundWindow(hwnd)
time.sleep(0.2)
pythoncom.CoUninitialize()


