웹 도구의 ID/비밀번호를 사전 등록해 둡니다.

12708 단어 CSV파이썬
회사의 웹 도구 작업을 자동화하는 데 문제가 되는 것은 로그인할 때 ID/비밀번호를 입력하는 것입니다.
코드에 글을 쓰는 것은 좋지 않으며 암호를 변경할 때마다 코드를 수정해야 할 필요가 있습니다.

그래서, 사전에 ID/패스워드를 등록해 두고, python 프로그램 실행시에 ID/패스워드를 입력하는 툴을 만들어 보았으므로, 비망록으로서 남겨 둡니다.

환경


  • OS : Windows 10 64bit
  • Python 3.6.0 (Anaconda3-4.3.1)

  • 사용한 모듈


  • TKInter
  • csv
  • sys

  • 코드



    entry.py
    import tkinter as tk
    from tkinter import messagebox
    import sys
    import csv
    
    # ID/PWDの登録
    def Entry_ID_PW():
        System_id = str(Enter_ID.get())
        System_pw = str(Enter_PW.get())
        System_list = [System_id, System_pw]
        with open('System_entry.csv', 'w') as file:
            writer = csv.writer(file, lineterminator='')
            writer.writerow(System_list)
    
        # 結果をラベルに表示
        Label_Msg['text'] = "登録しました。終了してください"
    
    # 処理の終了
    def Entry_Finish():
        sys.exit()
    
    # 操作ボックス
    root = tk.Tk()
    root.title(u"System ID/PW入力")
    root.geometry("300x230")
    Label_Msg = tk.Label(root, text=u'SystemのID/PWDを入力してください。')
    Label_Msg.pack()
    # ID
    Label_ID = tk.Label(root, text=u'System ID')
    Label_ID.pack()
    Enter_ID = tk.Entry(root)
    Enter_ID.insert(tk.END, '')
    Enter_ID.pack()
    # PW
    Label_PW = tk.Label(root, text=u'System Password')
    Label_PW.pack()
    Enter_PW = tk.Entry(root)
    Enter_PW.insert(tk.END, '')
    Enter_PW.pack()
    # 登録ボタン
    Label_Blanc = tk.Label(root, text=u'')
    Label_Blanc.pack()
    Entry_Btn = tk.Button(root, text=u'登録')
    Entry_Btn["command"] = Entry_ID_PW
    Entry_Btn.pack()
    # 終了ボタン
    Label_Blanc = tk.Label(root, text=u'')
    Label_Blanc.pack()
    Finish_Btn = tk.Button(root, text=u'終了')
    Finish_Btn["command"] = Entry_Finish
    Finish_Btn.pack()
    
    root.mainloop()
    

    설명



    입력 상자



    입력 상자를 표시하고 ID/비밀번호를 입력합니다.
    입력 상자에 대한 설명은 이 문서( 메뉴 상자에서 프로그램 실행 )를 참조하십시오.


    CSV 파일에 ID/비밀번호 저장



    입력한 ID/비밀번호는 CSV 파일에 저장됩니다.

    entry.py
    # ID/PWDの登録
    def Entry_ID_PW():
        System_id = str(Enter_ID.get())
        System_pw = str(Enter_PW.get())
        System_list = [System_id, System_pw]
        with open('System_entry.csv', 'w') as file:
            writer = csv.writer(file, lineterminator='')
            writer.writerow(System_list)
    

    입력한 ID/비밀번호는 문자열(string)로 리스트화.System_entry.csv라는 CSV 파일에 저장합니다.

    CSV 파일은 파이썬 파일과 같은 폴더에 생성됩니다.
    다른 폴더에 저장하려면 경로를 지정하고 저장합니다.
    (예) C:\document\System_entry.csv
    lineterminator 는 writer 가 생성하는 각 행을 종단할 때에 사용되는 캐릭터 라인으로, 디폴트에서는 \r\n 입니다.
    ID/패스워드를 꺼낼 때 개행 코드가 들어가 버리면 그것을 제거하는 작업이 필요하기 때문에 '' 로 합니다.
    writerow 는 Writer 객체에 사용하여 csv 파일에 한 줄을 쓸 수 있습니다.
    writerow 메소드의 인수는 리스트(여기서는 System_list )입니다.

    CSV 파일에서 ID/비밀번호 검색



    웹 도구를 자동으로 조작하기 위해 파이썬 파일에 다음 코드를 나열합니다.

    web_automation.py
    #pfosログイン情報を取得し、リスト化する。
    f = open("W:\python\System_entry.csv", "r")
    reader = csv.reader(f)
    data = [ e for e in reader ]
    f.close()
    
    #ログイン情報をリストから取り出す。
    System_id = data[0][0]
    System_pw = data[0][1]
    

    이제 CSV 파일에서 ID/비밀번호를 검색할 수 있으므로,
    그 후 selenium 등을 사용하여 웹 도구에 ID/비밀번호를 입력하고 로그인시켜 올리면 OK입니다.

    비고



    또한 System의 로그인 ID/비밀번호를 변경한 경우에는 앞의 입력 상자에 새 ID/비밀번호를 재등록하면 CSV 파일에 덮어쓰기 저장됩니다.

    좋은 웹페이지 즐겨찾기