Puppeteer is a browser automation library developed by the Chrome Dev Tools team.
Simply put, it is a tool that allows you to control your web browser with NodeJS scripts.
In more technical terms it supports automating Chrome/Chromium over the non-standard DevTools Protocol.
There is experimental Firefox support as well.
You can do almost anything with Puppeteer that you normally do manually. According to the official website, this list of possible actions includes: