[EDA] Selenium(셀레니움)

이수연·2024년 7월 14일
0
  • Beautiful Soup만으로 해결할 수 없는 것 => Selenium 사용
    • 접근할 웹주소를 알 수 없을 때
    • 자바스크립트를 사용하는 웹페이지의 경우
    • 웹 브라우저로 접근하지 않으면 안될 때

Selenium

  • 웹 브라우저를 원격 조작하는 도구
  • 자동으로 URL 열고 클릭 등 가능
  • 스크롤, 문자의 입력, 화면 캡처 등

selenium 설치

  • 모듈 설치: pip install selenium
  • webdriver 사용(공식 문서): 크롬 드라이버 설치 (크롬 버전 확인 필요)
    => 를 하려고 했으나 셀레니움이 업데이트 되어서 이제 크롬 드라이버를 다운받지 않아도 된다고 함!!!!
    • from selenium import webdriver
      webdriver.Chrome() 로만 실행해도 됨!
    • webdriver는 특정 브라우저에서 동작하는지를 테스트하기 위한 용도인데, selenium에서 웹크롤링할 때 사용하기 위해 불러옴.
    • webdriver.Chrome()은 여러 브라우저 중 크롬이라는 브라우저에서 특정 웹페이지를 실행하겠다는 뜻임.

selenium 기초

  • get명령: 접근하고 싶은 주소 지정

    • driver.get("https://www.naver.com")
    • 크롬에서 새로운 페이지가 열림
    • driver.quit() 으로 꼭 닫아줘야 함. 안그러면 크롬 결과가 여러 개 열려있을 수 있음.
  • 스크롤 가능한 높이 가져오기

  • xpath

    • 개발자 도구 사용해서 Copy Xpath
  • 정보 입력하기

  • 버튼 클릭

  • 웹페이지의 팝업창 변환하는 명령: driver.switch_to_window()

  • Action Chains: https://selenium-python.readthedocs.io/api.html#module-selenium.webdriver.common.action_chains

0개의 댓글