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

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

本文介绍在 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 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。