기본 예제를 통해 Puppeteer 자습서를 시작해 보겠습니다. 우리는 우리의 머리없는 브라우저가 우리의 선택의 웹 사이트의 스크린 샷을 하는 원인이 스크립트를 작성합니다. 헤드리스 브라우저는 매우 강력한 도구입니다. 그들은 거의 모든 종류의 웹 자동화 작업을 수행 할 수 있으며 Puppeteer는 이를 더욱 쉽게 만듭니다. 모든 가능성에도 불구하고, 우리는 우리가 시스템을 남용하지 않도록 하기 위해 웹 사이트의 서비스 약관을 준수해야합니다. 마지막으로 (이 게시물에 대 한) 멋진 물건 우리가 인형으로 할 수 있는 추적을 기록 하 고 그것을 저장 하는. 저장된 Json 파일을 Chrome에서 가져와 성능 및 스크립팅 문제를 감사할 수 있습니다. 타사 서비스 사용을 제한하는 것과 마찬가지로 Puppeteer 사용을 제어하는 다른 보다 강력한 방법이 많이 있습니다. 한 가지 예로 제한된 수의 작업자가 있는 큐 시스템을 구축하는 것입니다. Puppeteer를 사용할 때마다 새 작업을 큐에 푸시하지만 작업에서 작업할 수 있는 작업자수는 제한되어 있습니다. 이는 타사 API 속도 제한을 처리할 때 매우 일반적인 관행이며 Puppeteer 웹 데이터 스크래핑에도 적용할 수 있습니다.

가장 큰 단점은 Puppeteer는 크롬에서만 작동한다는 것입니다. 나는 우리의 사용자가 독점적으로 크롬을 사용하는 응용 프로그램에서 작업의 행운을 했다, 이는 Puppeteer 엔드 – 투 – 엔드 테스트를위한 아주 좋은 옵션을 만든, 하지만 사용자 기반이 브라우저 환경 설정에 더 다양한 경우, 다른 테스트로 보는 것이 현명 할 수있다 Cypress.io, 테스트카페, 셀레늄 웹 드라이버 와 같은 프레임워크를 사용합니다. 당신은 우리가 여기에 DOM에 액세스 할 수 있음을 발견 할 수 있습니다 – 이것은 Puppeteer가 제공하는 매우 좋은 친숙한 API입니다! 다행히도, Puppeteer는 사용자 지정 후크에 대 한 지원 함께 제공 하기 때문에이 경우에 함께 작동 하는 꽤 멋진. 우리는 모든 요청에 인터셉터를 제공하고 우리가 정말로 필요하지 않은 것들을 취소 할 수 있습니다. 두 번째 Puppeteer 예제는 웹 사이트 (재미있는 소매 웹 사이트, ThinkGeek,이 경우)로 이동하고 PDF로 방문하는 사이트 페이지를 만듭니다. 이 스크립트에서 Puppeteer는 새 브라우저 페이지를 시작하고 Google로 이동하여 검색 상자와 검색 버튼이 표시될 때까지 기다렸다가 입력에 `쿠키`를 입력한 다음 페이지가 쿠키 검색 결과로 이동하기를 기다린 다음 스크린샷을 찍습니다. 브라우저를 OSING. 웹 기술은 빠르게 발전하고 있습니다. 일부 웹 사이트는 JavaScript 렌더링에 너무 의존하여 간단한 HTTP 요청을 실행하여 긁거나 일종의 자동화를 수행하는 것이 거의 불가능해졌습니다. 다행히도, 헤드리스 브라우저는 Puppeteer와 같은 프로젝트와 그 뒤에 있는 멋진 팀 덕분에 자동화 요구 사항을 모두 처리할 수 있게 되었습니다! 스피커, 테일러 크루젠, 인형과 머리가없는 크롬에 큰 이야기를하고 다음 단계로 종단 간 테스트를 하기 위해 함께 그들을 사용하여.