공식 문서에서 바로 :
Puppeteer는 DevTools 프로토콜을 통해 Chrome 또는 Chromium을 제어하는 고급 API를 제공하는 노드 라이브러리입니다. Puppeteer는 기본적으로 헤드리스로 실행되지만 전체 (헤드리스가 아닌) Chrome 또는 Chromium을 실행하도록 구성 할 수 있습니다.
그것을 분해 해보자 :
- node library : Node.js 및 Javascript는 대부분의 웹 애플리케이션의 중추이며 이미 대부분의 개발자에게 친숙합니다.
- high-level API : 브라우저 (Chrome 또는 Chromium)를 통해 웹 페이지와 상호 작용하기 위한 사람이 읽을 수 있는 인터페이스 ...
- ... The DevTools Protocol : Chrome 기능을 다양한 개발 지향 도구에 노출하는 데 사용되는 표준 프로토콜
- headless : 그래픽 사용자 인터페이스 없이 실행됩니다.
Puppeteer는 Chrome DevTools 팀에서 유지 관리하는 오픈 소스 프로젝트라는 점은 주목할 가치가 있습니다. 어떻게 기여할 수 있는지 알아보십시오! # 주요 사용 사례
주요 사용 사례
이제 우리는 Puppeteer가 무엇인지 알고 있습니다. 다음 질문은 "무엇을 위해 사용할 수 있습니까?"입니다.
- 최신 웹 애플리케이션의 테스트 자동화 : 사용자 / 고객에게 노출되는 기능이 실제로 예상대로 작동하는지 확인합니다.
- 웹 페이지의 스크린 샷 찍기 : 간단한 보관에서 자동 비교에 이르는 다양한 용도에 유용합니다. 시각적 테스트.
- 데이터를 위한 웹 사이트 스크래핑 : 나중에 검색하거나 분석하기 위해 웹 사이트에서 데이터를 추출합니다.
- 웹 페이지 상호 작용 자동화 : 웹 사이트에서 자동으로 수행하려는 모든 종류의 작업 순서를 가속화하고 확장합니다.
이 가이드에서는 이러한 모든 사용 사례를 살펴볼 것입니다.
철학과 목표
- 현재 주로 Chrome을 지원하지만 Firefox 야간도 지원합니다. 향후 더 많은 브라우저가 지원 될 수 있습니다. 그래도 Puppeteer는 브라우저 간 테스트 도구가 아닙니다. 주요 초점은 Chrome에 있으며 빠르고 강력합니다.
- Chromium 프로젝트와 마찬가지로 속도, 보안, 안정성 및 단순성에 중점을 둡니다. 트레이드 오프가 임박 할 때 이 네 가지가 우선 순위가 될 것으로 예상하십시오.
- Chromium은 Puppeteer와 함께 번들로 제공되어 비 호환성을 최소화합니다. 즉, 모든 Puppeteer 버전에는 지원하는 특정 Chromium 버전이 있습니다.
추가 읽기
- 공식 Puppeteer API 문서
- 공식 Puppeteer GitHub 저장소
- Nitay Neeman의 실용적인 예제를 사용한 Puppeteer 알아보기
https://theheadless.dev/posts/basics-puppeteer-intro/