pywinauto는 Microsoft Windows GUI를 자동화하는 Python 모듈 세트입니다. 가장 간단하게는 마우스 및 키보드 동작을 Windows 대화 상자 및 컨트롤로 보낼 수 있지만 텍스트 데이터 가져오기와 같은 더 복잡한 동작도 지원합니다.
내부적으로 지원되는 기술: Win32 API( backend="win32"
; 기본적으로 사용됨), MS UI 자동화( backend="uia"
). 사용자 입력 에뮬레이션 모듈 mouse
와 keyboard
Windows와 Linux 모두에서 작동합니다.
저장소에 별표를 표시하거나 기부하세요.
이것은 우리 모두를 위한 취미 프로젝트이기 때문에 여러분의 도움은 소중합니다. 우리는 업무 외 시간 동안 새로운 기능 개발을 수행합니다.
pip install -U pywinauto
실행 (종속성은 자동으로 설치됩니다)이는 간단하며 결과 스크립트는 매우 읽기 쉽습니다. 얼마나 간단합니까?
from pywinauto . application import Application
app = Application (). start ( "notepad.exe" )
app . UntitledNotepad . menu_select ( "Help->About Notepad" )
app . AboutNotepad . OK . click ()
app . UntitledNotepad . Edit . type_keys ( "pywinauto Works!" , with_spaces = True )
explorer.exe
에 대한 자세한 예:
from pywinauto import Desktop , Application
Application (). start ( 'explorer.exe "C: \ Program Files"' )
# connect to another process spawned by explorer.exe
# Note: make sure the script is running as Administrator!
app = Application ( backend = "uia" ). connect ( path = "explorer.exe" , title = "Program Files" )
app . ProgramFiles . set_focus ()
common_files = app . ProgramFiles . ItemsView . get_item ( 'Common Files' )
common_files . right_click_input ()
app . ContextMenu . Properties . invoke ()
# this dialog is open in another process (Desktop object doesn't rely on any process id)
Properties = Desktop ( backend = 'uia' ). Common_Files_Properties
Properties . print_control_identifiers ()
Properties . Cancel . click ()
Properties . wait_not ( 'visible' ) # make sure the dialog is closed
capture_as_image()
메서드를 호출할 수 있도록 Pillow를 설치합니다( pip install -U Pillow
로). 모든 테스트 실행: python ./pywinauto/unittests/testall.py
끌어오기 요청은 매우 환영합니다. 단위 테스트, 코딩 규칙 등에 대한 자세한 내용은 기여 가이드를 읽어보세요.
기본 Windows GUI용 Pywinauto는 처음에 Mark Mc Mahon 이 작성했습니다. Mark는 Python의 강력한 기능을 사용하여 많은 훌륭한 아이디어를 삶에 가져왔습니다. 추가 기여자는 멋진 API에서 영감을 얻어 개발이 계속됩니다.
0.6.0부터 pywinauto는 BSD 3절 라이센스에 따라 배포됩니다. Pywinauto 0.5.4 이전 버전은 LGPL v2.1 이후 버전으로 배포되었습니다.