selenium은 웹사이트 테스트를 위한 도구로 브라우저 동작을 자동화할 수 있습니다. 프로그래밍으로 브라우저 동작을 제어해서 마치 사람이 이용하는 것 같이 웹페이지를 요청하고 응답을 받아올 수 있습니다.
1) selenium 설치 : 명령 프롬프트에서 pip install selenium 입력하여 설치
2) webdriver 설치 : 웹 드라이버는 브라우저 제어에 필요한 도구로 본인이 사용하는 브라우저에 맞게 다운로드 (버전에 맞는 드라이버 선택)
https://chromedriver.chromium.org/downloads (크롬)
실행 시, 자동으로 네이버에 접속하여 아이디와 비밀번호를 입력하여 로그인을 시도합니다.
from selenium import webdriver
import time
browser = webdriver.Chrome('chromedriver')
browser.get('http://www.naver.com')
time.sleep(2)
login_bt=browser.find_element_by_class_name('sc_login')
login_bt.click()
time.sleep(2)
# ID를 입력한다
id=browser.find_element_by_id('id')
id.send_keys('my_id')
# PWD를 입력 한다
id=browser.find_element_by_id('pw')
id.send_keys('my_password')
time.sleep(2)
naver_submit=browser.find_element_by_class_name('btn_global')
naver_submit.click()
- 웹드라이버를 이용하여(크롬드라이버) 네이버 실행 → 2초 대기 → 로그인 창 찾아 클릭 → 2초 대기 → ID칸 찾아 ID 입력 → Password 창 찾아 Password 입력 → 2초 대기 → 로그인 버튼 클릭
- browser = webdriver.Chrome('chromedriver')에서 chromedriver는 파일명이며, 동일한 경로가 아닌 경우 파일 경로를 입력합니다.
- login_bt=browser.find_element_by_class_name('sc_login')
id=browser.find_element_by_id('id')
위의 경우 로그인 버튼은 class_name으로 검색(네이버 창의 개발자 도구를 통해 해당 영역 확인)
ID와 Password의 경우 id로 검색
실행 시, 유튜브에 접속하여 지정해두었던 키워드를 자동으로 검색해줍니다.
from selenium import webdriver
import time
from selenium.webdriver.common.keys import Keys
driver = webdriver.Chrome('chromedriver')
driver.get('https://www.youtube.com/')
time.sleep(3)
# 검색어 창을 찾아 search 변수에 저장
search = driver.find_element_by_xpath('//*[@id="search"]')
# search 변수에 저장된 곳에 값을 전송
search.send_keys('위코드 후기')
time.sleep(1)
# search 변수에 저장된 곳에 엔터를 입력
search.send_keys(Keys.ENTER)
- 웹드라이버를 이용하여(크롬드라이버) 유튜브 실행 → 3초 대기 → 검색어 창으로 이동 → 키워드 입력 → 1초 대기 → 엔터 키 입력하어 검색
- driver = webdriver.Chrome('chromedriver')에서 chromedriver는 파일명이며, 동일한 경로가 아닌 경우 파일 경로를 입력합니다.
- search = driver.find_element_by_xpath('//[@id="search"]')에서 //[@id="search"] 값은 유투브 페이지에서 개발자 도구를 통해 검색어 창 영역을 찾아 copy Xpath를 하여 붙여넣기를 하면 됩니다.