Chrome DevTools
DevTools tooling and ecosystem
Network Inspection
CPU profile
Chrome DevTools Protocol
Libraries for driving the protocol (or a layer above)
JavaScript/Node.js:
TypeScript/Node.js:
TypeScript/Node.js:
Rust:
Java:
Java: - Headless Chrome For Java
Python: - Pure-Python, sans-IO wrappers. See also the Trio CDP driver
Python: - drop-in replacement for the splash service
Python: - Puppeteer port
Python: - high-level browser mgmt
Go: - High-level actions and tasks for driving browsers
Go:
Go:
Go:
Go:
C#/.NET: - Puppeteer port
C#/dotnet: - Protocol wrapper generator that can be customized by editing handlebars templates. Includes .Net Core template.
C#/.NET: - A runtime library and schema code generation tools for Chrome DevTools Protocol support in C#/.NET.
Ruby: - high-level API to control Chrome in Ruby
Ruby: - Capybara driver
Kotlin: - reactive (rxjava 2.x), low-level client library in Kotlin
Kotlin: - A coroutine-based client library, providing low-level CDP primitives and high-level extensions.
Clojure: - The CDP wrapper API is autogenerated and will be updated when CDP protocol changes.
Clojure: - Providing a high-level API for UI test automation over the DevTools Protocol.
PHP: - A PHP client library for the protocol.
PHP: - PHP bridge to node Puppeteer
Developing with the protocol
The big two automation libraries
Node.js offering a high-level API to control headless Chrome over the DevTools Protocol. See also awesome-puppeteer.
Library to automate Chromium, Firefox and WebKit with a single API. Available for Node.js, Python, .Net, Java. See also awesome-playwright.
Using DevTools frontend with other platforms
Android
ClojureScript
iOS
Node.js
Applications
Browsers
Embed Chrome in a web page, largely powered by DevTools and supporting multiuser browsing, remote DevTools, audio, and documents like .docx, .pdf, and more.
A proof-of-concept web browser built with Puppeteer, written in Node.js, HTML and CSS, with 0% client-side JavaScript.
DevTools Extensions
Workflow
Inspect Vue.js components and manipulate their data.
A WebGL debugging toolkit which enables more productive WebGL development and more efficient WebGL applications.
Inspect BEM entities expressed in i-bem framework.
Performance
Alumni
Allows you to connect a client to multiple browsers at once.
Standalone implementation of the Chrome DevTools backend to debug arbitrary web environments.
low level CDP transport handler
Exposes Mobile Safari & UIWebView instances via the CDP.
Protocol adaptor for Microsoft IE 11 to CDP.