webdriverio
Version:
Next-gen browser and mobile automation test framework for Node.js
19 lines (18 loc) • 634 B
JavaScript
// src/scripts/getHTML.ts
function getHTML(element, includeSelectorTag, excludeElements = []) {
let target = element;
if (excludeElements?.length) {
const document = element.ownerDocument.implementation.createHTMLDocument("");
target = element.ownerDocument.adoptNode(document.importNode(element, true));
for (const selector of excludeElements) {
if (includeSelectorTag && target.matches(selector)) {
return "";
}
target.querySelectorAll(selector).forEach((node) => node.remove());
}
}
return target[includeSelectorTag ? "outerHTML" : "innerHTML"];
}
export {
getHTML as default
};