본문 바로가기
  • 기록
파이썬

웹 스크래핑6(Selenium기본)

by juserh 2021. 7. 8.

페이지 테스트 자동화 프레임워크: 웹에서 글자 입력이나 클릭 등의 액션을 할 수 있음

 

- pip install selenium :selenium 설치

- 웹 드라이버 설치: chromedriver (반드시 사용자 크롬의 버전과 동일한 버전으로 다운)

 

1. 웹 드라이버 생성, 시작

from selenium import webdriver

browser = webdriver.Chrome()  # 지금은 같은 폴더에 있어서 괄호 비어도 ok(아닌 경우엔 괄호 안에 경로 적어야함)
browser.get("http://naver.com")  # 크롬 웹 드라이버에서 브라우저 생성하고 해당 주소로 이동

실행 시, 브라우저

 

2. 터미널에서 작업 가능

 i) from selenium import webdriver

    browser=webdriver.Chrome()

터미널에 위 코드 입력 시, 브라우저

 ii) browser.get("http://naver.com")

터미널에 위 코드 입력 시, 브라우저 변화

 ii) elem=browser.find_element_by_class_name("link_login") #로그인 버튼을 클래스 이름으로 가져옴

    elem #해당 엘리먼트 정보 출력

    elem.click() #해당 엘리먼트 클릭 액션->변화

엘리먼트 클릭으로 이동

 iii) browser.back() #이전 화면으로 이동

     browser.forward() #다시 앞으로 이동

     browser.refresh() #새로 고침

 iv) elem=browser.find_element_by_id("query") #검색창

     from selenium.webdriver.common.keys import Keys #key enter를 위해 필요

     elem.send_keys("다음") #검색창에 "다음" 입력됨

     elem.send_keys(Keys.ENTER) #엔터키가 눌린 효과로 검색창에 입력된 내용으로 검색 가능->검색결과로 이동

    

    elem=browser.find_elements_by_tag("a") #태그 이름으로 찾기(s 주목->모두 가져오기)

    for e in elem:    e.get_attribute("href") #href 속성 정보 가져오기

 

    elem=browser.find_elements_by_xpath("-----xpath정보-------") #xpath로 엘리먼트 찾기

 

   browser.close() #탭 닫기

   browser.quit() #브라우저에 탭이 몇 개이던지 그냥 다 닫기