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가 느려지기도한다.