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

Découvrez les meilleurs dépôts open-source grâce à notre recherche par IA.

ExplorerRecherches sélectionnéesAlternatives open sourceLogiciels auto-hébergésBlogPlan du site
ProjetÀ proposNotre méthodologiePresseServeur MCP
Mentions légalesConfidentialitéConditions d'utilisation
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
segmentio avatar

segmentio/nightmare

0
View on GitHub↗
19,775 stars·1,064 forks·JavaScript·8 vuesopen.segment.com↗

Nightmare

Nightmare is an Electron-based browser automation library and headless browser controller. It provides the infrastructure to programmatically navigate web pages, interact with DOM elements, and execute JavaScript within a background browser instance.

The project distinguishes itself by integrating a full Chromium instance within an Electron shell, allowing for the management of browser sessions, network proxy settings, and persistent storage partitions. It enables the capture of page states as PNG screenshots, PDF documents, or HTML files.

The tool covers a broad range of capabilities including automated web scraping, visual testing, and synthetic user monitoring. It includes utilities for cookie management, network traffic configuration via custom HTTP headers, and the ability to extend the browser's functionality through custom actions and plugins.

Features

  • Browser Automation - Provides a framework for controlling headless browsers to mimic user behaviors like typing and clicking.
  • Headless Browser Controllers - Provides a control layer for managing headless browser instances to programmatically navigate and interact with web pages.
  • Browser Automation - Controls web browsers programmatically to mimic human behavior, navigate pages, and interact with elements.
  • Electron Browser Hosting - Integrates a full Chromium instance within an Electron shell to provide native browser control.
  • Chrome DevTools Protocols - Implements the Chrome DevTools Protocol to send commands and receive events from the browser engine.
  • Web Scraping - Extracts structured data from websites by executing JavaScript and capturing HTML source.
  • Browser Storage Persistence - Configures storage partitions to maintain cookies and local storage across different browser instances.
  • Web Page Screenshot and PDF Tools - Saves the current browser view as PNG screenshots, PDF documents, or HTML files for archiving.
  • Promise-Based Flow Wrappers - Wraps asynchronous browser communications in a promise-based flow to simulate a sequential execution model.
  • Synthetic User Monitoring - Simulates user journeys and listens for JavaScript errors or console logs to ensure website stability.
  • Visual Regression Testing - Captures screenshots and PDFs of web pages to verify layouts and detect visual regressions.
  • Browser Cookie Management - Provides utilities to read, set, and clear cookies for specific domains to handle session state.
  • Script Injections - Executes custom JavaScript within the browser context to extract data and manipulate the page DOM.
  • Browser Session Managers - Manages cookies, local storage, and network proxy settings to maintain persistent authenticated sessions.
  • Web Page Retrievers - Runs custom JavaScript within the page context to retrieve structured information and verify elements.
  • Browser Automation - High-level browser automation library based on Electron.
  • Frameworks de test - High-level browser automation library for end-to-end testing.

Historique des stars

Graphique de l'historique des stars pour segmentio/nightmareGraphique de l'historique des stars pour segmentio/nightmare

Recherche par IA

Explorez plus de dépôts awesome

Décrivez vos besoins en langage naturel — l'IA classe des milliers de projets open source sélectionnés par pertinence.

Start searching with AI

Questions fréquentes

Que fait segmentio/nightmare ?

Nightmare is an Electron-based browser automation library and headless browser controller. It provides the infrastructure to programmatically navigate web pages, interact with DOM elements, and execute JavaScript within a background browser instance.

Quelles sont les fonctionnalités principales de segmentio/nightmare ?

Les fonctionnalités principales de segmentio/nightmare sont : Browser Automation, Headless Browser Controllers, Electron Browser Hosting, Chrome DevTools Protocols, Web Scraping, Browser Storage Persistence, Web Page Screenshot and PDF Tools, Promise-Based Flow Wrappers.

Quelles sont les alternatives open-source à segmentio/nightmare ?

Les alternatives open-source à segmentio/nightmare incluent : ultrafunkamsterdam/nodriver — nodriver is an asynchronous Chromium browser automation framework that provides headless control and web scraping… googlechrome/puppeteer — Puppeteer is a JavaScript library for programmatically controlling Chrome and Firefox through the Chrome DevTools… g1879/drissionpage — DrissionPage is a Python library designed for web automation, data scraping, and testing. It functions as a browser… php-webdriver/php-webdriver — php-webdriver is a WebDriver PHP client and browser automation framework that implements the W3C WebDriver standard.… getgauge/taiko — Taiko is a browser automation framework and web end-to-end testing library used to perform programmatic user actions… apify/crawlee-python — Crawlee-python is a web crawling framework for building scalable scrapers using Python. It serves as a comprehensive…

Alternatives open source à Nightmare

Projets open source similaires, classés selon le nombre de fonctionnalités partagées avec Nightmare.
  • ultrafunkamsterdam/nodriverAvatar de ultrafunkamsterdam

    ultrafunkamsterdam/nodriver

    3,578Voir sur GitHub↗

    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 rang

    Python
    Voir sur GitHub↗3,578
  • googlechrome/puppeteerAvatar de GoogleChrome

    GoogleChrome/puppeteer

    94,974Voir sur GitHub↗

    Puppeteer is a JavaScript library for programmatically controlling Chrome and Firefox through the Chrome DevTools Protocol or the WebDriver BiDi protocol. It launches and manages browser instances—typically without a visible user interface—to automate interactions with web pages, enabling navigation, clicking, typing, and data extraction entirely through code. The library distinguishes itself through deep integration with the Chromium embedding layer, allowing fine-grained process configuration with custom flags, permissions, and sandbox policies. It maintains multiple concurrent command stre

    TypeScript
    Voir sur GitHub↗94,974
  • g1879/drissionpageAvatar de g1879

    g1879/DrissionPage

    12,102Voir sur GitHub↗

    DrissionPage is a Python library designed for web automation, data scraping, and testing. It functions as a browser automation framework that communicates directly with the browser engine via the Chrome DevTools Protocol, allowing for precise control over browser instances and page states. The library distinguishes itself by providing a unified interface that combines full browser automation with raw HTTP request capabilities. This hybrid approach allows users to switch between lightweight network requests and heavy browser-based interactions within a single workflow. By wrapping asynchronous

    Pythonautomation-frameworkpythonweb-automation
    Voir sur GitHub↗12,102
  • php-webdriver/php-webdriverAvatar de php-webdriver

    php-webdriver/php-webdriver

    5,203Voir sur GitHub↗

    php-webdriver is a WebDriver PHP client and browser automation framework that implements the W3C WebDriver standard. It serves as a programmatic interface for controlling web browsers, executing JavaScript, and managing browser sessions in both headed and headless environments. The library functions as a Selenium protocol implementation, allowing PHP applications to communicate with browser drivers such as ChromeDriver or GeckoDriver. It provides the ability to automate user actions, navigate pages, and validate DOM elements for web UI testing. Its capabilities cover broad areas of browser i

    PHPphp-webdriverseleniumselenium-php
    Voir sur GitHub↗5,203
  • Voir les 30 alternatives à Nightmare→