python模拟输入文本内容(打破复制粘贴限制)

在日常学习生活中,因为受到一些限制,无法在输入框进行文本的复制粘贴,这时我们便需要模拟键盘输入一些文本内容,话不多说,直接上干货(文末附成品工具)

1.首先需要用到的模块如下,安装pywin32,pynput库

pip install pywin32
pip install pynput

2.下面导入模块

from time import sleep
from pynput.keyboard import Controller
import win32clipboard as w
import win32con

3.主体代码参考了热心网友给的思路,进行了内容添加与改进,当然本人学习python的时间不长,代码结构也需要优化,代码如下

def get_text():
    global legal
    w.OpenClipboard()
    try:
        d = w.GetClipboardData(win32con.CF_TEXT)
        legal = 1
    except:
        print("=====================剪切板内容含图片等非文字!!!=====================")
        print("=========================请重新复制后再粘贴=========================")
        print()
        print()
        legal = 0
    w.CloseClipboard()
    if legal == 1:
         return d.decode('GBK')
    else:
         return ''# 创建键盘对象
keyboard = Controller()
print('''=============================使用注意事项以及使用说明===================================  

               软件功能:将粘贴板复制的文字内容模拟键盘打出来,而不是简单的复制粘贴!!!  
               请勿用于非法用途,使用过程中与本软件作者无关                        
               使用流程:(1)将需要输入的文本(只能为文字)内容复制到剪切板,且将输入法改为英文输入法  
                       (2)输入操作指令开始  
                       (3)将光标放到输入框内即可  
                                                               ——ndwjl            ''')
print("====================================================================================")
stops = input('''            (1)输入指令之前确保已复制完毕且当前为英文输入法   
            (2)提前打开所需要输入的输入框,输入指令后在10秒内将光标点击到输入框即可    
             开始:请输入操作指令:1为开始操作,2或其它键为结束操作 输入完成后按回车键运行        
                         请输入--->:''')
while stops == '1':    # 读取剪切板内容
    ss = get_text()
    if legal == 1:
     ss = ss.replace('', '')
     print("========================10秒后开始粘贴任务=============================")
     i = 10
     while i:
        print('==================倒计时', i, '请将光标点击到输入框==================')
        sleep(1)
        i = i - 1
    keyboard.type(ss)
    print('========================已完成剪切板内容输入=========================')
    print("============================================================")
    print("===========================感谢使用===========================")
    stops = input('''   (1)输入指令之前确保已复制完毕且目前为英文输入法   
               (2)提前打开所需要输入的输入框,输入指令后在10秒内将光标点击到输入框即可    
               开始:请输入操作指令:1为开始操作,2或其它键为结束操作    --->:''')

使用方法很简单,只要事先将需要复制的内容(目前只能是文本内容)复制到剪贴板上,然后运行脚本,将鼠标光标放到输出框即可,这里设置的为10秒后进行内容输出,也可以根据自己的喜好进行更改

注意:使用脚本输出内容时一定要将输入法设置成英文输入法,否则可能会导致内容输出错乱。

4.最后献上完整代码,同时也期待热心网友给出优化建议

# -*- coding: utf-8 -*-
from time import sleep
from pynput.keyboard import Controller
import win32clipboard as w
import win32con
global legal
def get_text():
    global legal
    w.OpenClipboard()
    try:
        d = w.GetClipboardData(win32con.CF_TEXT)
        legal = 1
    except:
        print("=====================剪切板内容含图片等非文字!!!=====================")
        print("=========================请重新复制后再粘贴=========================")
        print()
        print()
        legal = 0
    w.CloseClipboard()
    if legal == 1:
         return d.decode('GBK')
    else:
         return ''# 创建键盘对象
keyboard = Controller()
print('''=============================使用注意事项以及使用说明===================================  

               软件功能:将粘贴板复制的文字内容模拟键盘打出来,而不是简单的复制粘贴!!!  
               请勿用于非法用途,使用过程中与本软件作者无关                        
               使用流程:(1)将需要输入的文本(只能为文字)内容复制到剪切板,且将输入法改为英文输入法  
                       (2)输入操作指令开始  
                       (3)将光标放到输入框内即可  
                                                               ——ndwjl            ''')
print("====================================================================================")
stops = input('''            (1)输入指令之前确保已复制完毕且当前为英文输入法   
            (2)提前打开所需要输入的输入框,输入指令后在10秒内将光标点击到输入框即可    
             开始:请输入操作指令:1为开始操作,2或其它键为结束操作 输入完成后按回车键运行        
                         请输入--->:''')
while stops == '1':    # 读取剪切板内容
    ss = get_text()
    if legal == 1:
        ss = ss.replace('', '')
        print("========================10秒后开始粘贴任务=============================")
        i = 10
        while i:
            print('==================倒计时', i, '请将光标点击到输入框==================')
            sleep(1)
            i = i - 1
        keyboard.type(ss)
        print('========================已完成剪切板内容输入=========================')
        print("============================================================")
        print("===========================感谢使用===========================")
        stops = input('''   (1)输入指令之前确保已复制完毕且目前为英文输入法   
                   (2)提前打开所需要输入的输入框,输入指令后在10秒内将光标点击到输入框即可    
                   开始:请输入操作指令:1为开始操作,2或其它键为结束操作    --->:''')

5.当然也可以打包成exe程序,即使不会python也可使用,点击py文件的所在位置,输入cmd进入操控台,输入打包代码运行即可,打包好的程序会在新生成的dist文件夹中

pyinstaller - F 文件名.py

最后,在此放上打包好的成品工具,供大家使用

蓝揍云:

https://wwp.lanzoup.com/iuWtJ0jn1tha 提取码 : 8888

你可能感兴趣的:(python,pip)