Ex04. Selenium 조작법

박산해·2025년 3월 26일

Selenium 라이브러리

  • 파이썬으로 브라우저를 조작하는 라이브러리
  • 사람이 하는 모든 행위를 똑같이 만들 수 있는 라이브러리
  • 주의점! 반드시 사람처럼 동작할 수 있게 코드를 작성해야 한다.
  • 주의점! 명령을 내릴 때는 하나하나 친절하게 알려줘야 한다.

selenium은 반드시 한번 설치가 필요하다.

!pip install selenium

브라우저를 담당하는 라이브러리

from selenium import webdriver as wb

선택자를 구분할 때 사용하는 라이브러리

from selenium.webdriver.common.by import By

컴퓨터용 키보드 (엔터, del, end) 기능을 가진 키를 입력

from selenium.webdriver.common.keys import Keys

#1. 크롬창을 실행

구버전 : 소괄호 안에 크롬드라이버의 경로를 작성

신버전 : 자동으로 설치

driver = wb.Chrome()

#2. 사이트로 이동

대화 : driver에게 네이버사이트 가져와!

driver.get("http://www.naver.com")

req로 데이터를 받아올 때는 bs이 필수 -> text -> HTML 바꾸기 위해서

그러나! driver는 가지고 있는 데이터가 HTML -> bs이 필요하지 않다.

3. 검색창에 검색어 입력

키포인트 : 명령을 내릴 대상을 찾은 후 -> 명령을 실행

대화 : driver에게 요소를 찾아줘! 아이디가 #query인 요소를 찾겠다.

구버전 : driver.find_element_by_id("query")

search = driver.find_element(By.ID,"query")

search에게 "강아지"값을 보내준다.

특정 요소에게 값을 보낼때(검색) -> send_keys

search.send_keys("강아지")

search에게 키보드에 있는 엔터를 보내준다.

search.send_keys(Keys.ENTER)

5. 화면을 맨 밑으로 이동 -> 데이터를 더 많이 받기위해서

대화 : body태그에게 키보드에 있는 END 값을 보내줘!

body = driver.find_element(By.TAG_NAME,"body")
body.send_keys(Keys.END)

#6. 페이지 뒤로가기
driver.back()

#7. 검색창에 고양이 검색

키포인트 : 화면이 바껴서 다른 페이지로 이동하면, 기존 데이터가 증발

다시 요소를 찾는 행위를 반드시 해줘야한다.

search = driver.find_element(By.ID,"query")
search.send_keys("고양이")
search.send_keys(Keys.ENTER)

#8. 텍스트 수집
cat = driver.find_elements(By.CSS_SELECTOR,"#mflick > div > div > ul > li > div > div > strong > a")

#9. 텍스트만 추출후 저장
name_list = []
for i in cat :
name_list.append(i.text)
name_list

10. 창 종료

2가지 방법 close vs quit

close : 열려있는 탭만 종료

quit : 전체 브라우저를 종료

driver.quit()

0개의 댓글