2014-09-21 5 views
4

수학 연산의 결과를 표시하는 ms 계산기 텍스트 필드의 결과를 얻는 방법은 무엇입니까? Swapy (v.0.4.3)는이 텍스트 필드에 'Static2'값이 있음을 보여 주므로 간단한 스크립트를 실행하면 빈 목록이 나타납니다. 여기 내 코드 :텍스트 필드에서 pywinauto를 사용하여 값 얻기

from pywinauto import * 
n=[] 
app=Application() 
app.start_("calc.exe") 
app.calc.Button11.ClickInput() 
app.calc.Button20.ClickInput() 
app.calc.Button11.ClickInput() 
app.calc.Button21.ClickInput() 
n=app.calc.Static2.Texts()#here i expected to get the number 
print n 

내가 잘못 했나요? 내가 ++ 스파이에서 볼 수 있듯이

답변

5

text = app.calc.Static3.WindowText() 

을 시도, Notepad.exe와 (Win7에 버전) 4 개 정적 상자가 있습니다. 세 번째 것은 비어 있지 않은 텍스트입니다. "Static1"과 "Static0"은 동일한 정적 상자를 식별하기 때문에 "Static3"이름으로 식별해야합니다. (약간 이상하네요, 그렇습니다 - 그것은 pywinauto 기능입니다). 더 자세한 조사를 사용

app.calc.PrintControlIdentifiers() 
+0

PrintControlIdentifiers() 나에게 swapy이 텍스트 필드의 이름에 대해했던 것과 동일한 정보를 제공에 대한

불행히도 코드는 아무것도 변경되지 않습니다. 그건 그렇고, 왜 당신은 메모장에 대해 이야기하고 있습니까?) Spy ++는 무엇입니까? 그것은 아날로그 스왑인가요? –

+0

Spy ++는 MS Visual Studio와 함께 배포되는 도구입니다. PrintControlIdentifiers()가 몇 개의 통계를 인쇄합니까? Static1, Static2, Static3, Static4를 단계별로 시도하십시오. 이 중 하나에는 오른쪽 텍스트가 있어야합니다. –

+0

'app.calc.Window_ (class_name = '정적', ctrl_index = 5) .WindowText()'는 보증에 도움이됩니다. 나는 지금 그것을 점검했다. –

관련 문제