Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Chrome DevTools
  3. pychrome

pychrome

NOASSERTIONPython

A Python package for controlling Google Chrome/Chromium via the Chrome DevTools Protocol with a threading-based API.

GitHubGitHub
649 stars116 forks0 contributors

What is pychrome?

pychrome is a Python package that provides a client for the Chrome DevTools Protocol, allowing developers to programmatically control Google Chrome or Chromium browsers. It enables automation tasks such as web scraping, testing, and browser interaction through a threading-based API. The library supports tab management, event listening, and full protocol method calls.

Target Audience

Python developers and automation engineers who need to automate browser interactions for testing, scraping, or monitoring web applications.

Value Proposition

pychrome offers a straightforward Pythonic interface to the Chrome DevTools Protocol with built-in threading support, making it easier to integrate browser automation into Python projects compared to lower-level protocol implementations.

Overview

A Python Package for the Google Chrome Dev Protocol [threading base]

Use Cases

Best For

  • Automating browser interactions for web scraping projects
  • Running headless Chrome for server-side rendering or testing
  • Building custom browser automation tools in Python
  • Monitoring network requests and page events programmatically
  • Integrating Chrome DevTools Protocol into Python applications
  • Developing automated testing frameworks for web applications

Not Ideal For

  • Teams seeking a ready-to-use testing framework with built-in assertions and reporting tools
  • Environments where Chrome cannot be installed or run with remote debugging enabled, such as restricted containers
  • Projects requiring cross-browser automation beyond Chrome/Chromium for compatibility testing

Pros & Cons

Pros

Full Protocol Access

Provides complete access to the Chrome DevTools Protocol, enabling comprehensive browser control for automation, debugging, and monitoring as highlighted in the Key Features.

Concurrent Operations Support

Built on a threading model that allows for concurrent event processing and method calls, improving performance in automation workflows, as mentioned in the threading support feature.

Pythonic Interface

Offers a straightforward, Python-friendly API that simplifies interaction with the low-level DevTools Protocol, aligning with the philosophy of simplicity and flexibility.

Event Callback System

Allows registration of callbacks for browser events like network requests and page loads, facilitating real-time monitoring, as demonstrated in the Getting Started examples.

Cons

External Chrome Dependency

Requires a separate Chrome or Chromium instance to be running with remote debugging enabled, adding setup complexity and resource overhead, as detailed in the Setup Chrome section.

Limited High-Level Abstractions

Lacks built-in utilities for common automation tasks like element interaction, requiring developers to implement these using low-level protocol methods or external libraries.

Protocol Compatibility Risks

Tied to the Chrome DevTools Protocol, which can change with Chrome updates, potentially causing breaking changes that require library updates or manual adjustments.

Frequently Asked Questions

Quick Stats

Stars649
Forks116
Contributors0
Open Issues27
Last commit2 years ago
CreatedSince 2017

Tags

#threading#chrome#headless-chrome#chrome-debugging-protocol#python#testing#api-client#chrome-devtools-protocol#chrome-devtools#headless#web-scraping#browser-automation

Built With

P
Python

Included in

Chrome DevTools6.9k
Auto-fetched 10 hours ago

Related Projects

ios-webkit-debug-proxyios-webkit-debug-proxy

A DevTools proxy (Chrome Remote Debugging Protocol) for iOS devices (Safari Remote Web Inspector).

Stars6,203
Forks480
Last commit1 year ago
Remote Debug iOS WebKit adapterRemote Debug iOS WebKit adapter

Debug Safari and WebViews on iOS from tools like VS Code and Chrome DevTools

Stars2,739
Forks223
Last commit5 years ago
DevTools RemoteDevTools Remote

Debug your browser tabs remotely via Chrome DevTools

Stars700
Forks36
Last commit9 years ago
IE Diagnostics AdapterIE Diagnostics Adapter

IE Diagnostics Adapter is a standalone exe that enables tools to debug and diagnose IE11 using the Chrome remote debug protocol.

Stars571
Forks43
Last commit10 years ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub