로그인 구현

gogori6565·2022년 5월 14일
0

Opensw-Basis-project

목록 보기
2/10
post-thumbnail

Python selenium으로 로그인 구현

#현재 3.14.1 selenium 버전 사용중
from selenium import webdriver
#타임 객체 선언
from time import sleep
import requests
from bs4 import BeautifulSoup as bs

#크롬 웹 드라이버 경로
driver = webdriver.Chrome('C:\Chrome_Driver\chromedriver.exe')

#크롬으로 블랙보드 로그인 화면 접속
url = "https://ecampus.chungbuk.ac.kr/"
driver.get(url)

#아이디와 비밀번호 입력(0.5초씩 기다리기) - 너무 빠르면 대형 사이트는 트래픽 공격으로 인식
sleep(0.5)
driver.find_element_by_name('uid').send_keys('아이디')

sleep(0.5)
driver.find_element_by_name('pswd').send_keys('비밀번호')

#Xpath
driver.find_element_by_xpath('//*[@id="entry-login"]').click()

프로젝트에 앞서 cmd(명령프롬프트)에 설치할 것들!

  • python -m pip install selenium==3.14.1
    #3.14.1 버전으로 다운 받음
  • python -m pip install requests
  • 크롬 웹 드라이브 설치 (크롬 웹 드라이버 경로 필요, cmd X)

예외처리 - try/except

##전역변수 선언##
i=1 #로그인 예외처리 변수

#로그인 실패 예외처리 - 실패시 다시 로그인 / 성공시 넘어감
while(i):
    try:
        #크롬으로 블랙보드 로그인 화면 접속
        url = "https://ecampus.chungbuk.ac.kr/"
        driver.get(url)

        #아이디와 비밀번호 입력(0.5초씩 기다리기) - 너무 빠르면 대형 사이트는 트래픽 공격으로 인식
        print('user_id : ')
        user_id = input()
        sleep(0.5)
        driver.find_element_by_name('uid').send_keys(user_id)

        print('user_pw : ')
        user_pw = input()
        sleep(0.5)
        driver.find_element_by_name('pswd').send_keys(user_pw)

        #Xpath
        driver.find_element_by_xpath('//*[@id="entry-login"]').click()

        #사이트 이동
        driver.get('https://ecampus.chungbuk.ac.kr/ultra/stream')

        #while반복 멈추기
        i=0
    except:
        pass
  • 로그인 실패 시, 다시 로그인하도록 반복문 처리
  • 로그인 성공 시 정상적으로 try 안 코드를 동작하나, 실패 시 except의 내용을 동작
profile
p(´∇`)q

0개의 댓글