getHTML
セレクタによって指定されたDOM要素のソースコードを取得します。デフォルトでは、要素に含まれるすべての要素のシャドウルートを自動的に貫通します。
使用法
$(selector).getHTML({ includeSelectorTag, pierceShadowRoot, removeCommentNodes, prettify })
パラメータ
| 名前 | タイプ | 詳細 | 
|---|---|---|
| options | GetHTMLOptions | コマンドオプション | 
| options.includeSelectorTagオプション | Boolean | trueの場合、セレクタ要素タグを含みます(デフォルト: true) | 
| options.pierceShadowRootオプション | Boolean | trueの場合、DOM内のすべてのWebコンポーネントのシャドウルートのコンテンツを含みます(デフォルト: true) | 
| options.removeCommentNodesオプション | Boolean | trueの場合、HTMLからすべてのコメントノードを削除します。例: <!--?lit$206212805$--><!--?lit$206212805$-->(デフォルト:true) | 
| options.prettifyオプション | Boolean | trueの場合、HTML出力は整形されます(デフォルト: true) | 
例
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);
    // 出力:
    // "<div id="test"><span>Lorem ipsum dolor amet</span></div>"
    var innerHTML = await $('#test').getHTML({ includeSelectorTag: false });
    console.log(innerHTML);
    // 出力:
    // "<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')
    // スタイルを除いたWebコンポーネントのスナップショットを取得
    const snapshot = await $('ion-button').getHTML({ excludeElements: ['style'] })
    // スナップショットをアサート
    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>
    `)
});
戻り値
- <String>
return: 指定された要素のHTML