func (c *DOMSnapshot) Enable(ctx context.Context) (*gcdmessage.ChromeResponse, error) {
	return c.target.SendDefaultRequest(ctx, &gcdmessage.ParamRequest{Id: c.target.GetId(), Method: "DOMSnapshot.enable"})
}
Enables DOM snapshot agent for the given page.
package gcdapi
import (
	"context"
	"github.com/wirepair/gcd/v2/gcdmessage"
)
type DOMSnapshotDOMNode struct {
	NodeType             int                         `json:"nodeType"`                        
	NodeName             string                      `json:"nodeName"`                        
	NodeValue            string                      `json:"nodeValue"`                       
	TextValue            string                      `json:"textValue,omitempty"`             
	InputValue           string                      `json:"inputValue,omitempty"`            
	InputChecked         bool                        `json:"inputChecked,omitempty"`          
	OptionSelected       bool                        `json:"optionSelected,omitempty"`        
	BackendNodeId        int                         `json:"backendNodeId"`                   
	ChildNodeIndexes     []int                       `json:"childNodeIndexes,omitempty"`      
	Attributes           []*DOMSnapshotNameValue     `json:"attributes,omitempty"`            
	PseudoElementIndexes []int                       `json:"pseudoElementIndexes,omitempty"`  
	LayoutNodeIndex      int                         `json:"layoutNodeIndex,omitempty"`       
	DocumentURL          string                      `json:"documentURL,omitempty"`           
	BaseURL              string                      `json:"baseURL,omitempty"`               
	ContentLanguage      string                      `json:"contentLanguage,omitempty"`       
	DocumentEncoding     string                      `json:"documentEncoding,omitempty"`      
	PublicId             string                      `json:"publicId,omitempty"`              
	SystemId             string                      `json:"systemId,omitempty"`              
	FrameId              string                      `json:"frameId,omitempty"`               
	ContentDocumentIndex int                         `json:"contentDocumentIndex,omitempty"`  
	PseudoType           string                      `json:"pseudoType,omitempty"`            
	ShadowRootType       string                      `json:"shadowRootType,omitempty"`        
	IsClickable          bool                        `json:"isClickable,omitempty"`           
	EventListeners       []*DOMDebuggerEventListener `json:"eventListeners,omitempty"`        
	CurrentSourceURL     string                      `json:"currentSourceURL,omitempty"`      
	OriginURL            string                      `json:"originURL,omitempty"`             
	ScrollOffsetX        float64                     `json:"scrollOffsetX,omitempty"`         
	ScrollOffsetY        float64                     `json:"scrollOffsetY,omitempty"`         
}
type DOMSnapshotInlineTextBox struct {
	BoundingBox         *DOMRect `json:"boundingBox"`          
	StartCharacterIndex int      `json:"startCharacterIndex"`  
	NumCharacters       int      `json:"numCharacters"`        
}
type DOMSnapshotLayoutTreeNode struct {
	DomNodeIndex      int                         `json:"domNodeIndex"`                 
	BoundingBox       *DOMRect                    `json:"boundingBox"`                  
	LayoutText        string                      `json:"layoutText,omitempty"`         
	InlineTextNodes   []*DOMSnapshotInlineTextBox `json:"inlineTextNodes,omitempty"`    
	StyleIndex        int                         `json:"styleIndex,omitempty"`         
	PaintOrder        int                         `json:"paintOrder,omitempty"`         
	IsStackingContext bool                        `json:"isStackingContext,omitempty"`  
}
type DOMSnapshotComputedStyle struct {
	Properties []*DOMSnapshotNameValue `json:"properties"`  
}
type DOMSnapshotNameValue struct {
	Name  string `json:"name"`   
	Value string `json:"value"`  
}
type DOMSnapshotRareStringData struct {
	Index []int `json:"index"`  
	Value []int `json:"value"`  
}
type DOMSnapshotRareBooleanData struct {
	Index []int `json:"index"`  
}
type DOMSnapshotRareIntegerData struct {
	Index []int `json:"index"`  
	Value []int `json:"value"`  
}
type DOMSnapshotDocumentSnapshot struct {
	DocumentURL     int                            `json:"documentURL"`              
	Title           int                            `json:"title"`                    
	BaseURL         int                            `json:"baseURL"`                  
	ContentLanguage int                            `json:"contentLanguage"`          
	EncodingName    int                            `json:"encodingName"`             
	PublicId        int                            `json:"publicId"`                 
	SystemId        int                            `json:"systemId"`                 
	FrameId         int                            `json:"frameId"`                  
	Nodes           *DOMSnapshotNodeTreeSnapshot   `json:"nodes"`                    
	Layout          *DOMSnapshotLayoutTreeSnapshot `json:"layout"`                   
	TextBoxes       *DOMSnapshotTextBoxSnapshot    `json:"textBoxes"`                
	ScrollOffsetX   float64                        `json:"scrollOffsetX,omitempty"`  
	ScrollOffsetY   float64                        `json:"scrollOffsetY,omitempty"`  
	ContentWidth    float64                        `json:"contentWidth,omitempty"`   
	ContentHeight   float64                        `json:"contentHeight,omitempty"`  
}
type DOMSnapshotNodeTreeSnapshot struct {
	ParentIndex          []int                       `json:"parentIndex,omitempty"`           
	NodeType             []int                       `json:"nodeType,omitempty"`              
	NodeName             []int                       `json:"nodeName,omitempty"`              
	NodeValue            []int                       `json:"nodeValue,omitempty"`             
	BackendNodeId        []int                       `json:"backendNodeId,omitempty"`         
	Attributes           []int                       `json:"attributes,omitempty"`            
	TextValue            *DOMSnapshotRareStringData  `json:"textValue,omitempty"`             
	InputValue           *DOMSnapshotRareStringData  `json:"inputValue,omitempty"`            
	InputChecked         *DOMSnapshotRareBooleanData `json:"inputChecked,omitempty"`          
	OptionSelected       *DOMSnapshotRareBooleanData `json:"optionSelected,omitempty"`        
	ContentDocumentIndex *DOMSnapshotRareIntegerData `json:"contentDocumentIndex,omitempty"`  
	PseudoType           *DOMSnapshotRareStringData  `json:"pseudoType,omitempty"`            
	IsClickable          *DOMSnapshotRareBooleanData `json:"isClickable,omitempty"`           
	CurrentSourceURL     *DOMSnapshotRareStringData  `json:"currentSourceURL,omitempty"`      
	OriginURL            *DOMSnapshotRareStringData  `json:"originURL,omitempty"`             
}
type DOMSnapshotLayoutTreeSnapshot struct {
	NodeIndex               []int                       `json:"nodeIndex"`                          
	Styles                  []int                       `json:"styles"`                             
	Bounds                  []float64                   `json:"bounds"`                             
	Text                    []int                       `json:"text"`                               
	StackingContexts        *DOMSnapshotRareBooleanData `json:"stackingContexts"`                   
	PaintOrders             []int                       `json:"paintOrders,omitempty"`              
	OffsetRects             []float64                   `json:"offsetRects,omitempty"`              
	ScrollRects             []float64                   `json:"scrollRects,omitempty"`              
	ClientRects             []float64                   `json:"clientRects,omitempty"`              
	BlendedBackgroundColors []int                       `json:"blendedBackgroundColors,omitempty"`  
	TextColorOpacities      []float64                   `json:"textColorOpacities,omitempty"`       
}
type DOMSnapshotTextBoxSnapshot struct {
	LayoutIndex []int     `json:"layoutIndex"`  
	Bounds      []float64 `json:"bounds"`       
	Start       []int     `json:"start"`        
	Length      []int     `json:"length"`       
}
type DOMSnapshot struct {
	target gcdmessage.ChromeTargeter
}
func NewDOMSnapshot(target gcdmessage.ChromeTargeter) *DOMSnapshot {
	c := &DOMSnapshot{target: target}
	return c
}
func (c *DOMSnapshot) Disable(ctx context.Context) (*gcdmessage.ChromeResponse, error) {
	return c.target.SendDefaultRequest(ctx, &gcdmessage.ParamRequest{Id: c.target.GetId(), Method: "DOMSnapshot.disable"})
}