반응형
selenium은 브라우저를 자동화하는 도구입니다. 기본적으로 웹 어플리케이션 자동화 테스트를 위해 사용됩니다. 그러나 이것에만 국한되지 않고 확장하여 사용할 수 있습니다. 이번에는 브라우저에서 자동으로 원하는 페이지에 접속하여 로그인까지 하는 예제를 해보겠습니다.
selenium 설치 및 사전 준비
크롬 설치
- selenium은 크롬 기반 프레임워크입니다. 따라서 PC에 크롬이 설치되있어야합니다.
selenium 모듈 설치
- pip install selenium
웹 드라이버 설치(https://sites.google.com/a/chromium.org/chromedriver/)
- URL에 들어가서 stable 설치
- 오류나면 버전을 확인하여 다시 설치
- 다운받은 웹드라이버의 버전은 설치된 크롬의 버전보다 낮아야 합니다.
예제
소스코드 :
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 버전 추천)
반응형
'프로그래밍 언어 > python' 카테고리의 다른 글
정적 타입 언어, 동적 타입 언어 :: Python? (0) | 2019.08.27 |
---|---|
python 데이터 통신 프로토콜 : pickle 모듈 (0) | 2019.08.13 |
문자열 포맷팅 (python) (0) | 2019.08.11 |
장고 파일 업로드 기본 개념(django file upload) (0) | 2018.11.27 |
파이썬 인터넷 교재 (0) | 2014.01.26 |