2017-01-03 1 views
0

В моем приложении я хочу убедиться, что окно виден для продолжения сценария автоматизации. Теперь приложение имеет несколько окон, которые не имеют имени. Есть ли способ восстановить окно с уверенностью? 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} 

ответ

0

Есть много возможных критериев поиска окна неоднозначности. Если имена не доступны, у вас все еще есть критерий found_index или parent. Пример:

# 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.

Смежные вопросы