pywinauto и кодировщик Windows Media

Я пытаюсь управлять кодировщиком Windows Media для переключения источников. Элемент управления исходным кодом в wme называется «Панель». Когда я запускаю PrintControlIdentifiers, я вижу координаты панели «Источники» и могу вызвать для нее функцию clickInput(), чтобы выбрать Source1 или Source2, но это проблематично, потому что они не всегда находятся на переднем плане. Я пытался использовать Click(coords = (x,y) так же, как ClickInput(), но это не работает. И я не могу заставить pywinauto предоставить мне какую-либо информацию об объектах Source1 и Source2.

Вот изображение окна кодировщика в формате JPEG для справки: http://web.ncf.ca/fj385/wme.JPG

Может ли кто-нибудь помочь мне изменить источники в этом потоке без использования ClickInput()? спасибо Педро


person user2378329    schedule 13.05.2013    source источник


Ответы (1)


Вот код для переключения источников на панели «Источники».

import pywinauto

pwa_app = pywinauto.application.Application()
w_handle = pywinauto.findwindows.find_windows(title=u'Untitled - Windows Media Encoder', class_name='MS Windows Media Encoder')[0]
window = pwa_app.window_(handle=w_handle)
ctrl = window['Toolbar']  # Sources Toolbar
ctrl.Button(0).Click()  # Select Source1
ctrl.Button(1).Click()  # Select Source2

Код, сгенерированный с помощью SWAPY.

Я автор этой утилиты.

person SWAPYAutomation    schedule 14.05.2013
comment
Работа над графическим интерфейсом, я пытаюсь использовать его для воссоздания кода, который вы разместили здесь. Используя set focus, Swapy записывает первые три строки плюс window.setFocus(). Это то, как вы создали экземпляр переменной ctrl? с помощью setFocus? - person user2378329; 14.05.2013
comment
Да, я сделал это дважды - на окне и на элементе управления (Source1). Но нужно только для SWAPY сгенерировать рабочий код. - person SWAPYAutomation; 14.05.2013