Skip to content

fheday/browser-debugger-tools

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

167 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

browser-debugger-tools

Build Status PyPI Python License

Overview

The purpose is to provide a python client to connect to the debugger tools of a web-browser.

Currently supports connecting to Google-Chrome/Chromium over the devtools protocol, via a wrapped websockets client. Feel free to extend and add support for other browsers as required.

For improved performance, install the wsaccel python lib https://pypi.org/project/wsaccel/

Example Usage

Start Google-Chrome, passing a remote debugger port argument, for example on Ubuntu:

$ google-chrome-stable --remote-debugging-port=9899

In a python console, you can connect to the remote debugging port and enable the Page domain.

>> devtools_client = ChromeInterface(9899, domains={"Page": {}})

The client provides some devtools interface methods, for example:

>> with devtools_client.set_timeout(10):
   ... devtools_client.take_screenshot("/tmp/screenshot.png")

Or more generally you can call remote methods according to the devtools protocol spec (https://chromedevtools.github.io/devtools-protocol/tot/Network), for example

>> devtools_client.execute(domain="Network", method="enable")
>> devtools_client.execute("Network", "setUserAgentOverride", {"userAgent": "Test"})

About

A python client for the devtools protocol

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 99.3%
  • Other 0.7%