본문 바로가기
Work/개발

Pywinauto로 파일 업로드 자동화 하기 - 4.Application control 하기

by 라리올리 2021. 7. 2.
반응형

Dialog 안에  담긴 Application을 Control 하는 방법에 대해 설명 하려고 합니다. 

 

혹 이글을 먼저 보셨다면, 아래 글을 먼저 읽어 주세요

 

Pywinauto로 파일 업로드 자동화 하기 - 3.프로그램 호출해서 Dialog 만들기

우선, Flow를 설명하자면 1. 프로그램을 호출하기 위한 path를 선언 해 주고 (나는 설치되어 있는 경로를 선언 해 주었다.) 2. Application start 명령어를 통해서 실행 시킨다. 3. 해당 윈도우 창을 변수로

lariola.tistory.com

 

지난 글에서 보셨지만, 저는 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)

파일업로드 자동화 소스 전체는 아래글로 공유했습니다.

 

업무RPA - Pywinauto로 파일 업로드 자동화 하기

파이썬 Pywinauto모듈 활용하여 만든 파일 업로드 자동화 프로그램 소스입니다. 각 소스별로 설명하기 위해 글을 남겼었는데 하나로 있는 소스가 있으면 좀 더 편하게 공유 될 수 있을 것 같아서

lariola.tistory.com

 

반응형

댓글