当前位置:   article > 正文

[python]python 获取剪切板内容的两种方法_python 提取剪贴板

python 提取剪贴板

第一种

  1. # -*- coding: utf-8 -*-
  2. # @Time : 2020/3/16 21:26
  3. # @File : get_text_from_cupboard_13.py
  4. # @Author: Hero Liu
  5. # python读取剪切板内容
  6. import win32clipboard as w
  7. import win32con
  8. def get_text():
  9. w.OpenClipboard()
  10. d = w.GetClipboardData(win32con.CF_TEXT)
  11. w.CloseClipboard()
  12. return d.decode('GBK')
  13. def set_text(aString):
  14. w.OpenClipboard()
  15. w.EmptyClipboard()
  16. w.SetClipboardData(win32con.CF_TEXT, aString)
  17. w.CloseClipboard()
  18. # 读取剪切板内容
  19. ss = get_text()

第二种

待实现需求:将目标值先写入粘贴板、然后模拟键盘的Ctrl+V获取已写入粘贴板的内容。

所需的文件:ClipboardUtil.py、TestSendMain.py

ClipboardUtil.py文件的内容:

  1. # -*- coding: utf-8 -*-
  2. #用于实现将数据设置到剪贴板中
  3. import win32clipboard as w
  4. import win32con
  5. class Clipboard():
  6. """
  7. 模拟Windows设置剪贴板
  8. """
  9. # 读取剪贴板
  10. @staticmethod
  11. def getText():
  12. # 打开剪贴板
  13. w.OpenClipboard()
  14. # 读取剪贴板中的数据
  15. d = w.GetClipboardData(win32con.CF_UNICODETEXT)
  16. # 关闭剪贴板
  17. w.CloseClipboard()
  18. # 将读取的数据返回,提供给调用者
  19. return d
  20. # 设置剪贴板内容
  21. @staticmethod
  22. def setText(aString):
  23. # 打开剪贴板
  24. w.OpenClipboard()
  25. # 清空剪贴板
  26. w.EmptyClipboard()
  27. # 将数据astring写入剪贴板中
  28. w.SetClipboardData(win32con.CF_UNICODETEXT,aString)
  29. # 关闭剪贴板
  30. w.CloseClipboard()

TestSendMain.py文件的内容:

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

 

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/喵喵爱编程/article/detail/886909
推荐阅读
相关标签
  

闽ICP备14008679号