<p align="center">
<img width="480" alt="Image" src="https://github.com/user-attachments/assets/061494b2-e06c-4ed4-a317-ba2319f32ba8" />
</p>

<h1>MyCDP 🌐 <a href="https://pypi.python.org/pypi/mycdp" target="_blank"><img src="https://img.shields.io/pypi/v/mycdp.svg?color=3399EE" alt="PyPI version" /></a></h1>

### **[MyCDP](https://github.com/mdmintz/MyCDP)** (PyPI: [``mycdp``](https://pypi.python.org/pypi/mycdp)) is a collection of autogenerated CDP (Chrome DevTools Protocol) utilities for enabling Chromium automation with Python without the need for external automation drivers (such as WebDriver) for controlling the browser.

Additionally, MyCDP can be used to connect to an existing Chromium browser instance if the `remote-debugging-port` is known. This advanced option allows for browsers to be controlled by multiple automation frameworks at the same time.

This isn't a standalone product. Import `MyCDP` into your automation frameworks for driving the browser and using CDP commands.

[SeleniumBase](https://github.com/seleniumbase/SeleniumBase) (via [CDP Mode](https://github.com/seleniumbase/SeleniumBase/blob/master/examples/cdp_mode/ReadMe.md)) is one of the frameworks using **MyCDP**.

----

For the direct **CDP** API, (which **MyCDP** calls), see: https://chromedevtools.github.io/devtools-protocol/

Note that **CDP** itself can be found in most automation frameworks:

<img src="https://github.com/user-attachments/assets/349850f0-45d4-45c9-9425-05736207ec0f" title="CDP" width="560" />

----

**MyCDP** makes **CDP** more accessible to Python frameworks.
