selenium 정리

Selenium

urllib이나 requests로 가져올 수 없는 데이터들이 있다. 바로, Javascript를 통해 후처링 렌더링되어 불러오는 코드들이다.

또, 로그인 시, 사용자가 직접 접근한건지 프로그램으로 접근하는건지를 감지해서 막을 수도 있다고 한다.

브라우저로 PDF 보는것도 문제가 된다.

이러한 문제점들을 해결하기 위해 Selenium을 사용하여, 실제 브라우저를 제어할 수 있다.

Section A

# selenium 임포트
from selenium import webdriver

# webdriver 설정
browser = webdriver.Chrome('/usr/local/bin/chromedriver')

# 크롬 브라우저 내부 대기
browser.implicitly_wait(5) # 관행적으로 사용

# 속성 확인
print(dir(browser))

# 브라우저 사이즈
# browser.set_window_size(1920, 1280) # maximize_window(), minimize_window()

# 페이지 이동
browser.get('https://www.daum.net')

# 페이지 내용
print('Page contents :'.format(browser.page_source))

print()

# 세션 값 출력
print('Sessionn ID : {}'.format(browser.session_id))

# 타이틀 출력
print('Title : {}'.format(browser.title))

# 현재 URL 출력
print('URL : {}'.format(browser.current_url))

# 현재 쿠키 정보 출력
print('Cookies : {}'.format(browser.get_cookies()))

# 검색창 input 선택
element = browser.find_element_by_css_selector('div.inner_search > input.tf_keyword')
print(element)
# 검색어 입력
element.send_keys('방탄소년단')

# 검색
element.submit()

# 스크린 샷 저장1
# browser.save_screenshot("./website_ch1.jpg")

# 스크린 샷 저장2
# browser.get_screenshot_as_file("./website_ch2.jpg")

# 브라우저 종료
browser.quit()