使用pyautogui做屏幕自动化的时候,发现没法用write方法在输入框中输入中文——想想也有道理,毕竟write只是对键盘操作的封装,而键盘能输入什么内容,完全取决于输入法;但如果想输入点东西,还要先操作切换输入法,实在太复杂了,所以就想用剪贴板的复制粘贴来实现。

然而pyautogui并没有操控剪贴板的api,可能是觉得其他库已经做得很好了吧。这个其他库就是pyperclip

(搜索的时候还发现了另外一个名字更像的库,叫做clipboard,然而已经n年前就不维护了——项目主页上写着:“我刚刚做完这个项目,就看到pyperclip已经实现了所有功能,好吧,我这个名字更贴切,大家自由选择吧”。哈哈哈,心疼作者10秒钟。)

pyperclip的使用非常简单,常用方法就是copypaste两个。经测试,剪贴板内容可以完美支持中文。示例如下:

import pyperclip as pc
x = "这是一段要复制粘贴的文本"
pc.copy(x)
a = pc.paste()
print(a)

Output:

这是一段要复制粘贴的文本

库的安装命令是 pip install pyperclip

注意:这个paste方法,用途并不是把剪贴板内容粘贴到当前输入框,而是“粘贴”为一个字符串变量。。。这是个伪粘贴!所以为了真正粘到输入框,还得借助pyautogui中的hotkey方法:
import pyperclip as pc
import pyautogui as auto

x = "这是一段要复制粘贴的文本"
pc.copy(x)
auto.hotky('ctrl','v')

songofhawk
303 声望24 粉丝