Dialog 안에 담긴 Application을 Control 하는 방법에 대해 설명 하려고 합니다.
혹 이글을 먼저 보셨다면, 아래 글을 먼저 읽어 주세요
지난 글에서 보셨지만, 저는 FileZilla라는 FTP 업로드 프로그램을 자동화 하기로 했습니다.
이번 글에서는 메뉴 -> 사이트 관리자를 오픈하여 기 등록된 서버에 연결을 하는 부분을 공유 하려고 합니다.
1. '메뉴' > '사이트 관리자' 를 선택하여
2. '사이트 관리자' 창에서 이미지를 올리려는 서버를 클릭 한 뒤
3. 연결 버튼을 클릭하는 소스 입니다.
4. FileZilla의 경우 호스트, 사용자, 비밀번호 등 서버 정보를 저장 할 수 있음으로 그 부분은 자동화 프로그램에서 입력하지 않고 기 입력된 정보를 사용 하였습니다.
소스는 아래와 같습니다.
dialog.menu_select('파일->사이트 관리자') # 사이트 관리자 메뉴 오픈
dialog.사이트_관리자.서버1.click_input() # 서버 선택
dialog.사이트_관리자.연결.click() # 연결 버튼 클릭 성공!
메뉴나 창의 이름, 버튼 등을 한글로 지정할 수 있습니다.
이러한 dialog내 속한 attributes는 dialog.print_control_identifiers() 명령어로 확인 할 수 있습니다.
attributes 확인하는 Tool도 있다고 합니다.
가이드 문서를 참고하면 Spy++ 와 Inspect.exe 프로그램이 있다고 합니다.
Spy ++ 는 MS Visual Studio 배포 (Express 또는 Community 포함)에 포함되어 있으며 시작 메뉴를 통해 액세스 할 수 있습니다. Win32 API를 사용합니다. 이는 Spy ++가 모든 컨트롤을 표시 할 수 있다면 "win32"백엔드가 필요한 것임을 의미 합니다. AutoIt 창 정보 도구는 일종의 Spy ++ 복제품입니다.
Inspect.exe 는 Microsoft에서 만든 또 다른 훌륭한 도구입니다. x64 Windows의 다음 위치에서 찾을 수 있도록 Windows SDK에 포함되어 있습니다.
그 다음에는 Local에 있는 이미지 경로와 이미지를 Upload 할 서버 경로를 지정 해 줍니다.
저는 local_path, remote_path 로 미리 변수에 선언한뒤, 변수를 받았습니다.
추 후에 해당 경로를 입력받을 계획 입니다.
dialog['로컬 사이트:Edit'].type_keys(local_path)
dialog['로컬 사이트:Edit'].type_keys("{ENTER}")
dialog['리모트 사이트:Edit'].type_keys(remote_path)
dialog['리모트 사이트:Edit'].type_keys("{ENTER}")
local_path에 있는 이미지를 더블 클릭하면 Upload 되는 FileZilla 기능으로 아래 처럼 소스 코딩하여 업로드 가능하게 하였습니다.
dialog[image].click_input(double=True)
파일업로드 자동화 소스 전체는 아래글로 공유했습니다.
'Work > 개발' 카테고리의 다른 글
chromedriver 설치하기 (0) | 2021.09.09 |
---|---|
AWS 아웃바운드 리졸버 셋팅 (0) | 2021.09.01 |
Pywinauto로 파일 업로드 자동화 하기 - 3.프로그램 호출해서 Dialog 만들기 (0) | 2021.07.01 |
Pywinauto로 파일 업로드 자동화 하기 - 2.Pywinauto 설치하기 (0) | 2021.06.25 |
Pywinauto로 파일 업로드 자동화 하기 - 1. 시나리오 만들기 (0) | 2021.06.24 |
댓글