Python 获取剪切板内容的两种实现方式

周叙
周叙
发布时间:2026-10-15 | 4人浏览过
原创

本文介绍在 Windows 环境下使用 Python 获取和设置剪切板内容的两种方法。第一种通过 win32clipboard 直接读取文本;第二种封装为类并模拟 Ctrl+V 粘贴操作,适用于需要结合键盘模拟的自动化场景。

直接读取剪贴板内容

第一种方法主要利用 win32clipboard 库直接读取剪切板中的文本数据。该方法适用于仅需获取当前剪贴板内容的场景,代码逻辑相对简单,直接调用相关 API 即可完成读取操作。


# -*- coding: utf-8 -*-
# @Time : 2020/3/16 21:26
# @File : get_text_from_cupboard_13.py
# @Author: Hero Liu
# python读取剪切板内容
import win32clipboard as w
import win32con


def get_text():
  w.OpenClipboard()
  d = w.GetClipboardData(win32con.CF_TEXT)
  w.CloseClipboard()
  return d.decode('GBK')


def set_text(aString):
  w.OpenClipboard()
  w.EmptyClipboard()
  w.SetClipboardData(win32con.CF_TEXT, aString)
  w.CloseClipboard()


# 读取剪切板内容
ss = get_text()

模拟粘贴操作实现数据写入

第二种方法则侧重于将数据写入剪贴板后,通过模拟键盘按键(如 Ctrl+V)来触发目标应用的粘贴行为。这种方式常用于自动化测试或需要精确控制粘贴时机的场景,确保内容能正确输入到指定控件中。

具体需求是将目标值先写入粘贴板,然后模拟键盘的 Ctrl+V 获取已写入粘贴板的内容。

实现该功能所需的文件包括:ClipboardUtil.py 用于封装剪贴板操作工具类,TestSendMain.py 用于执行具体的测试逻辑。

ClipboardUtil.py 文件的内容如下,展示了如何封装读取和设置剪贴板的功能:


# -*- coding: utf-8 -*-
#用于实现将数据设置到剪贴板中

import win32clipboard as w
import win32con

class Clipboard():
  """
  模拟Windows设置剪贴板
  """
  # 读取剪贴板
  @staticmethod
  def getText():
    # 打开剪贴板
    w.OpenClipboard()
    # 读取剪贴板中的数据
    d = w.GetClipboardData(win32con.CF_UNICODETEXT)
    # 关闭剪贴板
    w.CloseClipboard()
    # 将读取的数据返回,提供给调用者
    return d

  # 设置剪贴板内容
  @staticmethod
  def setText(aString):
    # 打开剪贴板
    w.OpenClipboard()
    # 清空剪贴板
    w.EmptyClipboard()
    # 将数据astring写入剪贴板中
    w.SetClipboardData(win32con.CF_UNICODETEXT,aString)
    # 关闭剪贴板
    w.CloseClipboard()

TestSendMain.py 文件的内容如下,演示了如何调用工具类并模拟键盘操作:


# 导入ClipboardUtil 文件
from util.ClipboardUtil import Clipboard
  # 调用setText设置剪贴板内容
  Clipboard.setText("D:\Test_Clas\KeyWordDriverWork\ceshi1.jpg")
  # 从剪贴板获取刚才设置到剪贴板的内容
  Clipboard.getText()
  # 操作需要输入粘贴板内容的标签
  getElement(driver,"xpath","//span[text()='点击上传']").click()
  time.sleep(1)
  # 模拟键盘组合键Ctrl+v将剪贴板的内容复制到搜索输入框中
  KeyboardKeys.twoKeys("ctrl","v")
  # 模拟enter键来点击确认按钮
  KeyboardKeys.onekey("enter")

以上就是 python 获取剪切板内容的两种方法的详细内容,更多关于python 剪切板的资料请关注本站其它相关文章!

相关标签:

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表