2012년 8월 2일 목요일

Pywinauto

===== Installation =====
* Pydwinauto의 압축을 푼 경로에서 Python을 실행한다.
* 아래의 코드를 실행한다.
$ setpu.py install
* 아래의 Test Code를 돌려본다.
>>> from pywinauto import application
>>> app = application.Application.start("notepad.exe")
>>> app.notepad.TypeKeys("%FX")

===== Getting Start =====
* Syntax에 관련된 내용은 Pywinauto Documentation에 잘 기술되어 있다.
(그러나 잘 찾아보기 힘들게 되어있다. Documantation과 Googling을 적절히 복합적으로 활용해야한다.

* 주의 사항
* 실행되는 Application의 Control ID와 class등을 알고 있으면 code의 작성이 좀 더 수월해 진다.
* Windows Eng version과 Windows Kor version에 따라 달라진다.
* 창의 제목이 한글일경우 ** #-*-coding: utf-8 -*- ** 를 코드 맨 앞에 적용해준다.

dlg = app.YourDialogTitle
dlg = app.ChildWindow(title = "your title", classname = "your class", ...)
dlg = app['Your Dialog Title']

ctrl = dlg.YourControlTitle
ctrl = dlg.ChildWindow(title = "Your control", classname = "Button", ...)
ctrl = dlg["Your control"]

===== Example =====
* 아래 코드는 윈도우즈에 기본적으로 내장되어 있는 메모장(Notepad)를 컨트롤 하는 코드이다.

#-*-coding: utf-8 -*-
import time

from pywinauto import *


app = application.Application()
app.start_("Notepad.exe")
app[u'Notepad'].Wait('ready')

app[u'Notepad'].MenuSelect((u'파일(&F)->열기(&O)'))
open = app.window_(title_re =u"열기")

open['Edit'].TypeKeys(u'D:\\test.txt')
open['Edit'].TypeKeys(u'{ENTER}')

* 더 많은 코드는 pywinauto의 압축 파일 내에 example 폴더 안에 있다.

=====Reference=====
* [[http://code.google.com/p/pywinauto/|Pywinauto Official Site]]
* [[http://pywinauto.googlecode.com/hg/pywinauto/docs/contents.html|Pywinauto Documentation]]

댓글 없음:

댓글 쓰기