TIL 10. Python 따라하며 익히기 #selenium 활용 (자동로그인/자동검색)

윤현묵·2021년 7월 14일
0

Python

목록 보기
1/7

selenium 이란??

selenium은 웹사이트 테스트를 위한 도구로 브라우저 동작을 자동화할 수 있습니다. 프로그래밍으로 브라우저 동작을 제어해서 마치 사람이 이용하는 것 같이 웹페이지를 요청하고 응답을 받아올 수 있습니다.

준비사항

1) selenium 설치 : 명령 프롬프트에서 pip install selenium 입력하여 설치
2) webdriver 설치 : 웹 드라이버는 브라우저 제어에 필요한 도구로 본인이 사용하는 브라우저에 맞게 다운로드 (버전에 맞는 드라이버 선택)
https://chromedriver.chromium.org/downloads (크롬)

[1] 네이버 자동 로그인

실행 시, 자동으로 네이버에 접속하여 아이디와 비밀번호를 입력하여 로그인을 시도합니다.

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로 검색

[2] 유튜브 키워드 자동 검색

실행 시, 유튜브에 접속하여 지정해두었던 키워드를 자동으로 검색해줍니다.

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를 하여 붙여넣기를 하면 됩니다.
profile
진정성 있는 개발자를 꿈꾼다

0개의 댓글