getHTML
Obtener el código fuente del elemento DOM especificado por el selector. Por defecto, atraviesa automáticamente todas las raíces de sombra (shadow roots) de los elementos contenidos por el elemento.
Uso
$(selector).getHTML({ includeSelectorTag, pierceShadowRoot, removeCommentNodes, prettify })
Parámetros
| Nombre | Tipo | Detalles |
|---|---|---|
options | GetHTMLOptions | opciones del comando |
options.includeSelectorTagopcional | Boolean | si es true incluye la etiqueta del elemento selector (por defecto: true) |
options.pierceShadowRootopcional | Boolean | si es true incluye el contenido de las raíces de sombra de todos los componentes web en el DOM (por defecto: true) |
options.removeCommentNodesopcional | Boolean | si es true elimina todos los nodos de comentarios del HTML, por ejemplo, <!--?lit$206212805$--><!--?lit$206212805$--> (por defecto: true) |
options.prettifyopcional | Boolean | si es true, la salida html será embellecida (por defecto: true) |
Ejemplos
index.html
<div id="test">
<span>Lorem ipsum dolor amet</span>
</div>
getHTML.js
it('should get html for certain elements', async () => {
var outerHTML = await $('#test').getHTML();
console.log(outerHTML);
// outputs:
// "<div id="test"><span>Lorem ipsum dolor amet</span></div>"
var innerHTML = await $('#test').getHTML({ includeSelectorTag: false });
console.log(innerHTML);
// outputs:
// "<span>Lorem ipsum dolor amet</span>"
});
getHTMLShadow.js
it('allows to snapshot shadow dom', async () => {
await browser.url('https://ionicframework.com/docs/usage/v8/button/basic/demo.html?ionic:mode=md')
// get snapshot of web component without its styles
const snapshot = await $('ion-button').getHTML({ excludeElements: ['style'] })
// assert snapshot
await expect(snapshot).toMatchInlineSnapshot(`
<ion-button class="md button button-solid ion-activatable ion-focusable hydrated">Default
<template shadowrootmode="open">
<button type="button" class="button-native" part="native">
<span class="button-inner">
<slot name="icon-only"></slot>
<slot name="start"></slot>
<slot></slot>
<slot name="end"></slot>
</span>
<ion-ripple-effect role="presentation" class="md hydrated">
<template shadowrootmode="open"></template>
</ion-ripple-effect>
</button>
</template>
</ion-button>
`)
});
Devuelve
- <String>
return: el HTML del elemento especificado