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

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

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

jsdom/jsdom

0
View on GitHub↗
21,587 星标·1,782 分支·JavaScript·MIT·4 次浏览

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.

Star 历史

jsdom/jsdom 的 Star 历史图表jsdom/jsdom 的 Star 历史图表

AI 搜索

探索更多 awesome 仓库

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

Start searching with AI

Jsdom 的开源替代方案

相似的开源项目,按与 Jsdom 的功能重合度排序。
  • tmpvar/jsdomtmpvar 的头像

    tmpvar/jsdom

    21,591在 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
    在 GitHub 上查看↗21,591
  • whatwg/htmlwhatwg 的头像

    whatwg/html

    9,163在 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
    在 GitHub 上查看↗9,163
  • psf/requests-htmlpsf 的头像

    psf/requests-html

    13,826在 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
    在 GitHub 上查看↗13,826
  • cheeriojs/cheeriocheeriojs 的头像

    cheeriojs/cheerio

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

常见问题解答

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.

jsdom/jsdom 的主要功能有哪些?

jsdom/jsdom 的主要功能包括:DOM Implementations, Headless Browsers, HTML Parsing, Virtual Browser Environments, Browser Environment Emulation, Node.js DOM Implementations, Web-Standard Runtimes, Frontend Unit Testing。

jsdom/jsdom 有哪些开源替代品?

jsdom/jsdom 的开源替代品包括: 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… capricorn86/happy-dom — happy-dom is a JavaScript-based headless browser simulation and virtual DOM engine. It implements the Document Object…