
get-xpath
📑 Extract the XPath of an HTML element
- Works with browsers, NodeJS and DenoJS (JavaScript 5 and TypeScript)
- No external dependencies
- Unit-tested
- Semantic Versioning
Install
npm i get-xpath
API
function getXPath( element: HTMLElement, options?: Partial< Options > ): string;
Where options
is an optional object containing:
name | type | description |
---|
ignoreId | boolean | Do not take elements' ID into account |
Example:
<html>
<body>
<div id="x" ></div>
<script>
const div = document.getElementById( 'x' );
const xpath1 = getXPath( div );
const xpath2 = getXPath( div, { ignoreId: true } );
</script>
</body>
</html>
Usage
Notes:
- On Node or Deno, you have to provide a way to accessing or emulating the DOM.
You can use JSDOM (or any other library) for that.
- When using TypeScript, add the value
"dom"
to the property "lib"
of your tsconfig.json
. Otherwise you will probably get errors.
Browser
Global:
<script crossorigin src="https://unpkg.com/get-xpath" >
<script>
console.log(
getXPath( document.getElementById( 'foo' ) )
);
</script>
ESM:
<script type="module" >
import getXPath from 'https://unpkg.com/get-xpath/index.esm.js';
console.log(
getXPath( document.getElementById( 'foo' ) )
);
</script>
NodeJS
const getXPath = require('get-xpath');
console.log(
getXPath( document.getElementById( 'foo' ) )
);
Deno
import getXPath from 'https://unpkg.com/get-xpath/index.esm.js';
console.log(
getXPath( document.getElementById( 'foo' ) )
);
License
MIT © Thiago Delgado Pinto