WebBrowser(Chrome, Firefox, IE, Safari 등등)를 조작해주는 Framework로,
작동원리는 조작을 원하는 Browser가 설치된 PC에 Browser를 조작해줄 수 있는 webdriver
(조작을 원하는 browser별로 실제 파일이 다름)를 다운받은 후 해당 webdriver
가 실행되면 서버처럼 구동된다.
구동된 webdriver는 http://<pc_ip>:<webdriver port>
다음과 같이 http
프로토콜로 명령을 직접 날리고 확인 할 수가 있지만, 보통 webdriver에 명령을 날려주는 역할은 selenium에서 제공한 언어별 library
를 통해서 수행한다.
library내 browser를 조작해주는 다양한 function(browser open, find, click, doubleclick ...)들이 존재한다.
google에 "chrome webdriver download" 검색 제일 첫번째 클릭!(유명한 검색어는 제일 첫번째 검색내용이 답!)
※ 다른 브라우저를 검색하고 싶으면.. chrome대신에 해당 browser를..
브라우저는 버전이 존재함. (주의! 본인PC에 설치된 browser에 맞는 버전을 다운받아야함, 잘못 받으면 스크립트가 구동되지 않음.
확인방법은 브라우저 → 메뉴 → 도움말 → Chrome 정보클릭 후 확인
확인결과 v79.~~~~
이므로 79버전
클릭!
그리고 현재 pc는 windows10이므로 win~~
로 끝나는 파일을 클릭!
다운받은 zip압축 해제 후 해당 폴더를 Path환경변수 등록하기
환경변수를 등록하지 않을 경우 selenium library를 실행할때 객체의 입력변수에 매번 webdriver path정보를 입력해줘야함(매우 귀찮아서 환경변수에 등록한다)
전 압축을 c:\dev\seleniumdrivers
이하에 풀고 해당폴더를 환경변수에 등록해주었다
IDE실행(전 Intellij계열을 좋아해서 Pycharm)
PyCharm경우 Community버전이 있어서 Web개발 하지 않을 경우 Community버전으로도 충분히 원하는 바를 얻을 수 있다
Github에 Selenium용 프로젝트 등록 후 연결
Github프로젝트 만들기!
PyCharm에서 clone수행
Selenium library설치
Terminal창을 열고(정상적으로 python이 설치되어있다는 가정하에!) 다음 명령어 수행
pip install selenium
Sample용 파일 만들기
프로젝트에서 마우스 우클릭 → New → Python File
Script로 브라우저 열어보기
Browser를 조작해주는 webdriver를 import하기
from selenium import webdriver
Chrome을 조작용 객체를 driver로 선언한다
driver = webdriver.Chrome()
이렇게 입력하고 수행하면 빈 Chrome 화면이 실행된다
작업관리자를 열어보면 Script가 자동으로 chromedriver.exe
를 실행한걸 확인 할 수 있다.
실행된 chromedriver.exe
가 driver객체와 통신하며 browser를 조작하는 원리!
※ 주의 : 스크립트 종료이후 driver.close()를 해주지 않을 경우 스크립트 수행마다 chromedriver.exe를 계속 실행함! 이걸 놓치면 몇십개의 chromedriver.exe가 실행되서 pc가 느려지기도한다.