首页 > 解决方案 > 将突出显示的文本复制到剪贴板,然后使用剪贴板将其附加到列表中

问题描述

我正在尝试使用 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()什么样子的呢?谢谢您的帮助。

标签: pythonpython-3.xpyautogui

解决方案


键盘组合Ctrl+C处理复制大多数应用程序中突出显示的内容,并且应该适合您。这部分很容易使用pyautogui. 为了以编程方式获取剪贴板内容,正如其他人所提到的,您可以使用 、 或其他库来实现ctypespywin32。在这里我选择了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)

推荐阅读