All Projects → bayandin → devtools-proxy

bayandin / devtools-proxy

Licence: MIT license
Multiplexing proxy for Chrome DevTools. Fully compatible with Selenium and ChromeDriver

Programming Languages

python
139335 projects - #7 most used programming language
shell
77523 projects

Projects that are alternatives of or similar to devtools-proxy

Nightwatch
End-to-end testing framework written in Node.js and using the Webdriver API
Stars: ✭ 10,912 (+16950%)
Mutual labels:  selenium, chromedriver
TikTok
Download public videos on TikTok using Python with Selenium
Stars: ✭ 37 (-42.19%)
Mutual labels:  selenium, chromedriver
Zillow
Zillow Scraper for Python using Selenium
Stars: ✭ 141 (+120.31%)
Mutual labels:  selenium, chromedriver
Sillynium
Automate the creation of Python Selenium Scripts by drawing coloured boxes on webpage elements
Stars: ✭ 100 (+56.25%)
Mutual labels:  selenium, chromedriver
jest-selenium
This project shows how to drive your selenium tests with Jest.
Stars: ✭ 22 (-65.62%)
Mutual labels:  selenium, chromedriver
Instagram Profilecrawl
💻 Quickly crawl the information (e.g. followers, tags, etc...) of an instagram profile. No login required!
Stars: ✭ 110 (+71.88%)
Mutual labels:  selenium, chromedriver
Panther
A browser testing and web crawling library for PHP and Symfony
Stars: ✭ 2,480 (+3775%)
Mutual labels:  selenium, chromedriver
Undetected Chromedriver
Custom Selenium Chromedriver | Zero-Config | Passes ALL bot mitigation systems (like Distil / Imperva/ Datadadome / CloudFlare IUAM)
Stars: ✭ 365 (+470.31%)
Mutual labels:  selenium, chromedriver
Cdp4j
cdp4j - Chrome DevTools Protocol for Java
Stars: ✭ 232 (+262.5%)
Mutual labels:  chrome-devtools, selenium
Chrome Protocol Proxy
Chrome DevTools Protocol Proxy - intelligent proxy for debugging purposes
Stars: ✭ 94 (+46.88%)
Mutual labels:  chrome-devtools, chromedriver
Autocrawler
Google, Naver multiprocess image web crawler (Selenium)
Stars: ✭ 957 (+1395.31%)
Mutual labels:  selenium, chromedriver
chameleon-crawler
Browser automation for Chameleon.
Stars: ✭ 17 (-73.44%)
Mutual labels:  selenium, chromedriver
Docker Python Chromedriver
Dockerfile for running Python Selenium in headless Chrome (Python 2.7 / 3.6 / 3.7 / 3.8 / Alpine based Python / Chromedriver / Selenium / Xvfb included in different versions)
Stars: ✭ 385 (+501.56%)
Mutual labels:  selenium, chromedriver
Webdrivermanager
WebDriverManager (Copyright © 2015-2021) is a project created and maintained by Boni Garcia and licensed under the terms of the Apache 2.0 License.
Stars: ✭ 1,808 (+2725%)
Mutual labels:  selenium, chromedriver
Node Chromedriver
An installer and wrapper for Chromedriver.
Stars: ✭ 378 (+490.63%)
Mutual labels:  selenium, chromedriver
Whatsapp Assistant Bot
A personal WhatsApp assistant bot that will help you search anything on the web (Google, Images, Google Maps)
Stars: ✭ 198 (+209.38%)
Mutual labels:  selenium, chromedriver
headless-chrome
Implementation of the new headless chrome with chromedriver and selenium.
Stars: ✭ 34 (-46.87%)
Mutual labels:  selenium, chromedriver
whatabomb
A whatsapp bombing GUI Script
Stars: ✭ 84 (+31.25%)
Mutual labels:  selenium, chromedriver
Thorium
Chromium fork for linux named after radioactive element No. 90. Windows and Special builds are in different repositories, links are towards the top of the README.md.
Stars: ✭ 45 (-29.69%)
Mutual labels:  chrome-devtools, chromedriver
Fifa21-Autobidder
Selenium-based bot that autobids and autobuys players on FIFA 23 Ultimate Team's transfer market
Stars: ✭ 106 (+65.63%)
Mutual labels:  selenium, chromedriver

DevTools Proxy

Build Status PyPI GitHub release

DevTools Proxy is a tool for creating simultaneous connections via DevTools Protocol (which is not possible by default and it is possible since Chrome 63 even without DevTools Proxy).

How it works

+---+      +---+
| C |      |   |
| L |      | D |    +-----------+
| I |      | E |    |           |
| E |<---->| V |    |  BROWSER  |
| N |      | T |    |           |
| T |      | O |    |           |
+---+      | O |    |   +---+   |
           | L |    |   | T |   |
           | S |<-----> | A |   |
+---+      |   |    |   | B |   |
| C |      | P |    |   +---+   |
| L |      | R |    |           |
| I |<---->| O |    |           |
| E |      | X |    |           |
| N |      | Y |    +-----------+
| T |      |   |
+---+      +---+

Installation

  • Download & unzip standalone binary for your system.
  • If you use Python (at least 3.6) you can install it via pip: pip install devtools-proxy

Usage

With Selenium and ChromeDriver

There are examples for Python and Ruby. Demos for CPU Throttling, Network requests and Remote debugging.

Standalone (for any language)

  • Configure ChromeOptions:
    • Set path to chrome-wrapper.sh as a binary. Optional arguments are mentioned in example for Python below
    • Add --devtools-proxy-binary=/path/to/devtools-proxy to args

Python

devtools-proxy pypi package supports at least Python 3.6. If you use lower Python version use Standalone package.

pip install -U devtools-proxy
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities

from devtools.proxy import CHROME_WRAPPER_PATH

devtools_proxy_binary = 'devtools-proxy' # Or path to `devtools-proxy` from downloaded binaries

capabilities = DesiredCapabilities.CHROME.copy()
capabilities['chromeOptions'] = {
    'binary': CHROME_WRAPPER_PATH, # Or path to `chrome-wrapper.sh` from downloaded binaries
    'args': [
        f'--devtools-proxy-binary={devtools_proxy_binary}',
        # Optional arguments:
        # '--chrome-binary=/path/to/chrome/binary', # Path to real Chrome/Chromium binary
        # '--devtools-proxy-chrome-debugging-port=some-free-port', # Port which proxy will listen. Default is 12222
        # '--devtools-proxy-args=--additional --devtools-proxy --arguments, # Additional arguments for devtools-proxy from `devtools-proxy --help`
    ],
}

With multiple Devtools instances

  • Run devtools-proxy (by default it started on 9222 port)
  • Run Chrome with parameters --remote-debugging-port=12222 --remote-debugging-address=127.0.0.1
  • Open a website which you want to inspect
  • Open debugger in a new Chrome tab: http://localhost:9222 and choose your website to inspect
  • Repeat the previous step as many times as you need it
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].