UNPKG

pagehtml

Version:

A tool to grab and process a website's html.

87 lines (66 loc) 2.74 kB
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <title>JSDoc: Source: utils/getElement.js</title> <script src="scripts/prettify/prettify.js"> </script> <script src="scripts/prettify/lang-css.js"> </script> <!--[if lt IE 9]> <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script> <![endif]--> <link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css"> <link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css"> </head> <body> <div id="main"> <h1 class="page-title">Source: utils/getElement.js</h1> <section> <article> <pre class="prettyprint source linenums"><code>/** * Takes a document object model (dom) and a target element string and returns * the text content of that element. * @param {jsdom.JSDOM} dom The document object model, an instance of the JSDOM class. * @param {string} elementString The HTML element to query. * @returns {Array.&lt;{elementText: string, * nodeName: string, * outerHTML: string, * innerHTML: string, * parentElement: string}>} * elementText: an array of objects containing relevant element information. * * @example * ```javascript * // Search the dom for div element with id 'container'. * let elementString = "div#container" * getElementText(dom,elementString) * ``` * This will return any text content in the container element. */ function getElementText(dom,elementString) { let elementText = Array.prototype.map.call(dom.window.document.querySelectorAll(elementString), element => { var elementTextObject = {}; elementTextObject.elementText = element.textContent.trim(); elementTextObject.nodeName = element.nodeName.toLowerCase(); elementTextObject.outerHTML = element.outerHTML; elementTextObject.innerHTML = element.innerHTML; elementTextObject.parentElement = element.parentElement.nodeName.toLowerCase(); return elementTextObject; }) return elementText; } module.exports = getElementText;</code></pre> </article> </section> </div> <nav> <h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="PageHTML.html">PageHTML</a></li></ul><h3>Global</h3><ul><li><a href="global.html#getElementText">getElementText</a></li><li><a href="global.html#getLinks">getLinks</a></li><li><a href="global.html#makeTable">makeTable</a></li></ul> </nav> <br class="clear"> <footer> Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 4.0.4</a> on Wed Feb 05 2025 14:23:55 GMT-0800 (Pacific Standard Time) </footer> <script> prettyPrint(); </script> <script src="scripts/linenumber.js"> </script> </body> </html>