본문 바로가기

Development Project/Puppeteer (Node JS)

퍼펫티어 (Puppeteer) Docker 사용 (1)

Puppeteer (Node)

Chrome 제어를 돕는 RPA 라이브러리

Headless 환경으로 Chrome Client 를 제어할 수 있게끔 지원해주는 RPA (Robotic Process Automation) 라이브러리로 자동화 테스트 툴로 많이 사용되 있다.

 

사용 가능 환경

  1. Node JS : 6.0 이상
  2. Chrome Client : 59 이상
  3. Node JS 사용이 가능한 모든 환경

기능

  • SPA ( Single Page Application) 기반 웹페이지 렌더링 가능
  • 키보드, 마우스를 제어할 수 있음
  • 웹페이지 테스트 도구로 사용될 수있음
  • 렌더링 된 페이지를 크롤링 할 수 있음
  • 스크린샷을 찍거나 PDF 파일로 변환이 가능
  • 웹의 Elements 를 컨트롤 가능 XPath , Seletor 를 통한 querySeletor 가능
  • 웹페이지의 일부 렌더링 지원
    → 불필요한 script 또는 image 등을 제외한 채 웹페이지를 불러올 수 있다. (속도 향상)
  • SSR (Server Side Rendering) 을 생성
  • timeline trace 성능 문제 진단 가능

특징

  • HeadLess 환경 제공
  • 모든 환경에서 사용 가능 (리눅스, 윈도우, 맥 등)
  • ifream 이나 popup 형태 새로운 탭 등의 화면을 제어 가능
  • ES6 으로 작성된 웹페이지도 제어 가능
  • 웹의 모든 제어 ( 스크린 크기, 쿠키 및 세션, 서비스 워커, DevTools)

해당 라이브러리를 Docker 환경에서 간단하게 실습 한다