UNPKG

@testplane/webdriverio

Version:

Next-gen browser and mobile automation test framework for Node.js

27 lines (26 loc) 4.53 kB
// src/scripts/getHTMLShadow.ts function getHTMLShadow(element, includeSelectorTag, shadowElementIds = []) { shadowElementIds.map(([id, elem]) => { if (typeof elem.setAttribute !== "function") { return; } elem.setAttribute("data-wdio-shadow-id", id); }); const shadowElementHTML = shadowElementIds.map(([id, elem, shadow]) => { if (!shadow) { const html2 = elem[includeSelectorTag ? "outerHTML" : "innerHTML"]; return { id, html: html2 }; } const styles = Array.from(shadow.adoptedStyleSheets || []).map(({ cssRules }) => Array.from(cssRules)).flat().map(({ cssText }) => cssText); const html = shadow.innerHTML; return { id, html, styles }; }); return { html: element[includeSelectorTag ? "outerHTML" : "innerHTML"], shadowElementHTML }; } export { getHTMLShadow as default }; //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL3NjcmlwdHMvZ2V0SFRNTFNoYWRvdy50cyJdLAogICJzb3VyY2VSb290IjogIi9Vc2Vycy9kdWRrZXZpY2gvam9iL3Byb2plY3RzL2dlbWluaS10ZXN0aW5nL3dlYmRyaXZlcmlvL3BhY2thZ2VzL3dlYmRyaXZlcmlvIiwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogZ2V0IEhUTUwgb2YgYWxsIHNoYWRvdyByb290c1xuICpcbiAqIEBwYXJhbSAge3N0cmluZ30gIGVsZW1lbnQgICAgICAgICAgICAgICBlbGVtZW50IHRvIGdldCBIVE1MIGZyb21cbiAqIEBwYXJhbSAge0Jvb2xlYW59IGluY2x1ZGVTZWxlY3RvclRhZyAgICBpZiB0cnVlLCBzZWxlY3RvciB0YWcgZ2V0cyBpbmNsdWRlZCAodXNlcyBvdXRlckhUTUwpXG4gKiBAcGFyYW0gIHtPYmplY3R9ICBzaGFkb3dFbGVtZW50SWRzRm91bmQgbGlzdCBvZiBzaGFkb3cgcm9vdCBpZHMgd2Ugd2FudCB0byBsb29rIHVwIGluIHRoZSBuZXh0IGl0ZXJhdGlvblxuICogQHJldHVybiB7T2JqZWN0fSAgICAgICAgICAgICAgICAgICAgICAgIGh0bWwgc291cmNlIGFuZCBsaXN0IG9mIHNoYWRvdyByb290IGlkcyBmb3VuZFxuICovXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBnZXRIVE1MU2hhZG93IChcbiAgICBlbGVtZW50OiBIVE1MRWxlbWVudCB8IFNoYWRvd1Jvb3QsXG4gICAgaW5jbHVkZVNlbGVjdG9yVGFnOiBib29sZWFuLFxuICAgIHNoYWRvd0VsZW1lbnRJZHM6IFtzdHJpbmcsIEhUTUxFbGVtZW50LCBIVE1MRWxlbWVudCB8IHVuZGVmaW5lZF1bXSA9IFtdXG4pIHtcbiAgICBzaGFkb3dFbGVtZW50SWRzLm1hcCgoW2lkLCBlbGVtXSkgPT4ge1xuICAgICAgICAvKipcbiAgICAgICAgICogaWYgd2UgZG9uJ3QgaGF2ZSBhIHNoYWRvdyByb290IChlLmcuIG1vc3QgbGlrZWx5IHRvIGJlIHRoZSByb290IGRvY3VtZW50IG5vZGUpXG4gICAgICAgICAqL1xuICAgICAgICBpZiAodHlwZW9mIGVsZW0uc2V0QXR0cmlidXRlICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICByZXR1cm5cbiAgICAgICAgfVxuXG4gICAgICAgIGVsZW0uc2V0QXR0cmlidXRlKCdkYXRhLXdkaW8tc2hhZG93LWlkJywgaWQpXG4gICAgfSlcblxuICAgIGNvbnN0IHNoYWRvd0VsZW1lbnRIVE1MID0gc2hhZG93RWxlbWVudElkcy5tYXAoKFtpZCwgZWxlbSwgc2hhZG93XSkgPT4ge1xuICAgICAgICAvKipcbiAgICAgICAgICogaWYgd2UgZG9uJ3QgaGF2ZSBhIHNoYWRvdyByb290IChlLmcuIG1vc3QgbGlrZWx5IHRvIGJlIHRoZSByb290IGRvY3VtZW50IG5vZGUpXG4gICAgICAgICAqIHdlIGp1c3QgZ2V0IHRoZSBodG1sIG9mIHRoZSBlbGVtZW50XG4gICAgICAgICAqL1xuICAgICAgICBpZiAoIXNoYWRvdykge1xuICAgICAgICAgICAgY29uc3QgaHRtbCA9IGVsZW1baW5jbHVkZVNlbGVjdG9yVGFnID8gJ291dGVySFRNTCcgOiAnaW5uZXJIVE1MJ11cbiAgICAgICAgICAgIHJldHVybiB7IGlkLCBodG1sIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8qKlxuICAgICAgICAgKiBvdGhlcndpc2UsIHdlIGxvb2sgdXAgdGhlIHJlZ2lzdGVyZWQgc2hhZG93IHN0eWxlcyBhbmQgaHRtbFxuICAgICAgICAgKi9cbiAgICAgICAgY29uc3Qgc3R5bGVzID0gQXJyYXkuZnJvbSgoc2hhZG93IGFzIHVua25vd24gYXMgU2hhZG93Um9vdCkuYWRvcHRlZFN0eWxlU2hlZXRzIHx8IFtdKVxuICAgICAgICAgICAgLm1hcCgoeyBjc3NSdWxlcyB9KSA9PiBBcnJheS5mcm9tKGNzc1J1bGVzKSlcbiAgICAgICAgICAgIC5mbGF0KClcbiAgICAgICAgICAgIC5tYXAoKHsgY3NzVGV4dCB9KSA9PiBjc3NUZXh0KVxuXG4gICAgICAgIGNvbnN0IGh0bWwgPSBzaGFkb3cuaW5uZXJIVE1MXG4gICAgICAgIHJldHVybiB7IGlkLCBodG1sLCBzdHlsZXMgfVxuICAgIH0pXG5cbiAgICByZXR1cm4ge1xuICAgICAgICBodG1sOiAoZWxlbWVudCBhcyBIVE1MRWxlbWVudClbaW5jbHVkZVNlbGVjdG9yVGFnID8gJ291dGVySFRNTCcgOiAnaW5uZXJIVE1MJ10sXG4gICAgICAgIHNoYWRvd0VsZW1lbnRIVE1MXG4gICAgfVxufVxuIl0sCiAgIm1hcHBpbmdzIjogIjtBQVFlLFNBQVIsY0FDSCxTQUNBLG9CQUNBLG1CQUFxRSxDQUFDLEdBQ3hFO0FBQ0UsbUJBQWlCLElBQUksQ0FBQyxDQUFDLElBQUksSUFBSSxNQUFNO0FBSWpDLFFBQUksT0FBTyxLQUFLLGlCQUFpQixZQUFZO0FBQ3pDO0FBQUEsSUFDSjtBQUVBLFNBQUssYUFBYSx1QkFBdUIsRUFBRTtBQUFBLEVBQy9DLENBQUM7QUFFRCxRQUFNLG9CQUFvQixpQkFBaUIsSUFBSSxDQUFDLENBQUMsSUFBSSxNQUFNLE1BQU0sTUFBTTtBQUtuRSxRQUFJLENBQUMsUUFBUTtBQUNULFlBQU1BLFFBQU8sS0FBSyxxQkFBcUIsY0FBYyxXQUFXO0FBQ2hFLGFBQU8sRUFBRSxJQUFJLE1BQUFBLE1BQUs7QUFBQSxJQUN0QjtBQUtBLFVBQU0sU0FBUyxNQUFNLEtBQU0sT0FBaUMsc0JBQXNCLENBQUMsQ0FBQyxFQUMvRSxJQUFJLENBQUMsRUFBRSxTQUFTLE1BQU0sTUFBTSxLQUFLLFFBQVEsQ0FBQyxFQUMxQyxLQUFLLEVBQ0wsSUFBSSxDQUFDLEVBQUUsUUFBUSxNQUFNLE9BQU87QUFFakMsVUFBTSxPQUFPLE9BQU87QUFDcEIsV0FBTyxFQUFFLElBQUksTUFBTSxPQUFPO0FBQUEsRUFDOUIsQ0FBQztBQUVELFNBQU87QUFBQSxJQUNILE1BQU8sUUFBd0IscUJBQXFCLGNBQWMsV0FBVztBQUFBLElBQzdFO0FBQUEsRUFDSjtBQUNKOyIsCiAgIm5hbWVzIjogWyJodG1sIl0KfQo=