All Projects → N0taN3rd → simplechrome

N0taN3rd / simplechrome

Licence: other
Webrecorders DevTools Protocol Automation Library

Programming Languages

python
139335 projects - #7 most used programming language
HTML
75241 projects

Projects that are alternatives of or similar to simplechrome

Secret Agent
The web browser that's built for scraping.
Stars: ✭ 151 (+843.75%)
Mutual labels:  chromium, puppeteer
Chromium for spider
dynamic crawler for web vulnerability scanner
Stars: ✭ 220 (+1275%)
Mutual labels:  chromium, puppeteer
Reactopt
A CLI React performance optimization tool that identifies potential unnecessary re-rendering
Stars: ✭ 1,975 (+12243.75%)
Mutual labels:  chromium, puppeteer
Wendigo
A proper monster for front-end automated testing
Stars: ✭ 121 (+656.25%)
Mutual labels:  chromium, puppeteer
pupflare
A webpage proxy that request through Chromium (puppeteer) - can be used to bypass Cloudflare anti bot / anti ddos on any application (like curl)
Stars: ✭ 183 (+1043.75%)
Mutual labels:  chromium, puppeteer
Puppeteer Sharp
Headless Chrome .NET API
Stars: ✭ 2,122 (+13162.5%)
Mutual labels:  chromium, puppeteer
Phantomas
Headless Chromium-based web performance metrics collector and monitoring tool
Stars: ✭ 2,191 (+13593.75%)
Mutual labels:  chromium, puppeteer
Puppetron
Puppeteer (Headless Chrome Node API)-based rendering solution.
Stars: ✭ 429 (+2581.25%)
Mutual labels:  chromium, puppeteer
Serverless Chrome
🌐 Run headless Chrome/Chromium on AWS Lambda
Stars: ✭ 2,625 (+16306.25%)
Mutual labels:  chrome-debugging-protocol, chromium
node-headless-chrome
⚠️ 🚧 Install precompiled versions of the Chromium/Chrome headless shell using npm or yarn
Stars: ✭ 20 (+25%)
Mutual labels:  chrome-debugging-protocol, chromium
Pyppeteer
Headless chrome/chromium automation library (unofficial port of puppeteer)
Stars: ✭ 1,286 (+7937.5%)
Mutual labels:  chromium, puppeteer
playwright-demos
playwright for scrapping and UI testing / automate testing workflows
Stars: ✭ 65 (+306.25%)
Mutual labels:  chromium, puppeteer
Puppeteer Docs Zh Cn
Google Puppeteer 文档的中文版本 , 目标版本 1.9.0, 翻译中...
Stars: ✭ 61 (+281.25%)
Mutual labels:  chromium, puppeteer
Google Meet Scheduler
😴 Attends classes for you.
Stars: ✭ 150 (+837.5%)
Mutual labels:  chromium, puppeteer
Headless Chrome Crawler
Distributed crawler powered by Headless Chrome
Stars: ✭ 5,129 (+31956.25%)
Mutual labels:  chromium, puppeteer
Chrome Aws Lambda
Chromium Binary for AWS Lambda and Google Cloud Functions
Stars: ✭ 2,502 (+15537.5%)
Mutual labels:  chromium, puppeteer
Gotenberg
A Docker-powered stateless API for PDF files.
Stars: ✭ 3,272 (+20350%)
Mutual labels:  chromium, puppeteer
Webster
a reliable high-level web crawling & scraping framework for Node.js.
Stars: ✭ 364 (+2175%)
Mutual labels:  chromium, puppeteer
Flaresolverr
Proxy server to bypass Cloudflare protection
Stars: ✭ 241 (+1406.25%)
Mutual labels:  chromium, puppeteer
clusteer
Clusteer is a Puppeteer wrapper written for Laravel, with the super-power of parallelizing pages across multiple browser instances.
Stars: ✭ 81 (+406.25%)
Mutual labels:  chromium, puppeteer

Simplechrome

An fork of pypuppeteer used by Webrecorder for automation that has been modified to meet our needs.

Notable Additions to the API / code base per our own use-case:

  • Changes to allow control of latests revisions of both Chrome and Chromium
  • Changes to facilitate using the uvloop event loop
  • Changes to input handling for evaluateOnNewDocument
  • Tracking child frame life cyles individually
  • Less strict application defaults
  • Keeps to date with puppeteer

Installation

Simplechrome requires python 3.6+.

Install latest version from github:

pip install -U git+https://github.com/webrecorder/simplechrome.git@master

Usage

Note: When you run simplechrome first time (if you do not supply an executablePath), it will download a recent version of Chromium (~100MB).

Example: Go to a web page and take a screenshot.

import asyncio
import uvloop
from simplechrome import launch

asyncio.set_event_loop_policy(uvloop.EventLoopPolicy())


async def main():
    browser = await launch()
    page = await browser.newPage()
    await page.goto('http://example.com')
    await page.screenshot({'path': 'example.png'})
    await browser.close()
    
if __name__ == '__main__':
    asyncio.get_event_loop().run_until_complete(main())
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].