Puppeteer recorder is a Chrome extension that records your browser interactions and generates a Puppeteer script. This project is very much in alpha stage, but does the following already:
- Records clicks and type events
- Generates a Puppeteer script
- Shows events being recorded
- Copy to clipboard
- Offers configuration options
- hit tab after you finish typing in an
input
element. - wait for full page loads on each navigation.
Writing Puppeteer scripts for scraping, testing and monitoring can be tricky. A recorder / code generator can be helpful, even if the code isn't perfect. This project builds on other projects (see disclaimer below) but add extensibility, configurability and a smoother UI.
- Run:
git clone https://github.com/checkly/puppeteer-recorder.git
- Build the project:
cd puppeteer-recorder && npm i && npm run dev
- Navigate to chrome://extensions
- Make sure 'Developer mode' is checked
- Click Load unpacked extension...
- Browse to puppeteer-recorder/build and click Select
- For some dark reason, the popup does not open on very first click. Second and following clicks are fine.
- When navigating between pages, the script is only injected when the full navigation is done, 'committed' in Chrome extension speak. This means you might be able to see the page and click on stuff, but no events are recorded.
- Restarting a recording reloads the extension in the background. This is annoying and has to do with state, handlers and open message connections between parts of the extension misfiring.
Puppeteer recorder is the spiritual successor & love child of segment.io's Daydream and ui recorder.
MIT