본문 바로가기
IT/파이썬

[파이썬] CJ대한통운 택배프로그램 CNPlus 자동로그인 하기

by SageIN 2020. 8. 21.
728x90
반응형

쇼핑몰을 운영하면서 귀찮은 작업중 하나가

택배 프로그램 로그인 하는 것 입니다.

아이디 넣고 패스워드만 넣으면 로그인 되긴한데

잘 외어지지 않는 고유번호로 된 아이디와 

3개월마다 변경되는 패스워드..-_-;;

 

그래서 파이썬 pywinauto를 이용해서 프로그램을 자동 실행하고

아이디, 패스워드를 자동으로 넣고 로그인까지 자동으로 실행하는

프로그램을 만들었다. 

 

파이썬을 아는 사람이라면 간단하게 짤 수 있는 스크립트 겠지만

그래도 쇼핑몰 운영하면 대부분 모르실 테고.. 간단한듯 어려운 

파이썬 설치부터 스크립트 작성, 실행버튼 까지 만들어보자.

 

1. 파이썬 설치

 

상위버전이나 하위버전에서

pywinauto가 잘 작동안했던거 같다.

그나마 잘 작동하는 버전으로 설치

 

파이썬 3.7.8 - 32bit 버전 설치하기

www.python.org/ftp/python/3.7.8/python-3.7.8.exe

 

Add Python 3.7 to PATH 꼭 체크하자.

 

설치가 다되었으면

 

CMD를 검색해서 명령프롬프트를

관리자 권한으로 실행 한다.

명령프롬프트에서 다음을 입력하여

python --version

 

다음과 같이 나오면 파이썬은 잘 설치가 된 것이다.

 

2. 최신 pip 업데이트

다음 명령어를 넣어 실행해주자.

pip install --upgrade pip

 

3. pywinauto 설치하기 

 

4. 파이썬 스크립트 작성하기

직접 작성해도 되겠지만 

미리 작성해둔 스크립트를

다운받아 수정하자

cnpuls.zip
0.00MB

위 파일을 압축을 풀어 메모장으로 열어보면 

cnplus.py

import pywinauto as pyw
from pywinauto.application import Application
import time

def AutoCnplus():
    Application(backend="uia").start("C:\Windows\SysWOW64\MiUpdater321.exe -V 3.2 -D Win32U -R FALSE -K CNPlus -L TRUE -LE TRUE -BI \"%component%nplus_upd.jpg\"")
    time.sleep(6)
    handle = pyw.findwindows.find_windows(title_re='LOGIN')[0]
    print(handle)
    app = pyw.application.Application()
    app.connect(handle=handle)
    print('title: LOGIN handle: ' + str(handle) + ' Setted')

    app.LOGIN.LOGINEdit2.draw_outline() # passwrod
    app.LOGIN.LOGINEdit3.draw_outline() # ID
    app.LOGIN.LOGINButton.draw_outline()  # LOGIN Button

    # CNPLUS 로그인 처리
    app.LOGIN.LOGINEdit3.type_keys('아이디넣어요')  # ID
    app.LOGIN.LOGINEdit2.type_keys('비밀번호넣어요')  # passwrod
    time.sleep(1)
    app.LOGIN.LOGINButton.click()  # LOGIN Button


if __name__ == '__main__':
    AutoCnplus()

 

다른 곳은 수정 할 필요가 없고 "아이디넣어요" 부분에 CNPlus 아이디를

"비밀번호넣어요" 부분에 비밀번호를 넣어준다.

 

비밀번호가 변경된다면 까먹지말고 저부분을 수정해줘야 한다.

 

수정이 완료 되었으면 저장하고 파일을 닫는다.

 

5. 로컬 루트 드라이브에 저장하기

 

저장한파일을 로컬 C의 루트로 옮겨 넣자.

 

다른곳에 옮겨 놓고 실행해도 되는데 기억하기 좋은

C 드라이브에 옮겨놨다.

 

6. 로그인이 되는지 파일을 실행해보기

 

다시 CMD 명령프롬프트 창으로가서 

cd.. 엔터

cd.. 엔터

해서

루트 C로 이동하자.

C:\>python cnplus.py

 

명령어를 넣어 실행해보자. 

CNPLUS가 실행되고 로그인까지 하면 성공.

 

실패할 경우가 더러 있는데 

스크립트에서 아래 부분의 

time.sleep(6)

프로그램 로딩 시간을 감안하여 

시간을 조금 더 늘려주면

대부분 성공 할 것이다.

 

7. 배치파일 만들기

 

매번 저 명령어를 프롬프트 창에 넣어 실행하면

더 귀찮은 일이다. 더블 클릭하면 실행 가능하게

배치파일 만들어보자.

메모장을 열어

아래와 같이 적어주고 저장한다.

 

cnplus_auto_login.bat

start cmd.exe /c "python cnplus.py"

아래 파일을 이용해도 된다.

cnplus_auto_login.zip
0.00MB

만든 파일을 먼저 만든 cnplus.py 와 같은 위치에 넣어준다.

 

cnplus_auto_login.bat 를 더블클릭하여 실행 해보자

아까 python cnplus.py

실행한 결과와 동일하면 성공 한 것이다.

 

cnplus_auto_login.bat 파일에

오른쪽 마우스 클릭하여

바로가기를 만들어 바탕화면 옮겨 놓고 

쓰면된다.

 

반응형

댓글1