Metadata-Version: 2.0
Name: cproto
Version: 0.1.6
Summary: Chrome Debugging Protocol client
Home-page: https://github.com/asyne/cproto
Author: Evan K.
Author-email: cproto+asyne.inout@gmail.com
License: MIT
Keywords: chrome debug client
Platform: UNKNOWN
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Topic :: Internet :: WWW/HTTP :: Browsers
Classifier: Topic :: Software Development :: Debuggers
Classifier: Topic :: Software Development :: Testing
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.3
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Requires-Dist: websocket-client

CProto
------

**CProto** is a Debugging Protocol client that supports Chrome, Chromium
and Blink based browsers.

**CProto** provides you an advanced interface to interact with Headless
Chrome instance from your Python code. It’s greatly useful for automated
testing, debugging, profiling or even complicated page crawling.

*This project is under development. More updates are coming soon.*

How does API look like?
~~~~~~~~~~~~~~~~~~~~~~~

**CProto** interface is fully compatible with `official Chrome Debugging
Protocol API`_.

.. code:: python


    from cproto import CProto

    # Create CProto instance & connect to Chrome Headless over CDP
    cp = CProto(host='127.0.0.1', port=9222)

    # Navigate to https://github.com
    cp.Page.navigate(url='https://github.com')

Running Chrome Headless with Docker
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

While Chrome Headless mode is only available for Linux (MacOS coming
soon), you could use `Docker`_ to run Headless mode on any major OS.

.. code:: sh

    # Build Docker image for Chrome Headless:
    $ docker build -t headless .

    # Run Docker Chrome Headless mode container with port 9222 being proxied to the host machine:
    $ docker run --rm -it --cap-add=SYS_ADMIN -p 9222:9222 headless

    # That's all here. Chrome Debugging interface is now listening for connections.
    # You could check it out by opening this link in your browser – http://localhost:9222.

.. _official Chrome Debugging Protocol API: https://chromedevtools.github.io/devtools-protocol/
.. _Docker: https://www.docker.com/

