有没有一种方法可以从包装器中获得与WindowsSpecification对象相同的信息?

时间:2019-02-21 09:43:23

标签: python pywinauto

因此,我在窗口中使用get_focus()函数从包装器中获取了以下信息:

{'class_name': 'Edit', 'friendly_class_name': 'Edit', 'texts': ['', ''], 'control_id': 232, 'rectangle': <RECT L251, T523, R485, B545>, 'is_visible': True, 'is_enabled': True, 'control_count': 0, 'style': 1342242944, 'exstyle': 516, 'user_data': 0, 'context_help_id': 0, 'fonts': [<LOGFONTW 'Arial' -13>], 'client_rects': [<RECT L0, T0, R230, B18>], 'is_unicode': False, 'menu_items': [], 'automation_id': '', 'selection_indices': (0, 0)}

我知道它与WindowSpecification相同(通过使用control_identifiers()然后使用wrapper_object()函数可以找到):

Edit - ''    (L251, T523, R485, B545) 
['Edit2', 'TunnusEdit']
child_window(class_name="Edit")

如您所见,包装器没有名称TunnusEdit。请问如何从包装器中获取此信息?

1 个答案:

答案 0 :(得分:0)

否,您现在必须创建多级WindowSpecification。我们计划在将来的版本中添加此功能。但是不能保证会很快。参见issue #570

EDIT1:如果您使用的是“ win32”后端(Application()的默认值),则它仅支持2级WindowSpecification:第一个用于顶级窗口,第二个用于任何后代。因此类似app.MainWindowTitle.TunnusEdit.wrapper_object()的方法会有所帮助。