What is Puppeteer?

Short overview of Chrome team developed Node library which provides a high-level API to control headless Chrome over the DevTools Protocol
17 October 2017   5635

Puppeteer is a Node library which provides a high-level API to control headless Chrome over the DevTools Protocol. It can also be configured to use full (non-headless) Chrome.

What can it do? 

Most things that you can do manually in the browser can be done using Puppeteer! Here are a few examples to get you started:

  • Generate screenshots and PDFs of pages.
  • Crawl a SPA and generate pre-rendered content (i.e. "SSR").
  • Scrape content from websites.
  • Automate form submission, UI testing, keyboard input, etc.
  • Create an up-to-date, automated testing environment. Run your tests directly in the latest version of Chrome using the latest JavaScript and browser features.
  • Capture a timeline trace of your site to help diagnose performance issues. 

The goals of the project are simple:

  • Provide a slim, canonical library that highlights the capabilities of the DevTools Protocol.
  • Provide a reference implementation for similar testing libraries. Eventually, these other frameworks could adopt Puppeteer as their foundational layer.
  • Grow the adoption of headless/automated browser testing.
  • Help dogfood new DevTools Protocol features...and catch bugs!
  • Learn more about the pain points of automated browser testing and help fill those gaps.

Project is maintained by Chrome DevTools team. Learn more at GitHub and try it out on official website.  

Frontend News Digest 1 - 7.02

How to Create a WP Site with JAMstack, formatting dates in JS with Intl.DateTimeFormat, Edge DevTools now supports more languages and more
07 February 2020   467

Greetings! I hope your week went great! Here's new frontend technologies news digest.

Check the MongoDB One-to-Many Relationship tutorial with Mongoose examples, the CO2 emission of the websites new NodeJS update and other interesting things

Guides

  • How To Create A Headless WordPress Site On The JAMstack

Tutorial on simple way to create a WordPress site

  • MongoDB One-to-Many Relationship tutorial with Mongoose examples

Guide about Mongoose - the most popular way to use MongoDB from Node.js.

  • Formatting dates in JavaScript with Intl.DateTimeFormat

Check the modern way to format dates in a region friendly way using native APIs, as now supported all major browsers and both Node

Articles

  • CO2 emissions on the web

Learn the lever of CO2 emissions websites produce by consuming a lot of energy for its activity

  • Bringing the Microsoft Edge DevTools to more languages

Now Edge's DevTools support more languages

Video

  • Chrome 80 - What’s New in DevTools

Updates

  • massCode

Snippets manager for developers

  • micro-jaymock

Tiny API mocking microservice for generating fake JSON data

  • Node v13.8.0 (Current)

Another update of popular solution

  • Electron 8.0.0

Major release of popular JS based solution