pywinauto自动化控制

本文介绍了如何利用pywinauto库来自动化控制Windows应用程序,包括MdxBuilder 3.0 RC1、PyQt5窗口以及Aboboo的子窗口操作。
摘要由CSDN通过智能技术生成

Windows窗口检测工具:WinSpySpy++

1.pywinauto - MdxBuilder 3.0 RC1

程序:MdxBuilder 3.0 RC1.exe

from pywinauto.application import Application

##### process:
#app = Application().connect(title_re="MdxBuilder", class_name="#32770") 
#app = pywinauto.application.Application().connect(title_re="MdxBuilder", class_name="Dialog")
#32770 (Dialog)
#app = Application().connect(process=2341)


##### handle:
#app = Application().connect(handle=0x010f0c)


##### path:
app = Application().connect(path="MdxBuilder 3.0 RC1.exe")
'''
<class 'pywinauto.application.Application'>
 |  window(self, **kwargs)
 |      Return a window of the application
 |      
 |      You can specify the same parameters as findwindows.find_windows.
 |      It will add the process parameter to ensure that the window is from
 |      the current process.
 |      
 |      See :py:func:`pywinauto.findwindows.find_elements` for the full parameters description.
 |  

'''



dlg = app.window()
#<class 'pywinauto.application.WindowSpecification'>


dlg["Edit4"].set_text("第4个输入框")
dlg["Edit3"].set_text('第3个输入框')
dlg["SourceEdit"].set_text("第1个输入框") # set_text:重置文本
dlg["TargetEdit"].type_keys('第2个输入框') # type_keys:追加输入文本 SendKeys() 表示模拟按键




#dlg.print_control_identifiers()

'''
#<class 'pywinauto.application.WindowSpecification'>


   | Edit - ''    (L1150, T208, R1649, B237)
   | ['SourceEdit', 'Edit', 'Edit0', 'Edit1']
   | child_window(class_name="Edit")

    类:Edit
    描述(title/Caption): ''
    实例名(多个):['SourceEdit', 'Edit', 'Edit0', 'Edit1']





Control Identifiers:

Dialog - 'MdxBuilder'    (L1038, T153, R1783, B941)
['Dialog', 'MdxBuilder', 'MdxBuilderDialog']
child_window(title="MdxBuilder", class_name="#32770")
   | 
   | Edit - ''    (L1150, T208, R1649, B237) # 第1个输入框
   | ['SourceEdit', 'Edit', 'Edit0', 'Edit1']
   | child_window(class_name="Edit")
   | 
   | Button - '...'    (L1671, T210, R1746, B239)
   | ['Button', '...', '...Button', 'Button0', 'Button1', '...0', '...1', '...Button0', '...Button1']
   | child_window(title="...", class_name="Button")
   | 
   | Edit - ''    (L1150, T244, R1649, B273) # 第2个输入框
   | ['TargetEdit', 'Edit2']
   | child_window(class_name="Edit")
   | 
   | Button - '...'    (L1671, T246, R1746, B275)
   | ['Button2', '...2', '...Button2']
   | child_window(title="...", class_name="Button")
   | 
   | Edit - ''    (L1150, T280, R1649, B309) # 第3个输入框
   | ['StyleEdit', 'Edit3']
   | child_window(class_name="Edit")
   | 
   | Button - '...'    (L1671, T280, R1746, B309)
   | ['Button3', '...3', '...Button3']
   | child_window(title="...", class_name="Button")
   | 
   | Edit - ''    (L1150, T318, R1649, B347)
   | ['DataEdit', 'Edit4']
   | child_window(class_name="Edit")
   | 
   | Button - '...'    (L1674, T318, R1749, B347)
   | ['Button4', '...4', '...Button4']
   | child_window(title="...", class_name="Button")
   | 
   | ComboBox - 'MDict(Compact HTML)'    (L1194, T374, R1382, B400)
   | ['Original formatComboBox', 'ComboBox', '
MDICT的文件制作工具 转换程序支持格式: 1) 扩展的SugarDict格式: 每个项目(词条)一行,缺省最大为32K. 格式为: 关键字 解释(就是关键字和解释之间用空格分开) 关键字: 可以是大小写的组合, 每个单词的最大长度是255个字符。 关键字和解释中的'_', '^'在转换后会被替换成空格和回车 例子: break_through /'bri:k_MQru:/ ^v. 突破^n. 突破 good ^adj.好^adj.贼好^adj.好得不得了 2) KDict解码后的tab格式 每个条目一行,关键字和解释之间用"tab"分隔. 其中的"\n"会被转换成换行 例如: good adj.好\nadj.贼好\nadj.好得不得了 3) MDict的html格式 每个项目两行 第一行是关键字 第二行开始是正文, 这里的正文应该包括关键字。可以使用html的标记(不要包含 , 这个程序会自动加上, 另注意在转换时要指明源数据为html). 如果需要显示音标的话,可以利用html指定字体就可以显示了。(参见下面的例子) 正文结束后必须用一行表示结束 例子: Whole whole (hol,hJl; houl) 在html中连接到其它关键字的方法: key 其中key是关键字,section是对应关键字页面中的section名称. 4) MDict的紧凑型html格式(Compat Html) 这个格式由两个文件组成,正文文件格式基本和2)一样,但在正文里可以使用记号。另外 一个是记号文件。 记号文件的格式: 由多个记号定义组成,每个记号定义有3行 第一行: 记号的名称(只能用数字,必须大于0,最大不超过255) 第二行: 开始字符串(可以为空) 第三行: 结束字符串(可以为空) 使用时在正文里使用`记号`(键盘左上角的那个符号)就会将后续的文字直到下一个记号前的文 字用记号定义的开始字符串和结束字符串括起来。正文里如果需要显示` 则用"`"表示。内 码应该和正文的一样(例如正文如果是用Unicode的话,记号文件也应该用Unicode) 例如: 记号文件: 1 2 3 正文文件: whole `1`whole`s`2``3`(hol,hJl; houl) 最后在显示的时候就会被替换成 whole&#%96;s(hol,hJl; houl) 备注: 如果你的数据里含有国际音标,建议使用Unicode格式 (请参考http://www.phon.ucl.ac.uk/home/wells/ipa-unicode.htm) 将音标用对应的Unicode进行表示。这样只要用户装有支持IPA的字体文件就能够显示音标。 (Windows里的Lucida Console就包含有IPA对应的字体)
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值