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
·
jsdom avatar

jsdom/jsdom

0
View on GitHub↗
21,587 stars·1,782 forks·JavaScript·MIT·6 vues

Jsdom

jsdom is a Node.js DOM implementation that functions as a headless browser emulator and virtual browser environment. It provides a pure JavaScript implementation of web standards, acting as a web standards polyfill that simulates the window and document objects within a non-browser runtime.

The project implements W3C and WHATWG specifications to provide a programmatic environment for parsing HTML and manipulating content. It serves as an HTML parser and serializer, allowing for the transformation of HTML strings into document structures and the export of those structures back into text.

The system covers a broad range of browser emulation capabilities, including the execution of in-page and external scripts, the management of HTTP cookies, and the loading of external resources via network request interception. It also includes support for CSSOM mapping, canvas API integration, and virtual console log capture.

Documents can be initialized using local files or remote URLs.

Features

  • DOM Implementations - Provides a pure JavaScript implementation of web standards to simulate the DOM without a native browser engine.
  • Headless Browsers - Functions as a headless browser emulator that executes page scripts and manages a document object model without a graphical interface.
  • HTML Parsing - Implements the official WHATWG specification to transform HTML strings into structured document nodes.
  • Virtual Browser Environments - Creates a programmatic environment for testing and manipulating web pages by simulating window and document objects.
  • Browser Environment Emulation - Binds browser global objects to the Node.js runtime to enable script execution outside of a browser.
  • Node.js DOM Implementations - Implements web standards to simulate a browser environment specifically for use within the Node.js runtime.
  • Web-Standard Runtimes - Implements W3C and WHATWG specifications to provide a browser-compatible API environment outside of a traditional browser.
  • Frontend Unit Testing - Provides a virtual browser environment to run JavaScript tests for frontend components within Node.js.
  • Server Side DOM Manipulation - Allows parsing and modifying HTML or XML content on the server using standard web APIs to generate documents.
  • Virtual Browser Globals - Creates a simulated global environment that mimics browser globals like window and document.
  • Web Standard Implementations - JSDOM simulates a browser environment by providing JavaScript implementations of various W3C and WHATWG specifications.
  • Web Standards - Implements web standards and document APIs to parse HTML and manipulate content like a browser.
  • HTML Serialization - Provides tools for converting HTML strings into a manipulatable document structure and exporting that structure back to text.
  • External Script Execution - Executes external JavaScript to modify the document structure and interact with web platform APIs.
  • In-Page Script Execution - Runs embedded or external JavaScript to modify content and access web APIs within the simulated environment.
  • Programmable Fetch Interceptors - Provides a programmable fetch mechanism to intercept and resolve external requests for scripts and styles.
  • Runtime Shims - Modifies the window or document objects before parsing to ensure necessary global variables exist.
  • JavaScript and Web-Standard - Provides a collection of JavaScript implementations for W3C and WHATWG specifications, including DOM and network APIs.
  • DOM Serialization - Converts the current state of the document back into an HTML string including the doctype.
  • CSSOM Simulations - Maintains a simulated CSS object model to track styles applied to DOM elements.
  • Web Automation and Scraping - Enables extraction of data from HTML pages by simulating a browser environment to handle scripts.
  • DOM Manipulation - Web standards-compliant DOM implementation for Node.js.
  • General Utilities - JavaScript implementation of HTML and DOM.

Historique des stars

Graphique de l'historique des stars pour jsdom/jsdomGraphique de l'historique des stars pour jsdom/jsdom

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 jsdom/jsdom ?

jsdom is a Node.js DOM implementation that functions as a headless browser emulator and virtual browser environment. It provides a pure JavaScript implementation of web standards, acting as a web standards polyfill that simulates the window and document objects within a non-browser runtime.

Quelles sont les fonctionnalités principales de jsdom/jsdom ?

Les fonctionnalités principales de jsdom/jsdom sont : DOM Implementations, Headless Browsers, HTML Parsing, Virtual Browser Environments, Browser Environment Emulation, Node.js DOM Implementations, Web-Standard Runtimes, Frontend Unit Testing.

Quelles sont les alternatives open-source à jsdom/jsdom ?

Les alternatives open-source à jsdom/jsdom incluent : tmpvar/jsdom — jsdom is a Node.js implementation of web standards that functions as a headless browser emulator. It provides a… whatwg/html — This repository contains the HTML specification, which defines the core standards for web page structuring, content… psf/requests-html — requests-html is a Python HTML parsing library and web scraping framework. It functions as an asynchronous HTTP client… cheeriojs/cheerio — Cheerio is an HTML and XML parsing library and server-side DOM implementation. It functions as a markup manipulation… hickford/mechanicalsoup — MechanicalSoup is a Python web automation library designed to simulate browser behavior. It functions as a toolkit for… paquettg/php-html-parser — PHP HTML Parser is a server-side programming library and DOM parser designed to ingest markup documents and structure…

Alternatives open source à Jsdom

Projets open source similaires, classés selon le nombre de fonctionnalités partagées avec Jsdom.
  • tmpvar/jsdomAvatar de tmpvar

    tmpvar/jsdom

    21,591Voir sur GitHub↗

    jsdom is a Node.js implementation of web standards that functions as a headless browser emulator. It provides a JavaScript execution environment and an HTML and XML parser to simulate a browser environment on the server side, implementing various web APIs and W3C standards. The project distinguishes itself by providing a sandboxed runtime for executing scripts embedded in HTML or external files. It includes specialized polyfills for the Canvas API and manages session state through HTTP cookie management. Its broader capabilities cover network interaction via request interception and resource

    JavaScript
    Voir sur GitHub↗21,591
  • whatwg/htmlAvatar de whatwg

    whatwg/html

    9,163Voir sur GitHub↗

    This repository contains the HTML specification, which defines the core standards for web page structuring, content organization, and document rendering. It establishes the fundamental algorithms for state-machine-based tokenization, tree construction for the document object model, and origin-based security isolation. The specification provides a framework for defining custom elements with independent lifecycles and registries. It also details the requirements for cross-document communication, session history management, and the synchronization of interface properties with content attributes.

    HTMLcanvaseventsourcehtml
    Voir sur GitHub↗9,163
  • psf/requests-htmlAvatar de psf

    psf/requests-html

    13,826Voir sur GitHub↗

    requests-html is a Python HTML parsing library and web scraping framework. It functions as an asynchronous HTTP client and a JavaScript rendering engine designed to fetch and parse web pages for structured data extraction. The project integrates a headless browser to execute JavaScript, allowing it to retrieve dynamically generated content that standard HTML parsers cannot see. It provides tools for automated data extraction using CSS selectors and XPath expressions to isolate specific text or attributes from HTML structures. The framework covers network operations including asynchronous pag

    Pythonbeautifulsoupcss-selectorshtml
    Voir sur GitHub↗13,826
  • cheeriojs/cheerioAvatar de cheeriojs

    cheeriojs/cheerio

    30,386Voir sur GitHub↗

    Cheerio is an HTML and XML parsing library and server-side DOM implementation. It functions as a markup manipulation tool and CSS selector engine, allowing users to parse, query, and modify HTML or XML documents in non-browser environments. The project provides a DOM-like tree representation of markup strings, enabling programmatic addition, removal, and modification of elements and attributes. It features a prototype-based plugin system that allows the extension of core functionality by adding custom methods to the document prototype. The library covers a broad range of capabilities includi

    TypeScriptcheeriodomhacktoberfest
    Voir sur GitHub↗30,386
Voir les 30 alternatives à Jsdom→