chromedp/cdp/domsnapshot/domsnapshot.go

65 lines
2.6 KiB
Go

// Package domsnapshot provides the Chrome Debugging Protocol
// commands, types, and events for the DOMSnapshot domain.
//
// This domain facilitates obtaining document snapshots with DOM, layout, and
// style information.
//
// Generated by the chromedp-gen command.
package domsnapshot
// Code generated by chromedp-gen. DO NOT EDIT.
import (
"context"
cdp "github.com/knq/chromedp/cdp"
)
// GetSnapshotParams returns a document snapshot, including the full DOM tree
// of the root node (including iframes, template contents, and imported
// documents) in a flattened array, as well as layout and white-listed computed
// style information for the nodes. Shadow DOM in the returned DOM tree is
// flattened. .
type GetSnapshotParams struct {
ComputedStyleWhitelist []string `json:"computedStyleWhitelist"` // Whitelist of computed styles to return.
}
// GetSnapshot returns a document snapshot, including the full DOM tree of
// the root node (including iframes, template contents, and imported documents)
// in a flattened array, as well as layout and white-listed computed style
// information for the nodes. Shadow DOM in the returned DOM tree is flattened.
// .
//
// parameters:
// computedStyleWhitelist - Whitelist of computed styles to return.
func GetSnapshot(computedStyleWhitelist []string) *GetSnapshotParams {
return &GetSnapshotParams{
ComputedStyleWhitelist: computedStyleWhitelist,
}
}
// GetSnapshotReturns return values.
type GetSnapshotReturns struct {
DomNodes []*DOMNode `json:"domNodes,omitempty"` // The nodes in the DOM tree. The DOMNode at index 0 corresponds to the root document.
LayoutTreeNodes []*LayoutTreeNode `json:"layoutTreeNodes,omitempty"` // The nodes in the layout tree.
ComputedStyles []*ComputedStyle `json:"computedStyles,omitempty"` // Whitelisted ComputedStyle properties for each node in the layout tree.
}
// Do executes DOMSnapshot.getSnapshot against the provided context and
// target handler.
//
// returns:
// domNodes - The nodes in the DOM tree. The DOMNode at index 0 corresponds to the root document.
// layoutTreeNodes - The nodes in the layout tree.
// computedStyles - Whitelisted ComputedStyle properties for each node in the layout tree.
func (p *GetSnapshotParams) Do(ctxt context.Context, h cdp.Handler) (domNodes []*DOMNode, layoutTreeNodes []*LayoutTreeNode, computedStyles []*ComputedStyle, err error) {
// execute
var res GetSnapshotReturns
err = h.Execute(ctxt, cdp.CommandDOMSnapshotGetSnapshot, p, &res)
if err != nil {
return nil, nil, nil, err
}
return res.DomNodes, res.LayoutTreeNodes, res.ComputedStyles, nil
}