Python 获取剪切板内容的两种实现方式
本文介绍在 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 剪切板的资料请关注本站其它相关文章!
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













