我正在尝试使用适用于Python 3(Windows 10)的pyautogui模块自动化浏览器或文字处理器中的某些操作。
浏览器中有一个突出显示的文本。

以下脚本应打印突出显示的文本

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可以轻松实现这一部分。如其他人所提到的,要以编程方式获取剪贴板内容,可以使用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)

10-04 20:39