본문 바로가기
Study/Python

[Python] Selenium 기초 조작법

by YoungD 2023. 8. 31.

Selenium 라이브러리

  • 브라우저를 자동제어하여 크롤링을 자동화 시키는 라이브러리
  • 동적크롤링을 진행할 때 사용
  • 반드시 한 번 설치가 필요
In [7]:
# 라이브러리 설치
!pip install selenium
 
In [8]:
# 셀레니움 최신버전 업데이트
!pip install -U selenium
 
In [9]:
# 브라우저의 역할을 해주는 라이브러리
from selenium import webdriver as wb
# 컴퓨터용 키보드
from selenium.webdriver.common.keys import Keys
# 선택자의 구분자 역할을 해주는 라이브러리
from selenium.webdriver.common.by import By
In [10]:
# 1. 크롬창을 실행
driver = wb.Chrome()
In [11]:
# 2. 특정 페이지로 이동(요청)
driver.get("http://www.naver.com")
In [12]:
# 3. 검색창에 검색어를 입력
# 3-1 : 검색창의 위치를 알아온다
# soup.select("#query") -> request 문법
search = driver.find_element(By.ID, "query")
search.send_keys("이강인")
In [13]:
# enter 보내기
# 키보드의 값을 보낼 때는 Keys라이브러리 사용
# 주의점 : 대문자로 작성해야 한다 (ENTER, END...)
# PAGE_DOWN
search.send_keys(Keys.ENTER)
In [14]:
# 4. 스크롤을 화면 최하단으로 이동
# 이유 : 화면 밑에 있는 데이터도 로딩
# 화면에 키보드에 있는 END키를 보내주기
body = driver.find_element(By.TAG_NAME, "body")
body.send_keys(Keys.END)
In [15]:
# 5. 페이지 뒤로가기
# 뒤로가기 버튼은 html태그가 아님
driver.back()
In [16]:
# 6. 다시 한 번 검색창에 새로운 검색어 입력
# 화면이 변화면 -> 화면이 이동했다면
# 컴퓨터는 과거 화면을 다 잊어버린다
# 반드시 요소를 새로 검색 후 명령
search = driver.find_element(By.ID, "query")
search.send_keys("김민재")
In [17]:
# 7. 검색 -> 검색버튼을 클릭
btn = driver.find_element(By.CLASS_NAME, "btn_search")
btn.click()
In [18]:
# 8. 창을 종료
driver.quit()

참고할 점!

  • 위에서 한 방식은 최신버전의 코드
    1. 크롬드라이버 = 컴퓨터용 크롬
  • 1.1 wb.Chrome("크롬드라이버의 경로")
    1. find_element(By.ID) -> find_element_by_id()