jsdom - A JavaScript implementation of the WHATWG DOM and HTML standards, for use with node.js

  •        129

jsdom is a pure-JavaScript implementation of many web standards, notably the WHATWG DOM and HTML Standards, for use with Node.js. In general, the goal of the project is to emulate enough of a subset of a web browser to be useful for testing and scraping real-world web applications. As of v10, jsdom has a new API (documented below). The old API is still supported for now; see its documentation for details.

https://github.com/jsdom/jsdom

Dependencies:

abab : ^1.0.4
acorn : ^5.3.0
acorn-globals : ^4.1.0
array-equal : ^1.0.0
browser-process-hrtime : ^0.1.2
cssom : >= 0.3.2 < 0.4.0
cssstyle : >= 0.2.37 < 0.3.0
data-urls : ^1.0.0
domexception : ^1.0.0
escodegen : ^1.9.0
html-encoding-sniffer : ^1.0.2
left-pad : ^1.2.0
nwmatcher : ^1.4.3
parse5 : 4.0.0
pn : ^1.1.0
request : ^2.83.0
request-promise-native : ^1.0.5
sax : ^1.2.4
symbol-tree : ^3.2.2
tough-cookie : ^2.3.3
w3c-hr-time : ^1.0.1
webidl-conversions : ^4.0.2
whatwg-encoding : ^1.0.3
whatwg-mimetype : ^2.1.0
whatwg-url : ^6.4.0
ws : ^4.0.0
xml-name-validator : ^3.0.0

Tags
Implementation
License
Platform

   




Related Projects

jsdom - A JavaScript implementation of the WHATWG DOM and HTML standards, for use with node.js

  •    Javascript

jsdom is a pure-JavaScript implementation of many web standards, notably the WHATWG DOM and HTML Standards, for use with Node.js. In general, the goal of the project is to emulate enough of a subset of a web browser to be useful for testing and scraping real-world web applications.As of v10, jsdom has a new API (documented below). The old API is still supported for now; see its documentation for details.

jsdom-global - Enable DOM in Node.js

  •    Javascript

jsdom-global will inject document, window and other DOM API into your Node.js environment. Useful for running, in Node.js, tests that are made for browsers.Requires jsdom.

parse5 - HTML parsing/serialization toolset for Node

  •    Javascript

HTML parsing/serialization toolset for Node.js. WHATWG HTML Living Standard (aka HTML5)-compliant.parse5 provides nearly everything you may need when dealing with HTML. It's the fastest spec-compliant HTML parser for Node to date. It parses HTML the way the latest version of your browser does. It has proven itself reliable in such projects as jsdom, Angular2, Polymer and many more.

wpt - Test suites for Web platform specs — including WHATWG, W3C, and others

  •    HTML

The web-platform-tests Project is a W3C-coordinated attempt to build a cross-browser testsuite for the Web-platform stack. Writing tests in a way that allows them to be run in all browsers gives browser projects confidence that they are shipping software that is compatible with other implementations, and that later implementations will be compatible with their implementations. This in turn gives Web authors/developers confidence that they can actually rely on the Web platform to deliver on the promise of working across browsers and devices without needing extra layers of abstraction to paper over the gaps left by specification editors and implementors. Clone or otherwise get https://github.com/web-platform-tests/wpt.

Apricot - A simple Hpricot Clone for nodejs.

  •    Javascript

Apricot is a HTML / DOM parser, scraper for Nodejs. It is inspired by rubys hpricot and designed to fetch, iterate, and augment html or html fragments. Parse and Open both return a Apricot Object, a HTML DOM, created by JSDOM, with all the power of the Sizzle Selector Engine, and XUI Framework for Augmentation.


tobi - Tobi: Expressive server-side functional testing with jQuery

  •    Javascript

Expressive server-side functional testing with jQuery and jsdom. Tobi allows you to test your web application as if it were a browser. Interactions with your app are performed via jsdom, htmlparser, and jQuery, in combination with Tobi's Cookie Jar, provides a natural JavaScript API for traversing, manipulating and asserting the DOM, and session based browsing.

cheerio - Fast, flexible, and lean implementation of core jQuery designed specifically for the server

  •    Javascript

❤ Familiar syntax: Cheerio implements a subset of core jQuery. Cheerio removes all the DOM inconsistencies and browser cruft from the jQuery library, revealing its truly gorgeous API.ϟ Blazingly fast: Cheerio works with a very simple, consistent DOM model. As a result parsing, manipulating, and rendering are incredibly efficient. Preliminary end-to-end benchmarks suggest that cheerio is about 8x faster than JSDOM.

dom-testing-library - 🐙 Simple and complete DOM testing utilities that encourage good testing practices

  •    Javascript

Simple and complete DOM testing utilities that encourage good testing practices. You want to write maintainable tests for your Web UI. As a part of this goal, you want your tests to avoid including implementation details of your components and rather focus on making your tests give you the confidence for which they are intended. As part of this, you want your testbase to be maintainable in the long run so refactors of your components (changes to implementation but not functionality) don't break your tests and slow you and your team down.

react-testing-library - 🐐 Simple and complete React DOM testing utilities that encourage good testing practices

  •    Javascript

Simple and complete React DOM testing utilities that encourage good testing practices. You want to write maintainable tests for your React components. As a part of this goal, you want your tests to avoid including implementation details of your components and rather focus on making your tests give you the confidence for which they are intended. As part of this, you want your testbase to be maintainable in the long run so refactors of your components (changes to implementation but not functionality) don't break your tests and slow you and your team down.

weld - Template antimatter for Node.js (Browsers too!)

  •    Javascript

Simple. Weld binds data to markup, and can generate markup based on your data. There's NO special syntax or data reshaping required. It works in the browser and in node.js! Weld is currently 3.66Kb uglified with no dependencies other than a valid DOM. Weld will apply values to elements the way that elements expect to have their values set.Pass in a parent DOM Element, some data, and optionally some configuration details.

AngleSharp - The ultimate angle brackets parser library parsing HTML5, MathML, SVG and CSS to construct a DOM based on the official W3C specifications

  •    CSharp

AngleSharp is a .NET library that gives you the ability to parse angle bracket based hyper-texts like HTML, SVG, and MathML. XML without validation is also supported by the library. An important aspect of AngleSharp is that CSS can also be parsed. The included parser is built upon the official W3C specification. This produces a perfectly portable HTML5 DOM representation of the given source code and ensures compatibility with results in evergreen browsers. Also standard DOM features such as querySelector or querySelectorAll work for tree traversal.

taxi-rank - A JSDom based Selenium Webdriver API

  •    TypeScript

A JSDom based Selenium Webdriver API

jsDOM

  •    Javascript

jsDOM is a Javascript project focusing on creating DHTML widgets.

react-testing-mocha-jsdom - Unit testing React Components with Mocha + jsdom

  •    Javascript

This is Part 2 of the series "Modular Isomorphic React JS applications". See Part 1 and Part 3 for more. Unit testing React is traditionally done using Jest which dictates the use of the Jasmine testing framework, and enforces mocking of all require calls. For such an unopinionated rendering engine, this is a very opinionated setup, resulting in issues such as overly-verbose unmocking of requires, and being tied into Jasmine's limited framework.

SwiftSoup - SwiftSoup: Pure Swift HTML Parser, with best of DOM, CSS, and jquery (Supports Linux, iOS, Mac, tvOS, watchOS)

  •    Swift

SwiftSoup is a pure Swift library, cross-platform(macOS, iOS, tvOS, watchOS and Linux!), for working with real-world HTML. It provides a very convenient API for extracting and manipulating data, using the best of DOM, CSS, and jquery-like methods. SwiftSoup implements the WHATWG HTML5 specification, and parses HTML to the same DOM as modern browsers do. After parsing a document, and finding some elements, you'll want to get at the data inside those elements.

node-xml2js - XML to JavaScript object converter.

  •    CoffeeScript

Simple XML to JavaScript object converter. It supports bi-directional conversion. Uses sax-js and xmlbuilder-js.Note: If you're looking for a full DOM parser, you probably want JSDom.

teaspoon - A jQuery like API for testing React elements and rendered components.

  •    Javascript

Just the right amount of abstraction for writing clear, and concise React component tests. Teaspoon is test environment agnostic, so you can (and should) bring your own test runner and frameworks. If you plan on doing normal component rendering (not just shallow rendering) you will also need a DOM environment, whether that's a browser, headless browser, or jsdom.

XPDOM - Cross-Platform W3C-DOM-2

  •    Javascript

XPDOM (Cross-Platform DOM) is a W3C-DOM Level 2 compatibility layer to programming Dynamic HTML in standard DOM and exactly same way in most popular browsers with DHTML: MSIE 4+ and Netscape 6+/Mozilla/Firefox as reference implementation