import requests
from selenium import webdriver
import time
driver = webdriver.Chrome()
driver.get('url 주소')


- keypad_list 라는 변수에 대문자/특수문자 딕셔너리로 담아두기
keypad_list = {
'upper' : {'Q': '대문자Q', 'W': '대문자W', 'E': '대문자E', 'R': '대문자R', 'T': '대문자T', 'Y': '대문자Y', 'U': '대문자U', 'I': '대문자I', 'O': '대문자O', 'P': '대문자P', 'A': '대문자A', 'S': '대문자S', 'D': '대문자D', 'F': '대문자F', 'G': '대문자G', 'H': '대문자H', 'J': '대문자J', 'K': '대문자K', 'L': '대문자L', 'Z': '대문자Z', 'X': '대문자X', 'C': '대문자C', 'V': '대문자V', 'B': '대문자B', 'N': '대문자N', 'M': '대문자M'},
'special' : {'`': '어금기호', '~': '물결표시', '!': '느낌표', '@': '골뱅이', '#': '우물정', '$': '달러기호', '%': '퍼센트', '^': '꺽쇠', '&': '엠퍼샌드', '*': '별표', '(': '왼쪽괄호', ')': '오른쪽괄호', '-': '빼기', '_': '밑줄', '=': '등호', '+': '더하기', '[': '왼쪽대괄호', '{': '왼쪽중괄호', ']': '오른쪽대괄호', '}': '오른쪽중괄호', '\\': '역슬래시', '|': '수직막대', ';': '세미콜론', ':': '콜론', '/': '슬래시', '?': '물음표', ',': '쉼표', '<': '왼쪽꺽쇠괄호', '.': '마침표', '>': '오른쪽꺽쇠괄호', "'": '작은따옴표', '"': '따옴표'}
}
- 아이디 입력
driver.find_element_by_name('아이디입력창').click()
driver.find_element_by_name('아이디입력창').send_keys('아이디')
time.sleep(0.1)
- 비밀번호 입력
driver.find_elements_by_id("비밀번호입력칸")[0].click() # 키패드 열기
for p in kb_pw:
if p in keypad_list['special'].keys():
driver.find_elements_by_css_selector("[aria-label='특수키']")[0].click() # 특수키 열기
spe = keypad_list['special'][p]
driver.find_elements_by_css_selector(f"[aria-label='{spe}']")[0].click()
driver.find_elements_by_css_selector("[aria-label='특수키']")[0].click() # 특수키 닫기
time.sleep(0.2)
elif p in keypad_list['upper'].keys():
driver.find_elements_by_css_selector("[aria-label='쉬프트']")[0].click() # 대문자 열기
upper = keypad_list['upper'][p]
driver.find_elements_by_css_selector(f"[aria-label='{upper}']")[0].click()
driver.find_elements_by_css_selector("[aria-label='쉬프트']")[0].click() # 대문자 닫기
time.sleep(0.2)
else :
driver.find_elements_by_css_selector(f"[aria-label='{p}']")[0].click()
time.sleep(0.2)
driver.find_elements_by_css_selector("[aria-label='입력완료']")[0].click() # 입력완료
driver.find_elements_by_id("btnLogin")[0].click()# 로그인
driver.find_elements_by_class_name("btn-txt-black")[0].click() # 로그인 저장 안하기 버튼
def login(kb_id,kb_pw):
''' kb차차차 kb_id/kb_pw 입력시 로그인되는 함수 '''
keypad_list = {
'upper' : {'Q': '대문자Q', 'W': '대문자W', 'E': '대문자E', 'R': '대문자R', 'T': '대문자T', 'Y': '대문자Y', 'U': '대문자U', 'I': '대문자I', 'O': '대문자O', 'P': '대문자P', 'A': '대문자A', 'S': '대문자S', 'D': '대문자D', 'F': '대문자F', 'G': '대문자G', 'H': '대문자H', 'J': '대문자J', 'K': '대문자K', 'L': '대문자L', 'Z': '대문자Z', 'X': '대문자X', 'C': '대문자C', 'V': '대문자V', 'B': '대문자B', 'N': '대문자N', 'M': '대문자M'},
'special' : {'`': '어금기호', '~': '물결표시', '!': '느낌표', '@': '골뱅이', '#': '우물정', '$': '달러기호', '%': '퍼센트', '^': '꺽쇠', '&': '엠퍼샌드', '*': '별표', '(': '왼쪽괄호', ')': '오른쪽괄호', '-': '빼기', '_': '밑줄', '=': '등호', '+': '더하기', '[': '왼쪽대괄호', '{': '왼쪽중괄호', ']': '오른쪽대괄호', '}': '오른쪽중괄호', '\\': '역슬래시', '|': '수직막대', ';': '세미콜론', ':': '콜론', '/': '슬래시', '?': '물음표', ',': '쉼표', '<': '왼쪽꺽쇠괄호', '.': '마침표', '>': '오른쪽꺽쇠괄호', "'": '작은따옴표', '"': '따옴표'}
}
driver.find_element_by_name('loginId').click()
driver.find_element_by_name('loginId').send_keys(kb_id)
time.sleep(0.1)
driver.find_elements_by_id("loginPass")[0].click() # 키패드 열기
for p in kb_pw:
if p in keypad_list['special'].keys():
driver.find_elements_by_css_selector("[aria-label='특수키']")[0].click() # 특수키 열기
spe = keypad_list['special'][p]
driver.find_elements_by_css_selector(f"[aria-label='{spe}']")[0].click()
driver.find_elements_by_css_selector("[aria-label='특수키']")[0].click() # 특수키 닫기
time.sleep(0.2)
elif p in keypad_list['upper'].keys():
driver.find_elements_by_css_selector("[aria-label='쉬프트']")[0].click() # 대문자 열기
upper = keypad_list['upper'][p]
driver.find_elements_by_css_selector(f"[aria-label='{upper}']")[0].click()
driver.find_elements_by_css_selector("[aria-label='쉬프트']")[0].click() # 대문자 닫기
time.sleep(0.2)
else :
driver.find_elements_by_css_selector(f"[aria-label='{p}']")[0].click()
time.sleep(0.2)
driver.find_elements_by_css_selector("[aria-label='입력완료']")[0].click() # 입력완료
driver.find_elements_by_id("btnLogin")[0].click()# 로그인
driver.find_elements_by_class_name("btn-txt-black")[0].click() # 로그인 저장 안하기 버튼
if "xxxx" in driver.current_url: # 아이디/비밀번호가 틀리면 url이 'xxxx' 로 바뀜
return {'status' : False , 'msg' : '아이디 또는 비밀번호가 일치하지 않습니다.'}
elif "xxx/xxxx/xxx" in driver.current_url:
return {'status' : True , 'msg' : '로그인에 성공했습니다.'}
else:
return {'status' : False , 'msg' : '잘못된 접근입니다.'}
'Language > Python' 카테고리의 다른 글
find_element By (0) | 2023.01.11 |
---|---|
Selenium Webdriver에서 iFrame 처리하기 (0) | 2023.01.11 |
Python Selenium Alert창 팝업창 확인 버튼/취소버튼 (0) | 2023.01.10 |
PyQt5 / Qt Designer 를 이용해 UI구성 - UI 파일 파이썬 코드로 변환, / UI 파일 파이썬 코드에서 로드 (0) | 2022.11.28 |
파이썬 자판기 프로그램 while문, 조건문 (0) | 2022.10.20 |
import requests
from selenium import webdriver
import time
driver = webdriver.Chrome()
driver.get('url 주소')


- keypad_list 라는 변수에 대문자/특수문자 딕셔너리로 담아두기
keypad_list = {
'upper' : {'Q': '대문자Q', 'W': '대문자W', 'E': '대문자E', 'R': '대문자R', 'T': '대문자T', 'Y': '대문자Y', 'U': '대문자U', 'I': '대문자I', 'O': '대문자O', 'P': '대문자P', 'A': '대문자A', 'S': '대문자S', 'D': '대문자D', 'F': '대문자F', 'G': '대문자G', 'H': '대문자H', 'J': '대문자J', 'K': '대문자K', 'L': '대문자L', 'Z': '대문자Z', 'X': '대문자X', 'C': '대문자C', 'V': '대문자V', 'B': '대문자B', 'N': '대문자N', 'M': '대문자M'},
'special' : {'`': '어금기호', '~': '물결표시', '!': '느낌표', '@': '골뱅이', '#': '우물정', '$': '달러기호', '%': '퍼센트', '^': '꺽쇠', '&': '엠퍼샌드', '*': '별표', '(': '왼쪽괄호', ')': '오른쪽괄호', '-': '빼기', '_': '밑줄', '=': '등호', '+': '더하기', '[': '왼쪽대괄호', '{': '왼쪽중괄호', ']': '오른쪽대괄호', '}': '오른쪽중괄호', '\\': '역슬래시', '|': '수직막대', ';': '세미콜론', ':': '콜론', '/': '슬래시', '?': '물음표', ',': '쉼표', '<': '왼쪽꺽쇠괄호', '.': '마침표', '>': '오른쪽꺽쇠괄호', "'": '작은따옴표', '"': '따옴표'}
}
- 아이디 입력
driver.find_element_by_name('아이디입력창').click()
driver.find_element_by_name('아이디입력창').send_keys('아이디')
time.sleep(0.1)
- 비밀번호 입력
driver.find_elements_by_id("비밀번호입력칸")[0].click() # 키패드 열기
for p in kb_pw:
if p in keypad_list['special'].keys():
driver.find_elements_by_css_selector("[aria-label='특수키']")[0].click() # 특수키 열기
spe = keypad_list['special'][p]
driver.find_elements_by_css_selector(f"[aria-label='{spe}']")[0].click()
driver.find_elements_by_css_selector("[aria-label='특수키']")[0].click() # 특수키 닫기
time.sleep(0.2)
elif p in keypad_list['upper'].keys():
driver.find_elements_by_css_selector("[aria-label='쉬프트']")[0].click() # 대문자 열기
upper = keypad_list['upper'][p]
driver.find_elements_by_css_selector(f"[aria-label='{upper}']")[0].click()
driver.find_elements_by_css_selector("[aria-label='쉬프트']")[0].click() # 대문자 닫기
time.sleep(0.2)
else :
driver.find_elements_by_css_selector(f"[aria-label='{p}']")[0].click()
time.sleep(0.2)
driver.find_elements_by_css_selector("[aria-label='입력완료']")[0].click() # 입력완료
driver.find_elements_by_id("btnLogin")[0].click()# 로그인
driver.find_elements_by_class_name("btn-txt-black")[0].click() # 로그인 저장 안하기 버튼
def login(kb_id,kb_pw):
''' kb차차차 kb_id/kb_pw 입력시 로그인되는 함수 '''
keypad_list = {
'upper' : {'Q': '대문자Q', 'W': '대문자W', 'E': '대문자E', 'R': '대문자R', 'T': '대문자T', 'Y': '대문자Y', 'U': '대문자U', 'I': '대문자I', 'O': '대문자O', 'P': '대문자P', 'A': '대문자A', 'S': '대문자S', 'D': '대문자D', 'F': '대문자F', 'G': '대문자G', 'H': '대문자H', 'J': '대문자J', 'K': '대문자K', 'L': '대문자L', 'Z': '대문자Z', 'X': '대문자X', 'C': '대문자C', 'V': '대문자V', 'B': '대문자B', 'N': '대문자N', 'M': '대문자M'},
'special' : {'`': '어금기호', '~': '물결표시', '!': '느낌표', '@': '골뱅이', '#': '우물정', '$': '달러기호', '%': '퍼센트', '^': '꺽쇠', '&': '엠퍼샌드', '*': '별표', '(': '왼쪽괄호', ')': '오른쪽괄호', '-': '빼기', '_': '밑줄', '=': '등호', '+': '더하기', '[': '왼쪽대괄호', '{': '왼쪽중괄호', ']': '오른쪽대괄호', '}': '오른쪽중괄호', '\\': '역슬래시', '|': '수직막대', ';': '세미콜론', ':': '콜론', '/': '슬래시', '?': '물음표', ',': '쉼표', '<': '왼쪽꺽쇠괄호', '.': '마침표', '>': '오른쪽꺽쇠괄호', "'": '작은따옴표', '"': '따옴표'}
}
driver.find_element_by_name('loginId').click()
driver.find_element_by_name('loginId').send_keys(kb_id)
time.sleep(0.1)
driver.find_elements_by_id("loginPass")[0].click() # 키패드 열기
for p in kb_pw:
if p in keypad_list['special'].keys():
driver.find_elements_by_css_selector("[aria-label='특수키']")[0].click() # 특수키 열기
spe = keypad_list['special'][p]
driver.find_elements_by_css_selector(f"[aria-label='{spe}']")[0].click()
driver.find_elements_by_css_selector("[aria-label='특수키']")[0].click() # 특수키 닫기
time.sleep(0.2)
elif p in keypad_list['upper'].keys():
driver.find_elements_by_css_selector("[aria-label='쉬프트']")[0].click() # 대문자 열기
upper = keypad_list['upper'][p]
driver.find_elements_by_css_selector(f"[aria-label='{upper}']")[0].click()
driver.find_elements_by_css_selector("[aria-label='쉬프트']")[0].click() # 대문자 닫기
time.sleep(0.2)
else :
driver.find_elements_by_css_selector(f"[aria-label='{p}']")[0].click()
time.sleep(0.2)
driver.find_elements_by_css_selector("[aria-label='입력완료']")[0].click() # 입력완료
driver.find_elements_by_id("btnLogin")[0].click()# 로그인
driver.find_elements_by_class_name("btn-txt-black")[0].click() # 로그인 저장 안하기 버튼
if "xxxx" in driver.current_url: # 아이디/비밀번호가 틀리면 url이 'xxxx' 로 바뀜
return {'status' : False , 'msg' : '아이디 또는 비밀번호가 일치하지 않습니다.'}
elif "xxx/xxxx/xxx" in driver.current_url:
return {'status' : True , 'msg' : '로그인에 성공했습니다.'}
else:
return {'status' : False , 'msg' : '잘못된 접근입니다.'}
'Language > Python' 카테고리의 다른 글
find_element By (0) | 2023.01.11 |
---|---|
Selenium Webdriver에서 iFrame 처리하기 (0) | 2023.01.11 |
Python Selenium Alert창 팝업창 확인 버튼/취소버튼 (0) | 2023.01.10 |
PyQt5 / Qt Designer 를 이용해 UI구성 - UI 파일 파이썬 코드로 변환, / UI 파일 파이썬 코드에서 로드 (0) | 2022.11.28 |
파이썬 자판기 프로그램 while문, 조건문 (0) | 2022.10.20 |