Windows窗口检测工具:WinSpy、Spy++
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', '