Python实现全自动输入文本的示例详解

 更新时间:2022年11月22日 10:57:20   作者:予人三  
这篇文章主要和大家分享一个Python全自动输入文本的脚本,可以实现自动用Notepad++打开文本文件,然后自动输入文本,最后保存并关闭文件,从而实现全面自动化处理文本,希望对大家有所帮助

1. 效果图

该Python脚本可以实现自动用Notepad++打开文本文件,然后自动输入文本,最后保存并关闭文件,从而实现全面自动化处理文本。

2. 示例代码

Python脚本源码如下,主要使用了win32gui、win32con和win32api模块

import win32gui
import win32con
import win32api
import time

ret = win32api.ShellExecute(1, 'open', 'D:\\test.txt', '', '', 1)
print('正在打开软件...')
time.sleep(2)
handle = win32gui.FindWindow(None, r'D:\test.txt - Notepad++')
handleEdit = win32gui.FindWindowEx(handle, None, 'Scintilla', None)

menu = win32gui.GetMenu(handle)
subMenu = win32gui.GetSubMenu(menu, 0)

mystring=['北国风光,千里冰封,万里雪飘。',
'望长城内外,惟余莽莽;大河上下,顿失滔滔。',
'山舞银蛇,原驰蜡象,欲与天公试比高。',
'须晴日,看红装素裹,分外妖娆。',
'江山如此多娇,引无数英雄竞折腰。',
'惜秦皇汉武,略输文采;唐宗宋祖,稍逊风骚。',
'一代天骄,成吉思汗,只识弯弓射大雕。',
'俱往矣,数风流人物,还看今朝。','《沁园春·雪》']
for index, i in enumerate(mystring):
    for ch in i:
        print(ch)
        win32gui.SendMessage(handleEdit, win32con.WM_CHAR, ord(ch), 0)
        time.sleep(0.05)

    # 模拟按下回车键的操作
    win32api.keybd_event(13, 0, 0, 0)
    time.sleep(0.05)
    win32api.keybd_event(13, 0, win32con.KEYEVENTF_KEYUP, 0)

#获取保存按钮
cmdId = win32gui.GetMenuItemID(subMenu, 6)
#点击保存
win32gui.PostMessage(handle, win32con.WM_COMMAND, cmdId, 0)
#关闭窗口
win32gui.PostMessage(handle, win32con.WM_CLOSE, 0, 0)

3. 代码解释

1.win32api.ShellExecute(1, 'open', 'D:\\test.txt', '', '', 1)用默认的程序打开D盘目录下的test.txt文件,我这里设置默认用Notepad++打开文件文件;

2.win32gui.FindWindow(None, r'D:\test.txt - Notepad++')查找标题为D:\test.txt - Notepad++的窗口,该字符串内容必须跟窗口的标题文本一致,如下图所示:

3.win32gui.FindWindowEx(handle, None, 'Scintilla', None)第二个参数Scintilla非常关键,指的是输入焦点所在子窗口的类名,如下图

Windows系统自带的记事本,它的输入焦点子窗口类名是EDIT,Notepad++输入焦点子窗口类名是Scintilla。我们可以用WinSpy.exe软件来确定输入焦点子窗口的类名,如下动图所示:

从该界面可以看到Class值是Scintilla;

4.中间部分代码的解释可以参考点击这里

5.win32gui.GetMenuItemID(subMenu, 6)获取保存按钮的索引,这里的6是指保存选项在菜单中的位置序号,如下图所示

在文件菜单栏中,新建是第0项,打开是第1项,以此类推,保存是第6项。

6.win32gui.PostMessage(handle, win32con.WM_COMMAND, cmdId, 0)发送点击保存按钮的消息,即可自动保存文本内容。

到此这篇关于Python实现全自动输入文本的示例详解的文章就介绍到这了,更多相关Python自动输入文本内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python 的描述符 descriptor详解

    Python 的描述符 descriptor详解

    Python中包含了许多内建的语言特性,它们使得代码简洁且易于理解。这些特性包括列表/集合/字典推导式,属性(property)、以及装饰器(decorator)。对于大部分特性来说,这些“中级”的语言特性有着完善的文档,并且易于学习。但是这里有个例外,那就是描述符。
    2016-02-02
  • python抓取多种类型的页面方法实例

    python抓取多种类型的页面方法实例

    在本篇文章里小编给大家整理的是关于python抓取多种类型的页面方法实例内容,有需要的朋友们可以学习下。
    2019-11-11
  • python 写入csv乱码问题解决方法

    python 写入csv乱码问题解决方法

    这篇文章主要介绍了python 写入csv乱码问题解决方法的相关资料,需要的朋友可以参考下
    2016-10-10
  • Django项目中表的查询的操作

    Django项目中表的查询的操作

    这篇文章主要介绍了Django项目中表的查询的操作,文中给大家提到了Django项目 ORM常用的十三种查询方法,结合实例代码给大家介绍的非常详细,需要的朋友可以参考下
    2022-09-09
  • 在pycharm中创建django项目的示例代码

    在pycharm中创建django项目的示例代码

    这篇文章主要介绍了在pycharm中创建django项目的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-05-05
  • python利用装饰器进行运算的实例分析

    python利用装饰器进行运算的实例分析

    本文主要是通过使用Python的装饰器来做一个运算的实例,来给大家详细介绍下Python的装饰器,非常的实用,有需要的小伙伴可以参考下。
    2015-08-08
  • Python实现序列化及csv文件读取

    Python实现序列化及csv文件读取

    这篇文章主要介绍了Python实现序列化及csv文件读取,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-01-01
  • 在python image 中安装中文字体的实现方法

    在python image 中安装中文字体的实现方法

    今天小编大家分享一篇在python image 中安装中文字体的实现方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-08-08
  • opencv python如何实现图像二值化

    opencv python如何实现图像二值化

    这篇文章主要介绍了opencv python如何实现图像二值化,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-02-02
  • 基于Python的关键字监控及告警

    基于Python的关键字监控及告警

    这篇文章主要为大家详细介绍了基于Python的关键字监控及告警,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-07-07

最新评论