프로그래밍 언어/python

Selenium 사용법(자동 로그인)

벌게진눈 2019. 8. 16. 01:02
반응형

selenium은 브라우저를 자동화하는 도구입니다. 기본적으로 웹 어플리케이션 자동화 테스트를 위해 사용됩니다. 그러나 이것에만 국한되지 않고 확장하여 사용할 수 있습니다. 이번에는 브라우저에서 자동으로 원하는 페이지에 접속하여 로그인까지 하는 예제를 해보겠습니다.

selenium 설치 및 사전 준비

  1. 크롬 설치

    • selenium은 크롬 기반 프레임워크입니다. 따라서 PC에 크롬이 설치되있어야합니다.
  2. selenium 모듈 설치

    • pip install selenium
  3. 웹 드라이버 설치(https://sites.google.com/a/chromium.org/chromedriver/)

    1. URL에 들어가서 stable 설치
    2. 오류나면 버전을 확인하여 다시 설치
    • 다운받은 웹드라이버의 버전은 설치된 크롬의 버전보다 낮아야 합니다.

예제

소스코드 :

from selenium import webdriver
from bs4 import BeautifulSoup
import time
import os

# setup Driver|Chrome : 크롬드라이버를 사용하는 driver 생성
file_path = os.path.join(os.path.dirname(os.path.abspath(__file__)), 'chromedriver.exe')
driver = webdriver.Chrome(file_path)
driver.implicitly_wait(3) # 암묵적으로 웹 자원을 (최대) 3초 기다리기

# Login
driver.get('https://www.chungjungone.com/login.do')

driver.find_element_by_id('userID').send_keys('userid')
driver.find_element_by_id('userPass').send_keys('password')
driver.find_element_by_id('btnLogin').click() # 버튼클릭하기

장애 처리

경우1

에러 코드 :

Please protect ports used by ChromeDriver and related test frameworks to prevent access by malicious code.

에러 원인 :

PC에 크롬이 설치되어 있지 않아서 발생하는 오류

해결 방안 :

PC에 크롬 설치

경우2

에러 코드:

selenium.common.exceptions.SessionNotCreatedException: Message: session not created: This version of ChromeDriver only supports Chrome version 77

에러 원인 :

pc에 설치된 크롬의 버전이 낮으면 발생하는 오류

해결 방안 :

하위 버전으로 설치 후 진행(stable 버전 추천)
반응형