행위

대신증권 자동로그인

DB CAFE

Dbcafe (토론 | 기여)님의 2020년 10월 7일 (수) 23:40 판 (새 문서: <source lang=python> import pywinauto import time def logIn(): try: app = pywinauto.application.Application() #실행 app.start(r"C:\DAISHIN\STARTER\ncSta...)
(차이) ← 이전 판 | 최신판 (차이) | 다음 판 → (차이)
thumb_up 추천메뉴 바로가기


import pywinauto
import time

def logIn():
    try:
        app = pywinauto.application.Application()
        #실행
        app.start(r"C:\DAISHIN\STARTER\ncStarter.exe /prj:cp")
        time.sleep(10)
        
        flag=0
        while flag==0:
            try:
                #보안경고창 예 버튼 클릭
                title = '대신증권 CYBOS FAMILY'
                #dlg = app.window_(title=title) error나서 변경 20190331
                dlg = app.Connect(title=title).Dialog
                dlg['예(&Y)Button'].Click()
                time.sleep(1)
            except Exception as e:
                print(e)
            else:
                flag=1
                
        #안랩안티바이러스 로딩시간 대기
        time.sleep(80)
        
        #접속창 인식
        title = "CYBOS Starter"
        dlg = pywinauto.timings.WaitUntilPasses(120, 30, lambda: app.window_(title=title))
        pass_ctrl = dlg.Edit2
        
        #통신암호
        flag=0
        while flag==0:
            try:
                pass_ctrl.SetFocus()
                pass_ctrl.TypeKeys('PASSWORD')
                time.sleep(1)
            except Exception as e:
                print(e)
            else:
                flag=1
        
        cert_ctrl = dlg.Edit3
        
        #인증서암호
        flag=0
        while flag==0:
            try:
                cert_ctrl.SetFocus()
                cert_ctrl.TypeKeys('PASSWORD')
                time.sleep(1)
            except Exception as e:
                print(e)
            else:
                flag=1
        
        #접속버튼클릭
        flag=0
        while flag==0:
            try:
                btn_ctrl = dlg.Button
                btn_ctrl.Click()
                time.sleep(1)
            except Exception as e:
                print(e)
            else:
                flag=1
    except Exception:
        raise
    else:
        pass
        
if __name__ == '__main__':
    logIn()