awesome-repositories.com
博客
awesome-repositories.com

通过 AI 驱动的搜索,发现最优秀的开源仓库。

探索精选搜索开源替代品自托管软件博客网站地图
项目关于排名机制媒体报道MCP 服务器
法律隐私政策服务条款
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
segmentio avatar

segmentio/nightmare

0
View on GitHub↗
19,775 星标·1,064 分支·JavaScript·8 次浏览open.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.
  • 测试框架 - High-level browser automation library for end-to-end testing.

Star 历史

segmentio/nightmare 的 Star 历史图表segmentio/nightmare 的 Star 历史图表

AI 搜索

探索更多 awesome 仓库

用简单的语言描述您的需求 —— AI 将根据相关性为您从数千个精选开源项目中进行排序。

Start searching with AI

Nightmare 的开源替代方案

相似的开源项目,按与 Nightmare 的功能重合度排序。
  • ultrafunkamsterdam/nodriverultrafunkamsterdam 的头像

    ultrafunkamsterdam/nodriver

    3,578在 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
    在 GitHub 上查看↗3,578
  • googlechrome/puppeteerGoogleChrome 的头像

    GoogleChrome/puppeteer

    94,974在 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
    在 GitHub 上查看↗94,974
  • g1879/drissionpageg1879 的头像

    g1879/DrissionPage

    12,102在 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
    在 GitHub 上查看↗12,102
  • php-webdriver/php-webdriverphp-webdriver 的头像

    php-webdriver/php-webdriver

    5,203在 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
    在 GitHub 上查看↗5,203
查看 Nightmare 的所有 30 个替代方案→

常见问题解答

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.

segmentio/nightmare 的主要功能有哪些?

segmentio/nightmare 的主要功能包括: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。

segmentio/nightmare 有哪些开源替代品?

segmentio/nightmare 的开源替代品包括: 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…