Socket
Socket
Sign inDemoInstall

domrec-puppeteer

Package Overview
Dependencies
1
Maintainers
1
Versions
2
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    domrec-puppeteer

Puppeteer package to use domrec-core to record DOM changes


Version published
Weekly downloads
3
Maintainers
1
Install size
38.3 kB
Created
Weekly downloads
 

Readme

Source

domrec-puppeteer

Uses domrec-core to record DOM changes inside puppeteer scripts. Basically, makes it possible to record videos in headless chrome.

Installation

npm install --save domrec-puppeteer or yarn add domrec-puppeteer

Usage

const {PuppeteerRecorder} = require('domrec-puppeteer')

// ...We are skipping the full setup of the puppeteer browsing session here
const page = await browser.newPage()

// Setup the Dom Recorder
const recorder = new PuppeteerRecorder(page)
await recorder.init()

// do your thing with puppeteer

await recorder.stopRecording()
await browser.close()
const recordings = recorder.recordings

API

  • new PuppeteerRecorder(page): Create a new PuppeteerRecorder. Page should be a puppeteer page
  • async init(): Sets up everything
  • async stopRecording(): Gathers data from the current open website. You should use this before closing the browser or after a failed test

Properties:

  • recordings: The collected recordings. For information about the data structure see https://github.com/Junkern/DOMRec

What to do with the recordings?

Use the DOMRecPlayer from https://github.com/Junkern/DOMRec#replaying

Inner Working

We use the recording.js from domrec-core to record dom changes. We also have a second script to simplify using the DOMRecorder.

To inject the two scripts, we use page.evaluateOnNewDocument. To receive the data of the dom recording, we use page.exposeFunction.

At the moment, we only start recording after the DOMContentLoaded event on the website was triggered and we record the whole document.body.

There are plans to make both settings (when and what to record) customizable.

FAQs

Last updated on 15 Dec 2020

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc