龙空技术网

Python 自动化键盘输入

UpCoder 505

前言:

眼前小伙伴们对“python模拟键盘操作”大概比较重视,同学们都想要学习一些“python模拟键盘操作”的相关资讯。那么小编在网摘上网罗了一些关于“python模拟键盘操作””的相关知识,希望我们能喜欢,兄弟们快快来了解一下吧!

使用自动化化脚本,鼠标点到哪儿就自动输入预先设定的文本消息,全面实现键盘自动化输入。

使用第三方包pyautoguipyperclipkeyboardschedule实现原理

pyautogui 能够控制键盘输入自动化,模拟人工操作,理论上使用改库就能够直接通过程序输入任何想要输入的文本内容了。

但面对中文时无法切换中文输入法,因此采用迂回路线,使用 pyperclip 将文字消息复制到剪贴板,然后使用 pyautogui 模拟 ctrl + v 神器进行粘贴到对应输入框。

完整的程序还使用了 schedule 进行定时任务。keyboard 键盘事件监听用于控制输入开始和结束。

使用场景游戏聊天框直播间自动消息发送自动信息录入其他提供源码

下面提供完成的程序源码,需要 windows 软件或 mac 软件的可以单独提供。

# _*_coding: utf-8 _*_import timeimport pyautoguifrom pyperclip import copyimport keyboardimport scheduleclass Control:    """自动化输入控制器    """    def __init__(self):        self.sentence = []        self.interval = 2        self.parse_line()        self.jobs = None        keyboard.add_hotkey("a", self.start_jon)    def start_jon(self):        """开始定时任务        :return:         """        if self.jobs is not None:            return        task = schedule.every(self.interval).seconds.do(self.input_text)        self.jobs = task        keyboard.add_hotkey("q", self.clear)        print("start task")    def clear(self):        """清空定时任务        """        schedule.cancel_job(self.jobs)        self.jobs = None    @staticmethod    def read_file():        """从文件中读取预设的文本内容        :return:         """        with open("./sentence.txt", "r", encoding="utf-8") as fp:            for line in fp.readlines():                if line := line.strip():                    yield line    def parse_line(self):        """按行解析文本一行一行的输入        :return:         """        for index, line in enumerate(self.read_file()):            if index == 0 and line.isdigit():                self.interval = int(line)                continue            self.sentence.append(line.strip())        if not self.sentence:            print("not any content!")    def input_text(self):        """输入文本        """        if self.sentence:            text = self.sentence.pop(0)            print(f"input:{text}")            self.sentence.append(text)            copy(text)            pyautogui.hotkey("Y")            pyautogui.hotkey("ctrl", "v")            pyautogui.hotkey("enter")if __name__ == '__main__':    control = Control()    while True:        schedule.run_pending()        time.sleep(0.2)

标签: #python模拟键盘操作 #python模拟键盘输入操作 #python模拟键盘输入的上下左右键 #苹果系统python调用虚拟键盘