awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
ultrafunkamsterdam avatar

ultrafunkamsterdam/nodriver

0
View on GitHub↗
3,578 stars·344 forks·Python·agpl-3.0·19 views

Nodriver

nodriver is an asynchronous Chromium browser automation framework that provides headless control and web scraping capabilities. It functions as a Chrome DevTools Protocol client, allowing for granular engine control by attaching directly to the browser's debug port without the need for external driver binaries.

The framework is specifically designed as an anti-bot detection bypass tool. It modifies browser fingerprints and protocol headers to evade automated security systems, handle security warnings, and bypass common obstacles like insecure connection alerts.

The system covers a broad range of automation capabilities, including user input simulation, element discovery via CSS selectors or image matching, and custom JavaScript execution. It also provides session management for cookie persistence, network event monitoring, and tools for capturing page content through screenshots and video.

Features

  • Anti-Bot Evasion - Evades bot detection systems by mimicking browser fingerprints and headers to bypass security services.
  • Browser Automation - An asynchronous framework for controlling Chromium-based browsers to perform web scraping and automation.
  • Browser Automation Frameworks - Functions as an asynchronous framework for controlling Chromium browsers without requiring external driver binaries.
  • Driverless Browser Integrations - Controls the browser engine by attaching directly to its debug port instead of using a middleman binary like ChromeDriver.
  • Script Execution Contexts - Injects and evaluates custom JavaScript directly within the browser's execution context to manipulate the DOM.
  • Session-Cookie Persistences - Maintains authenticated states by serializing and reloading cookies and browser profile data from local storage.
  • UI Element Interactions - Automates direct user actions such as clicking, typing, dragging, and scrolling on specific page elements.
  • DOM Element Selectors - Finds elements using CSS selectors and text matches to target specific page components for automation.
  • JavaScript Execution Bridges - Executes arbitrary JavaScript code within the browser context and returns the results to the automation script.
  • Browser Session Persistence - Implements mechanisms for maintaining and reusing authenticated browser sessions to avoid repeated login procedures.
  • Headless Browser Controllers - Controls headless browser instances to execute JavaScript and simulate human interactions.
  • Chrome DevTools Protocols - Provides deep integration with Chrome DevTools Protocols for bidirectional communication and browser control.
  • DevTools Protocol Clients - Functions as a direct client for the Chrome DevTools Protocol to control the browser without external binaries.
  • Browser Session Managers - Manages browser profiles and cookies to persist authenticated states across automation sessions.
  • Web Scraping - Collects structured data from websites by simulating user interactions and executing JavaScript.
  • Browser Protocol Controllers - Allows the execution of raw, low-level CDP commands for granular control beyond standard automation APIs.
  • Human-Mimetic Input Simulations - Simulates human-like interactions, including mouse movement and keyboard input, to avoid bot detection.
  • Element Presence Retries - Automatically polls the browser state until requested elements appear to handle dynamic content loading.
  • Asynchronous Event Loops - Implements an asynchronous event-driven execution model to handle concurrent browser events without blocking.
  • SSL Warning Bypasses - Automatically bypasses invalid SSL certificate warnings to maintain automation on insecure connections.
  • Page State Captures - Saves browser page states as screenshots or video recordings for documentation and behavior verification.
  • Iframe Navigators - Provides the ability to locate and interact with elements nested inside iframes and shadow DOMs.
  • Network Traffic Monitors - Registers callbacks to monitor and react to real-time network traffic and requests within the browser.
  • Visual Element Locators - Locates page elements by analyzing pixel patterns through screenshots when CSS selectors are unavailable.
  • Image-Based - Finds the coordinates of elements using image matching to locate items hidden from the document object model.
  • Browser Session Management - Provides programmatic control over browser tabs, including opening, closing, and navigating page history.
  • Web Automation Frameworks - Provides a framework for building scripts that automate complex web-based workflows and interactions.
  • Browser Dialog and Event Handlers - Registers callback functions to intercept and respond to specific browser events and UI states.

Star history

Star history chart for ultrafunkamsterdam/nodriverStar history chart for ultrafunkamsterdam/nodriver

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Open-source alternatives to Nodriver

Similar open-source projects, ranked by how many features they share with Nodriver.
  • autoscrape-labs/pydollautoscrape-labs avatar

    autoscrape-labs/pydoll

    6,919View on GitHub↗

    pydoll is a Chrome DevTools Protocol automation library and headless browser controller used for web data extraction and parallel browser automation. It controls Chromium-based browsers via direct WebSocket connections, allowing it to manage isolated browser contexts and tabs while bypassing the overhead and detection associated with WebDriver. The project features an anti-bot evasion framework that mimics natural human behavior, including mouse movements generated via Bezier curves and variable typing patterns. It provides specialized stealth capabilities to bypass behavioral analysis and au

    Pythonanti-detectionautomationbrowser-automation
    View on GitHub↗6,919
  • apify/crawlee-pythonapify avatar

    apify/crawlee-python

    8,097View on GitHub↗

    Crawlee-python is a web crawling framework for building scalable scrapers using Python. It serves as a comprehensive tool for web scraping automation, providing a system to extract structured data from websites using both lightweight HTTP requests and headless browser automation. The framework is distinguished by its anti-bot evasion capabilities, which include browser fingerprint impersonation and tiered proxy rotation to bypass detection systems and solve challenges such as Cloudflare. It also incorporates artificial intelligence for autonomous website navigation and schema-based data extra

    Pythonapifyautomationbeautifulsoup
    View on GitHub↗8,097
  • getgauge/taikogetgauge avatar

    getgauge/taiko

    3,663View on GitHub↗

    Taiko is a browser automation framework and web end-to-end testing library used to perform programmatic user actions and verify application behavior. It functions as a headless browser testing tool capable of simulating real interactions and asserting page states in Chromium and Firefox. The project includes a browser interaction recorder that captures live actions and exports them as executable JavaScript automation scripts. It also serves as a web accessibility auditor, analyzing pages to detect accessibility violations and ensure compliance with inclusive design standards. The framework c

    JavaScriptautomationheadlessheadless-browsers
    View on GitHub↗3,663
  • microsoft/playwright-climicrosoft avatar

    microsoft/playwright-cli

    3,871View on GitHub↗

    Playwright-cli is a command line interface for executing web tasks and automating browser interactions using the Playwright framework. It serves as a browser binary manager for downloading and installing specific browser engines and their required system dependencies, as well as a tool for running automated test suites across multiple engines to verify application behavior. The utility functions as a browser session controller, managing browser profiles and persistent storage states via the command line. It enables the execution of automation suites across different browser engines and config

    TypeScriptplaywright
    View on GitHub↗3,871
See all 30 alternatives to Nodriver→

Frequently asked questions

What does ultrafunkamsterdam/nodriver do?

nodriver is an asynchronous Chromium browser automation framework that provides headless control and web scraping capabilities. It functions as a Chrome DevTools Protocol client, allowing for granular engine control by attaching directly to the browser's debug port without the need for external driver binaries.

What are the main features of ultrafunkamsterdam/nodriver?

The main features of ultrafunkamsterdam/nodriver are: Anti-Bot Evasion, Browser Automation, Browser Automation Frameworks, Driverless Browser Integrations, Script Execution Contexts, Session-Cookie Persistences, UI Element Interactions, DOM Element Selectors.

What are some open-source alternatives to ultrafunkamsterdam/nodriver?

Open-source alternatives to ultrafunkamsterdam/nodriver include: autoscrape-labs/pydoll — pydoll is a Chrome DevTools Protocol automation library and headless browser controller used for web data extraction… apify/crawlee-python — Crawlee-python is a web crawling framework for building scalable scrapers using Python. It serves as a comprehensive… getgauge/taiko — Taiko is a browser automation framework and web end-to-end testing library used to perform programmatic user actions… microsoft/playwright-cli — Playwright-cli is a command line interface for executing web tasks and automating browser interactions using the… sawyerhood/dev-browser — Dev-browser is a browser automation framework and headless browser controller that provides a sandboxed script runner… php-webdriver/php-webdriver — php-webdriver is a WebDriver PHP client and browser automation framework that implements the W3C WebDriver standard.…