2015-01-14 3 views
2

pywinauto을 사용하여 NASPT 운동 도구를 자동화합니다. I am not able to select the configure ans Reset . But I am getting all other buttons to click such as PhotoAlbum .... And neither I am able to click "all".NASPT에서 메뉴 항목을 선택할 수 없습니다. 운동기구를 사용하여 012W를 사용하여

app.IntelNASPerformanceToolkitExerciser.PhotoAlbum.Click(). 

app.IntelNASPerformanceToolkitExerciser.all.Click() 

모두를 클릭, 사진 앨범 버튼을 클릭합니다. 모든 버튼을 선택하지 않았습니다.

app.IntelNASPerformanceToolkitExerciser.MenuSelect("Configure->NASPT Tool") 

이 개체에 메뉴를 선택할 수 없다는 오류가 발생했습니다.

위의 문제를 해결하는 다른 방법이 있습니까? 누구든지 도움이 될 수 있습니까?

+0

"구성"은 도구 모음 버튼처럼 보입니다. 메뉴가 없습니다. –

답변

1

이것은 .NET 응용 프로그램입니다. pywinauto에는 .NET 컨트롤에 대한 지원이 매우 제한되어 있습니다. 따라서 이러한 도구 모음에 Windows UI Automation API를 사용해야합니다. 정확히 InvokePattern은 도구 모음 버튼을 누르는 데 도움이됩니다.

또는 당신은 그런 식으로 하드 코딩 좌표로 버튼을 클릭하려고 할 수 있습니다 :

app.IntelNASPerformanceToolkitExerciser.Children()[54].ClickInput(coords=(300, 10)) 

이 하드 코딩하는 방법은 매우 복잡한 UI 자동화 API를 다루는 것보다 더 좋을 수 있습니다.

현재로서는 pywinauto clone with .NET programmatic names support이 표시 될 수 있습니다. 우편 번호로 다운로드하여 python setup.py install을 실행하십시오. 이 모드로
그렇게 코딩 할 수 있습니다 :

app.IntelNASPerformanceToolkitExerciser.toolStrip.ClickInput(coords=(300, 10)) 

난 그냥 그것을 확인했습니다. 하드 코딩 된 좌표는 소프트웨어가 수명이 끝나고 변경되지 않기 때문에 여기서는 괜찮다고 생각합니다. 지원되지 않는 .NET 컨트롤은 그리 많지 않습니다.

+0

"구성", "재설정"은 도구 모음에 있으며 정적입니다. 나는 삐이 나우 토가 정적 컨트롤을 지원하지 않는다고 생각한다. –

+1

쀼 나비 우는 "Static"타입의 컨트롤을 지원한다. .NET에서 "레이블"이라고합니다. Toolstrip은 하나의 창으로 Win32 API에서 볼 수 있으므로 pywinauto는 별도의 버튼을 인식 할 수 없습니다. –

+0

.NET 프로그래밍 방식 이름 만 다운로드했습니다. 그것은 매력처럼 일했습니다! –