1.8.5 • Published 2 months ago

simple-cdp v1.8.5

Weekly downloads
-
License
MIT
Repository
github
Last release
2 months ago

Introduction

simple-cdp is a JavaScript library to interact with the Chrome DevTools Protocol.

Install

You can install the library:

  • from JSR:
deno add @simple-cdp/simple-cdp
  • from NPM:
npm install simple-cdp

Usage example

Start a Chromium-based browser with the switch --remote-debugging-port=9222 and run the script below.

// import the module (replace with "simple-cdp" if using NPM)
import { cdp } from "@simple-cdp/simple-cdp";

// enable auto-attach to new targets
await cdp.Target.setAutoAttach({
  autoAttach: true,
  flatten: true,
  waitForDebuggerOnStart: false
});

// add event listener triggered when a session is attached to a target
cdp.Target.addEventListener("attachedToTarget", onAttachedToTarget);

// create a new target and navigate to https://example.com
const url = "https://example.com";
await cdp.Target.createTarget({ url });

async function onAttachedToTarget({ params }) {
  // get session ID
  const { sessionId, targetInfo } = params;

  // check if the target is a page
  if (targetInfo.type === "page") {
    // enable "Runtime" domain
    await cdp.Runtime.enable(null, sessionId);

    // evaluate JavaScript expression
    const expression = "41 + 1";
    const { result } = await cdp.Runtime.evaluate(
      { expression }, sessionId);

    // display result in the console (i.e. 42)
    console.log(result.value);
  }
}

You can also create a CDP instance from the target's information, which eliminates the need to manage the session ID.

// import the module (replace with "simple-cdp" if using NPM)
import { createTarget, CDP } from "@simple-cdp/simple-cdp";

// navigate to https://example.com
const url = "https://example.com";
const targetInfo = await createTarget(url);

// create a CDP instance for the target
const cdp = new CDP(targetInfo);

// enable "Runtime" domain
await cdp.Runtime.enable();

// evaluate JavaScript expression
const expression = "41 + 1";
const { result } = await cdp.Runtime.evaluate({ expression });

// display result in the console (i.e. 42)
console.log(result.value);
1.8.5

2 months ago

1.8.4

2 months ago

1.8.3

2 months ago

1.8.2

2 months ago

1.8.1

2 months ago

1.8.0

2 months ago

1.7.17

2 months ago

1.7.18

2 months ago

1.7.19

2 months ago

1.7.11

2 months ago

1.7.12

2 months ago

1.7.13

2 months ago

1.7.14

2 months ago

1.7.15

2 months ago

1.7.16

2 months ago

1.7.10

2 months ago

1.4.5

3 months ago

1.6.2

3 months ago

1.4.4

3 months ago

1.6.1

3 months ago

1.4.3

3 months ago

1.6.0

3 months ago

1.4.2

3 months ago

1.7.9

3 months ago

1.7.8

3 months ago

1.7.7

3 months ago

1.7.6

3 months ago

1.7.5

3 months ago

1.7.4

3 months ago

1.7.3

3 months ago

1.7.2

3 months ago

1.7.1

3 months ago

1.7.0

3 months ago

1.5.0

3 months ago

1.4.7

3 months ago

1.2.0

3 months ago

1.2.8

3 months ago

1.2.7

3 months ago

1.2.6

3 months ago

1.2.5

3 months ago

1.2.4

3 months ago

1.4.1

3 months ago

1.2.3

3 months ago

1.4.0

3 months ago

1.2.2

3 months ago

1.3.0

3 months ago

1.2.1

3 months ago

1.2.9

3 months ago

1.1.23

3 months ago

1.1.22

3 months ago

1.1.9

3 months ago

1.1.8

3 months ago

1.1.7

3 months ago

1.1.12

3 months ago

1.1.11

3 months ago

1.1.10

3 months ago

1.1.16

3 months ago

1.1.15

3 months ago

1.1.14

3 months ago

1.1.13

3 months ago

1.1.19

3 months ago

1.1.18

3 months ago

1.1.17

3 months ago

1.1.20

3 months ago

1.1.6

3 months ago

1.1.5

3 months ago

1.1.4

3 months ago

1.1.3

3 months ago

1.1.2

3 months ago

1.1.1

3 months ago

1.1.0

3 months ago

1.0.2

3 months ago

1.0.1

3 months ago

1.0.0

3 months ago