Saltar al contenido principal

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
NombreTipoDetalles
optionsGetHTMLOptionsopciones del comando
options.includeSelectorTag
opcional
Booleansi es true incluye la etiqueta del elemento selector (por defecto: true)
options.pierceShadowRoot
opcional
Booleansi es true incluye el contenido de las raíces de sombra de todos los componentes web en el DOM (por defecto: true)
options.removeCommentNodes
opcional
Booleansi es true elimina todos los nodos de comentarios del HTML, por ejemplo, <!--?lit$206212805$--><!--?lit$206212805$--> (por defecto: true)
options.prettify
opcional
Booleansi 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

Welcome! How can I help?

WebdriverIO AI Copilot