pywinauto: Сложности однозначной идентификации элементов

Методом print_control_identifiers() определено, что существуют два элемента с одинаковыми описаниями:

Первый:

Button - 'Закрыть' (L978, T740, R1030, B762) | ['Закрыть', 'ЗакрытьButton', 'Button51', 'Закрыть0', 'Закрыть1', 'ЗакрытьButton0', 'ЗакрытьButton1'] | child_window(title="Закрыть", control_type="Button")

Второй:

Button - 'Закрыть' (L1014, T190, R1031, B207) | ['Закрыть2', 'ЗакрытьButton2', 'Button55'] | child_window(title="Закрыть", control_type="Button")

Из-за того, что подобных элементов более одного, метод child_window() не может идентифицировать необходимый, то есть первый, элемент.

У искомых элементов есть родительские элементы, которые в логе отображаются так:

Toolbar - '' (L302, T190, R1032, B208) | ['Toolbar11', 'ToolbarРазвернуть', 'ToolbarСвернуть', 'ToolbarЗакрыть']

Соответственно, "прицепиться" к ним не получается. Как решить эту проблему?


Ответы (1 шт):

Автор решения: Vasily Ryabov

Можно использовать в child_window(parent=parent_wrapper, ...), а можно индекс элемента среди найденных по остальным критериям: child_window(..., found_index=0).

→ Ссылка