UNPKG

pagehtml

Version:

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

36 lines (34 loc) 1.36 kB
/** * 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.<{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;