python - 将突出显示的文本复制到剪贴板,然后使用剪贴板将其附加到列表中
问题描述
我正在尝试使用 Python 3(Windows 10)的 pyautogui 模块在浏览器或文字处理器中自动执行一些操作。
浏览器中有一个突出显示的文本。
text
以下脚本应打印突出显示的文本
import pyautogui as pya
# double clicks on a position of the cursor
pya.doubleClick(pya.position())
list = []
# a function copy_clipboard() should be called here
var = copy_clipboard()
list.append(var)
print(list)
输出应该是:
[text]
那么函数应该是copy_clipboard()
什么样子的呢?谢谢您的帮助。
解决方案
键盘组合Ctrl+C处理复制大多数应用程序中突出显示的内容,并且应该适合您。这部分很容易使用pyautogui
. 为了以编程方式获取剪贴板内容,正如其他人所提到的,您可以使用 、 或其他库来实现ctypes
它pywin32
。在这里我选择了pyperclip
:
import pyautogui as pya
import pyperclip # handy cross-platform clipboard text handler
import time
def copy_clipboard():
pya.hotkey('ctrl', 'c')
time.sleep(.01) # ctrl-c is usually very fast but your program may execute faster
return pyperclip.paste()
# double clicks on a position of the cursor
pya.doubleClick(pya.position())
list = []
var = copy_clipboard()
list.append(var)
print(list)
推荐阅读
- python - 如何为每 x 行数据运行特定部分的代码?
- api - Foursquare API 仅限城市
- python - 删除放大器;在列表中
- vuejs2 - Vuejs:vuelidate 条件验证
- python - 如何导入第 3 方 python 库以与胶水 python shell 脚本一起使用
- mysql - 如何在中间使用查询字符串?内克斯
- asp.net - Sentry/NLog 集成不记录到 Sentry
- javascript - 检查 div 是否为空,并将另一个 div 的内容显示为字符串
- python - 在 python 中将 .doc 文件转换为 .docx 文件的快速方法
- c# - MultiColumnComboBox 中的 SelectedItem 为 Null