如何在不使用id自动化的情况下确定窗口

时间:2017-01-03 09:04:32

标签: pywinauto

在我的应用程序中,我想确保窗口可见以继续自动化方案。现在,该应用程序有多个没有名称的窗口。有没有办法确定地恢复窗口? Control_id对我来说不可用,所以除非使用自动化ID,否则我看不到任何解决方案。

了解更多信息:

panel.get_properties()
Out[37]: {'exstyle': 65536, 'rectangle': <RECT L827, T79, R1017, B527>,     'is_unicode': True, 'control_id': 197612, 'fonts': [<LOGFONTW 'MS Shell Dlg'    -11>], 'client_rects': [<RECT L0, T0, R190, B448>], 'context_help_id': 0, 'friendly_class_name': 'WindowsForms10.Window.8.app.0.33c0d9d', 'is_visible': True, 'control_count': 3, 'is_enabled': True, 'texts': [''], 'menu_items': [], 'class_name': 'WindowsForms10.Window.8.app.0.33c0d9d', 'style': 1442840576, 'user_data': 0}

1 个答案:

答案 0 :(得分:0)

窗口搜索消歧有许多可能的标准。如果没有可用的名称,您仍然具有found_indexparent条件。例如:

# find the second button with empty title
app.MainWindow.child_window(title="", control_type="Button", found_index=1).click()

# find the button under the group box
#  (may work in master branch only because of known bug in 0.6.0)
app.MainWindow.child_window(title="", class_name="Button", parent=app.MainWindow.GroupBox1).click()

所有可能的关键字都列在find_elements() function