Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mchalapuk/wson-dom-connector
Serialize DOM nodes with WSON.
https://github.com/mchalapuk/wson-dom-connector
dom serialization wson xpath
Last synced: about 2 months ago
JSON representation
Serialize DOM nodes with WSON.
- Host: GitHub
- URL: https://github.com/mchalapuk/wson-dom-connector
- Owner: mchalapuk
- License: mit
- Created: 2016-07-06T09:16:30.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2022-12-09T23:00:53.000Z (about 2 years ago)
- Last Synced: 2024-10-30T12:23:18.494Z (3 months ago)
- Topics: dom, serialization, wson, xpath
- Language: JavaScript
- Size: 409 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[travis-url]: http://travis-ci.org/mchalapuk/wson-dom-connector
[travis-image]: https://api.travis-ci.org/mchalapuk/wson-dom-connector.svg[david-url]: https://david-dm.org/mchalapuk/wson-dom-connector
[david-image]: https://david-dm.org/mchalapuk/wson-dom-connector.svg[david-url-dev]: https://david-dm.org/mchalapuk/wson-dom-connector?type=dev
[david-image-dev]: https://david-dm.org/mchalapuk/wson-dom-connector/dev-status.svg[npm-url]: https://npmjs.org/package/wson-dom-connector
[npm-image]: https://badge.fury.io/js/wson-dom-connector.svg# wson-dom-connector
[![Build Status][travis-image]][travis-url]
[![Dependency Status][david-image]][david-url]
[![devDependency Status][david-image-dev]][david-url-dev]
[![NPM version][npm-image]][npm-url][WSON][wson] is a human-readable data-interchange format with support for cyclic
structures. This module is an extension to wson that enables serializing
[DOM][dom] nodes to their [xpaths][xpath] and parsing those xpaths back to DOM
nodes.[wson]: https://github.com/tapirdata/wson
[dom]: https://developer.mozilla.org/en-US/docs/Web/API/Document_Object_Model
[xpath]: https://www.w3.org/TR/xpath/**Possible Use Cases**
1. Store references to DOM elements between page reloads,
2. Record DOM events to later simulate a user during automated test
(needs [`wson-event-connector`][wson-event-connector]).[wson-event-connector]: https://github.com/mchalapuk/wson-event-connector
## Installation
```shell
npm install --save wson wson-dom-connector
```## Usage
wson-dom-conector can be used in a web browser via [browserify][browserify]...
[browserify]: https://github.com/substack/node-browserify
```javascript
var WSON = require("wson").Wson;
var domConnectors = require("wson-dom-connector");var wson = new WSON({
connectors: domConnectors(window)
});console.log(wson.stringify(document.body));
// [:HTMLBodyElement|/body`a1`e]
```...or in [node][node] with any standard-compliant DOM implementation
(e.g. [jsdom][jsdom]).[node]: https://nodejs.org/en/
[jsdom]: https://github.com/tmpvar/jsdom```javascript
var WSON = require("wson").Wson;
var domConnectors = require("wson-dom-connector");
var jsdom = require("jsdom");var document = jsdom.jsdom("")
var wson = new WSON({
connectors: domConnectors(document.defaultView)
});console.log(wson.stringify(document.body));
// [:HTMLBodyElement|/body`a1`e]
```## API
Please refer to [wson's documentation][wson] for further details.## License
Copyright © 2016 - 2019 Maciej Chałapuk.
Released under [MIT license](LICENSE).