domsnapshot

package
v0.0.0-...-2c452e2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 5, 2018 License: MIT Imports: 8 Imported by: 0

Documentation

Overview

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.

Index

Constants

View Source
const (
	CommandGetSnapshot = "DOMSnapshot.getSnapshot"
)

Command names.

Variables

This section is empty.

Functions

This section is empty.

Types

type ComputedStyle

type ComputedStyle struct {
	Properties []*NameValue `json:"properties"` // Name/value pairs of computed style properties.
}

ComputedStyle a subset of the full ComputedStyle as defined by the request whitelist.

func (ComputedStyle) MarshalEasyJSON

func (v ComputedStyle) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (ComputedStyle) MarshalJSON

func (v ComputedStyle) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*ComputedStyle) UnmarshalEasyJSON

func (v *ComputedStyle) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*ComputedStyle) UnmarshalJSON

func (v *ComputedStyle) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type DOMNode

type DOMNode struct {
	NodeType              cdp.NodeType                 `json:"nodeType"`                        // Node's nodeType.
	NodeName              string                       `json:"nodeName"`                        // Node's nodeName.
	NodeValue             string                       `json:"nodeValue"`                       // Node's nodeValue.
	TextValue             string                       `json:"textValue,omitempty"`             // Only set for textarea elements, contains the text value.
	InputValue            string                       `json:"inputValue,omitempty"`            // Only set for input elements, contains the input's associated text value.
	InputChecked          bool                         `json:"inputChecked,omitempty"`          // Only set for radio and checkbox input elements, indicates if the element has been checked
	OptionSelected        bool                         `json:"optionSelected,omitempty"`        // Only set for option elements, indicates if the element has been selected
	BackendNodeID         cdp.BackendNodeID            `json:"backendNodeId"`                   // Node's id, corresponds to DOM.Node.backendNodeId.
	ChildNodeIndexes      []int64                      `json:"childNodeIndexes,omitempty"`      // The indexes of the node's child nodes in the domNodes array returned by getSnapshot, if any.
	Attributes            []*NameValue                 `json:"attributes,omitempty"`            // Attributes of an Element node.
	PseudoElementIndexes  []int64                      `json:"pseudoElementIndexes,omitempty"`  // Indexes of pseudo elements associated with this node in the domNodes array returned by getSnapshot, if any.
	LayoutNodeIndex       int64                        `json:"layoutNodeIndex,omitempty"`       // The index of the node's related layout tree node in the layoutTreeNodes array returned by getSnapshot, if any.
	DocumentURL           string                       `json:"documentURL,omitempty"`           // Document URL that Document or FrameOwner node points to.
	BaseURL               string                       `json:"baseURL,omitempty"`               // Base URL that Document or FrameOwner node uses for URL completion.
	ContentLanguage       string                       `json:"contentLanguage,omitempty"`       // Only set for documents, contains the document's content language.
	DocumentEncoding      string                       `json:"documentEncoding,omitempty"`      // Only set for documents, contains the document's character set encoding.
	PublicID              string                       `json:"publicId,omitempty"`              // DocumentType node's publicId.
	SystemID              string                       `json:"systemId,omitempty"`              // DocumentType node's systemId.
	FrameID               cdp.FrameID                  `json:"frameId,omitempty"`               // Frame ID for frame owner elements and also for the document node.
	ContentDocumentIndex  int64                        `json:"contentDocumentIndex,omitempty"`  // The index of a frame owner element's content document in the domNodes array returned by getSnapshot, if any.
	ImportedDocumentIndex int64                        `json:"importedDocumentIndex,omitempty"` // Index of the imported document's node of a link element in the domNodes array returned by getSnapshot, if any.
	TemplateContentIndex  int64                        `json:"templateContentIndex,omitempty"`  // Index of the content node of a template element in the domNodes array returned by getSnapshot.
	PseudoType            cdp.PseudoType               `json:"pseudoType,omitempty"`            // Type of a pseudo element node.
	IsClickable           bool                         `json:"isClickable,omitempty"`           // Whether this DOM node responds to mouse clicks. This includes nodes that have had click event listeners attached via JavaScript as well as anchor tags that naturally navigate when clicked.
	EventListeners        []*domdebugger.EventListener `json:"eventListeners,omitempty"`        // Details of the node's event listeners, if any.
	CurrentSourceURL      string                       `json:"currentSourceURL,omitempty"`      // The selected url for nodes with a srcset attribute.
}

DOMNode a Node in the DOM tree.

func (DOMNode) MarshalEasyJSON

func (v DOMNode) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (DOMNode) MarshalJSON

func (v DOMNode) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*DOMNode) UnmarshalEasyJSON

func (v *DOMNode) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*DOMNode) UnmarshalJSON

func (v *DOMNode) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type GetSnapshotParams

type GetSnapshotParams struct {
	ComputedStyleWhitelist []string `json:"computedStyleWhitelist"`          // Whitelist of computed styles to return.
	IncludeEventListeners  bool     `json:"includeEventListeners,omitempty"` // Whether or not to retrieve details of DOM listeners (default false).
}

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.

func GetSnapshot

func GetSnapshot(computedStyleWhitelist []string) *GetSnapshotParams

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 (*GetSnapshotParams) Do

func (p *GetSnapshotParams) Do(ctxt context.Context, h cdp.Executor) (domNodes []*DOMNode, layoutTreeNodes []*LayoutTreeNode, computedStyles []*ComputedStyle, err error)

Do executes DOMSnapshot.getSnapshot against the provided context.

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 (GetSnapshotParams) MarshalEasyJSON

func (v GetSnapshotParams) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (GetSnapshotParams) MarshalJSON

func (v GetSnapshotParams) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*GetSnapshotParams) UnmarshalEasyJSON

func (v *GetSnapshotParams) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*GetSnapshotParams) UnmarshalJSON

func (v *GetSnapshotParams) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

func (GetSnapshotParams) WithIncludeEventListeners

func (p GetSnapshotParams) WithIncludeEventListeners(includeEventListeners bool) *GetSnapshotParams

WithIncludeEventListeners whether or not to retrieve details of DOM listeners (default false).

type GetSnapshotReturns

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.
}

GetSnapshotReturns return values.

func (GetSnapshotReturns) MarshalEasyJSON

func (v GetSnapshotReturns) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (GetSnapshotReturns) MarshalJSON

func (v GetSnapshotReturns) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*GetSnapshotReturns) UnmarshalEasyJSON

func (v *GetSnapshotReturns) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*GetSnapshotReturns) UnmarshalJSON

func (v *GetSnapshotReturns) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type InlineTextBox

type InlineTextBox struct {
	BoundingBox         *dom.Rect `json:"boundingBox"`         // The absolute position bounding box.
	StartCharacterIndex int64     `json:"startCharacterIndex"` // The starting index in characters, for this post layout textbox substring.
	NumCharacters       int64     `json:"numCharacters"`       // The number of characters in this post layout textbox substring.
}

InlineTextBox details of post layout rendered text positions. The exact layout should not be regarded as stable and may change between versions.

func (InlineTextBox) MarshalEasyJSON

func (v InlineTextBox) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (InlineTextBox) MarshalJSON

func (v InlineTextBox) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*InlineTextBox) UnmarshalEasyJSON

func (v *InlineTextBox) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*InlineTextBox) UnmarshalJSON

func (v *InlineTextBox) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type LayoutTreeNode

type LayoutTreeNode struct {
	DomNodeIndex    int64            `json:"domNodeIndex"`              // The index of the related DOM node in the domNodes array returned by getSnapshot.
	BoundingBox     *dom.Rect        `json:"boundingBox"`               // The absolute position bounding box.
	LayoutText      string           `json:"layoutText,omitempty"`      // Contents of the LayoutText, if any.
	InlineTextNodes []*InlineTextBox `json:"inlineTextNodes,omitempty"` // The post-layout inline text nodes, if any.
	StyleIndex      int64            `json:"styleIndex,omitempty"`      // Index into the computedStyles array returned by getSnapshot.
}

LayoutTreeNode details of an element in the DOM tree with a LayoutObject.

func (LayoutTreeNode) MarshalEasyJSON

func (v LayoutTreeNode) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (LayoutTreeNode) MarshalJSON

func (v LayoutTreeNode) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*LayoutTreeNode) UnmarshalEasyJSON

func (v *LayoutTreeNode) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*LayoutTreeNode) UnmarshalJSON

func (v *LayoutTreeNode) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type NameValue

type NameValue struct {
	Name  string `json:"name"`  // Attribute/property name.
	Value string `json:"value"` // Attribute/property value.
}

NameValue a name/value pair.

func (NameValue) MarshalEasyJSON

func (v NameValue) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (NameValue) MarshalJSON

func (v NameValue) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*NameValue) UnmarshalEasyJSON

func (v *NameValue) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*NameValue) UnmarshalJSON

func (v *NameValue) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL