Python 屏幕自动化,操控剪贴板在输入框中填写中文
Posted songofhawk
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python 屏幕自动化,操控剪贴板在输入框中填写中文相关的知识,希望对你有一定的参考价值。
使用pyautogui做屏幕自动化的时候,发现没法用write方法在输入框中输入中文——想想也有道理,毕竟write只是对键盘操作的封装,而键盘能输入什么内容,完全取决于输入法;但如果想输入点东西,还要先操作切换输入法,实在太复杂了,所以就想用剪贴板的复制粘贴来实现。
然而pyautogui并没有操控剪贴板的api,可能是觉得其他库已经做得很好了吧。这个其他库就是pyperclip。
(搜索的时候还发现了另外一个名字更像的库,叫做clipboard,然而已经n年前就不维护了——项目主页上写着:“我刚刚做完这个项目,就看到pyperclip已经实现了所有功能,好吧,我这个名字更贴切,大家自由选择吧”。哈哈哈,心疼作者10秒钟。)
pyperclip的使用非常简单,常用方法就是copy和paste两个。经测试,剪贴板内容可以完美支持中文。示例如下:
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\')
以上是关于Python 屏幕自动化,操控剪贴板在输入框中填写中文的主要内容,如果未能解决你的问题,请参考以下文章