cdproto: github.com/chromedp/cdproto/cdp Index | Files

package cdp

import "github.com/chromedp/cdproto/cdp"

Index

Package Files

easyjson.go types.go

Constants

const EmptyFrameID = FrameID("")

EmptyFrameID is the "non-existent" frame id.

const EmptyNodeID = NodeID(0)

EmptyNodeID is the "non-existent" node id.

Variables

var MonotonicTimeEpoch *time.Time

MonotonicTimeEpoch is the MonotonicTime time epoch.

func Execute Uses

func Execute(ctx context.Context, method string, params easyjson.Marshaler, res easyjson.Unmarshaler) error

Execute uses the context's message executor to send a command or event method marshaling the provided parameters, and unmarshaling to res.

func WithExecutor Uses

func WithExecutor(parent context.Context, executor Executor) context.Context

WithExecutor sets the message executor for the context.

type BackendNode Uses

type BackendNode struct {
    NodeType      NodeType      `json:"nodeType"` // Node's nodeType.
    NodeName      string        `json:"nodeName"` // Node's nodeName.
    BackendNodeID BackendNodeID `json:"backendNodeId"`
}

BackendNode backend node with a friendly name.

See: https://chromedevtools.github.io/devtools-protocol/tot/DOM#type-BackendNode

func (BackendNode) MarshalEasyJSON Uses

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

MarshalEasyJSON supports easyjson.Marshaler interface

func (BackendNode) MarshalJSON Uses

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

MarshalJSON supports json.Marshaler interface

func (*BackendNode) UnmarshalEasyJSON Uses

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

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*BackendNode) UnmarshalJSON Uses

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

UnmarshalJSON supports json.Unmarshaler interface

type BackendNodeID Uses

type BackendNodeID int64

BackendNodeID unique DOM node identifier used to reference a node that may not have been pushed to the front-end.

See: https://chromedevtools.github.io/devtools-protocol/tot/DOM#type-BackendNodeId

func (BackendNodeID) Int64 Uses

func (t BackendNodeID) Int64() int64

Int64 returns the BackendNodeID as int64 value.

func (*BackendNodeID) UnmarshalEasyJSON Uses

func (t *BackendNodeID) UnmarshalEasyJSON(in *jlexer.Lexer)

UnmarshalEasyJSON satisfies easyjson.Unmarshaler.

func (*BackendNodeID) UnmarshalJSON Uses

func (t *BackendNodeID) UnmarshalJSON(buf []byte) error

UnmarshalJSON satisfies json.Unmarshaler.

type BrowserContextID Uses

type BrowserContextID string

BrowserContextID [no description].

See: https://chromedevtools.github.io/devtools-protocol/tot/Browser#type-BrowserContextID

func (BrowserContextID) String Uses

func (t BrowserContextID) String() string

String returns the BrowserContextID as string value.

type ErrUnknownCommandOrEvent Uses

type ErrUnknownCommandOrEvent string

ErrUnknownCommandOrEvent is an unknown command or event error.

func (ErrUnknownCommandOrEvent) Error Uses

func (err ErrUnknownCommandOrEvent) Error() string

Error satisfies the error interface.

type Error Uses

type Error string

Error is a error.

const (
    // ErrInvalidContext is the invalid context error.
    ErrInvalidContext Error = "invalid context"

    // ErrMsgMissingParamsOrResult is the msg missing params or result error.
    ErrMsgMissingParamsOrResult Error = "msg missing params or result"
)

Error values.

func (Error) Error Uses

func (err Error) Error() string

Error satisfies the error interface.

type Executor Uses

type Executor interface {
    // Execute executes the command.
    Execute(context.Context, string, easyjson.Marshaler, easyjson.Unmarshaler) error
}

Executor is the common interface for executing a command.

func ExecutorFromContext Uses

func ExecutorFromContext(ctx context.Context) Executor

ExecutorFromContext returns the message executor for the context.

type Frame Uses

type Frame struct {
    ID             FrameID          `json:"id"`                       // Frame unique identifier.
    ParentID       FrameID          `json:"parentId,omitempty"`       // Parent frame identifier.
    LoaderID       LoaderID         `json:"loaderId"`                 // Identifier of the loader associated with this frame.
    Name           string           `json:"name,omitempty"`           // Frame's name as specified in the tag.
    URL            string           `json:"url"`                      // Frame document's URL without fragment.
    URLFragment    string           `json:"urlFragment,omitempty"`    // Frame document's URL fragment including the '#'.
    SecurityOrigin string           `json:"securityOrigin"`           // Frame document's security origin.
    MimeType       string           `json:"mimeType"`                 // Frame document's mimeType as determined by the browser.
    UnreachableURL string           `json:"unreachableUrl,omitempty"` // If the frame failed to load, this contains the URL that could not be loaded. Note that unlike url above, this URL may contain a fragment.
    State          FrameState       `json:"-"`                        // Frame state.
    Root           *Node            `json:"-"`                        // Frame document root.
    Nodes          map[NodeID]*Node `json:"-"`                        // Frame nodes.
    sync.RWMutex   `json:"-"`       // Read write mutex.
}

Frame information about the Frame on the page.

See: https://chromedevtools.github.io/devtools-protocol/tot/Page#type-Frame

func (Frame) MarshalEasyJSON Uses

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

MarshalEasyJSON supports easyjson.Marshaler interface

func (Frame) MarshalJSON Uses

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

MarshalJSON supports json.Marshaler interface

func (*Frame) UnmarshalEasyJSON Uses

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

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*Frame) UnmarshalJSON Uses

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

UnmarshalJSON supports json.Unmarshaler interface

type FrameID Uses

type FrameID string

FrameID unique frame identifier.

See: https://chromedevtools.github.io/devtools-protocol/tot/Page#type-FrameId

func (FrameID) String Uses

func (t FrameID) String() string

String returns the FrameID as string value.

func (*FrameID) UnmarshalEasyJSON Uses

func (t *FrameID) UnmarshalEasyJSON(in *jlexer.Lexer)

UnmarshalEasyJSON satisfies easyjson.Unmarshaler.

func (*FrameID) UnmarshalJSON Uses

func (t *FrameID) UnmarshalJSON(buf []byte) error

UnmarshalJSON satisfies json.Unmarshaler.

type FrameState Uses

type FrameState uint16

FrameState is the state of a Frame.

const (
    FrameDOMContentEventFired FrameState = 1 << (15 - iota)
    FrameLoadEventFired
    FrameAttached
    FrameNavigated
    FrameLoading
    FrameScheduledNavigation
)

FrameState enum values.

func (FrameState) String Uses

func (fs FrameState) String() string

String satisfies stringer interface.

type LoaderID Uses

type LoaderID string

LoaderID unique loader identifier.

See: https://chromedevtools.github.io/devtools-protocol/tot/Network#type-LoaderId

func (LoaderID) String Uses

func (t LoaderID) String() string

String returns the LoaderID as string value.

type MonotonicTime Uses

type MonotonicTime time.Time

MonotonicTime monotonically increasing time in seconds since an arbitrary point in the past.

See: https://chromedevtools.github.io/devtools-protocol/tot/Network#type-MonotonicTime

func (MonotonicTime) MarshalEasyJSON Uses

func (t MonotonicTime) MarshalEasyJSON(out *jwriter.Writer)

MarshalEasyJSON satisfies easyjson.Marshaler.

func (MonotonicTime) MarshalJSON Uses

func (t MonotonicTime) MarshalJSON() ([]byte, error)

MarshalJSON satisfies json.Marshaler.

func (MonotonicTime) Time Uses

func (t MonotonicTime) Time() time.Time

Time returns the MonotonicTime as time.Time value.

func (*MonotonicTime) UnmarshalEasyJSON Uses

func (t *MonotonicTime) UnmarshalEasyJSON(in *jlexer.Lexer)

UnmarshalEasyJSON satisfies easyjson.Unmarshaler.

func (*MonotonicTime) UnmarshalJSON Uses

func (t *MonotonicTime) UnmarshalJSON(buf []byte) error

UnmarshalJSON satisfies json.Unmarshaler.

type Node Uses

type Node struct {
    NodeID           NodeID         `json:"nodeId"`                     // Node identifier that is passed into the rest of the DOM messages as the nodeId. Backend will only push node with given id once. It is aware of all requested nodes and will only fire DOM events for nodes known to the client.
    ParentID         NodeID         `json:"parentId,omitempty"`         // The id of the parent node if any.
    BackendNodeID    BackendNodeID  `json:"backendNodeId"`              // The BackendNodeId for this node.
    NodeType         NodeType       `json:"nodeType"`                   // Node's nodeType.
    NodeName         string         `json:"nodeName"`                   // Node's nodeName.
    LocalName        string         `json:"localName"`                  // Node's localName.
    NodeValue        string         `json:"nodeValue"`                  // Node's nodeValue.
    ChildNodeCount   int64          `json:"childNodeCount,omitempty"`   // Child count for Container nodes.
    Children         []*Node        `json:"children,omitempty"`         // Child nodes of this node when requested with children.
    Attributes       []string       `json:"attributes,omitempty"`       // Attributes of the Element node in the form of flat array [name1, value1, name2, value2].
    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.
    PublicID         string         `json:"publicId,omitempty"`         // DocumentType's publicId.
    SystemID         string         `json:"systemId,omitempty"`         // DocumentType's systemId.
    InternalSubset   string         `json:"internalSubset,omitempty"`   // DocumentType's internalSubset.
    XMLVersion       string         `json:"xmlVersion,omitempty"`       // Document's XML version in case of XML documents.
    Name             string         `json:"name,omitempty"`             // Attr's name.
    Value            string         `json:"value,omitempty"`            // Attr's value.
    PseudoType       PseudoType     `json:"pseudoType,omitempty"`       // Pseudo element type for this node.
    ShadowRootType   ShadowRootType `json:"shadowRootType,omitempty"`   // Shadow root type.
    FrameID          FrameID        `json:"frameId,omitempty"`          // Frame ID for frame owner elements.
    ContentDocument  *Node          `json:"contentDocument,omitempty"`  // Content document for frame owner elements.
    ShadowRoots      []*Node        `json:"shadowRoots,omitempty"`      // Shadow root list for given element host.
    TemplateContent  *Node          `json:"templateContent,omitempty"`  // Content document fragment for template elements.
    PseudoElements   []*Node        `json:"pseudoElements,omitempty"`   // Pseudo elements associated with this node.
    ImportedDocument *Node          `json:"importedDocument,omitempty"` // Import document for the HTMLImport links.
    DistributedNodes []*BackendNode `json:"distributedNodes,omitempty"` // Distributed nodes for given insertion point.
    IsSVG            bool           `json:"isSVG,omitempty"`            // Whether the node is SVG.
    Parent           *Node          `json:"-"`                          // Parent node.
    Invalidated      chan struct{}  `json:"-"`                          // Invalidated channel.
    State            NodeState      `json:"-"`                          // Node state.
    sync.RWMutex     `json:"-"`     // Read write mutex.
}

Node DOM interaction is implemented in terms of mirror objects that represent the actual DOM nodes. DOMNode is a base node mirror type.

See: https://chromedevtools.github.io/devtools-protocol/tot/DOM#type-Node

func (*Node) Attribute Uses

func (n *Node) Attribute(name string) (string, bool)

Attribute returns the named attribute for the node and if it exists.

func (*Node) AttributeValue Uses

func (n *Node) AttributeValue(name string) string

AttributeValue returns the named attribute for the node.

func (*Node) Dump Uses

func (n *Node) Dump(prefix, indent string, nodeIDs bool) string

Dump builds a printable string representation of the node and its children.

func (*Node) FullXPath Uses

func (n *Node) FullXPath() string

FullXPath returns the full XPath for the node, stopping only at the top most document root.

func (*Node) FullXPathByID Uses

func (n *Node) FullXPathByID() string

FullXPathByID returns the full XPath for the node, stopping at the top most document root or at the closest parent node with an id attribute.

func (Node) MarshalEasyJSON Uses

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

MarshalEasyJSON supports easyjson.Marshaler interface

func (Node) MarshalJSON Uses

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

MarshalJSON supports json.Marshaler interface

func (*Node) PartialXPath Uses

func (n *Node) PartialXPath() string

PartialXPath returns the partial XPath for the node, stopping at the nearest parent document node.

func (*Node) PartialXPathByID Uses

func (n *Node) PartialXPathByID() string

PartialXPathByID returns the partial XPath for the node, stopping at the first parent with an id attribute or at nearest parent document node.

func (*Node) UnmarshalEasyJSON Uses

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

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*Node) UnmarshalJSON Uses

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

UnmarshalJSON supports json.Unmarshaler interface

type NodeID Uses

type NodeID int64

NodeID unique DOM node identifier.

See: https://chromedevtools.github.io/devtools-protocol/tot/DOM#type-NodeId

func (NodeID) Int64 Uses

func (t NodeID) Int64() int64

Int64 returns the NodeID as int64 value.

func (*NodeID) UnmarshalEasyJSON Uses

func (t *NodeID) UnmarshalEasyJSON(in *jlexer.Lexer)

UnmarshalEasyJSON satisfies easyjson.Unmarshaler.

func (*NodeID) UnmarshalJSON Uses

func (t *NodeID) UnmarshalJSON(buf []byte) error

UnmarshalJSON satisfies json.Unmarshaler.

type NodeState Uses

type NodeState uint8

NodeState is the state of a DOM node.

const (
    NodeReady NodeState = 1 << (7 - iota)
    NodeVisible
    NodeHighlighted
)

NodeState enum values.

func (NodeState) String Uses

func (ns NodeState) String() string

String satisfies stringer interface.

type NodeType Uses

type NodeType int64

NodeType node type.

See: https://developer.mozilla.org/en/docs/Web/API/Node/nodeType

const (
    NodeTypeElement               NodeType = 1
    NodeTypeAttribute             NodeType = 2
    NodeTypeText                  NodeType = 3
    NodeTypeCDATA                 NodeType = 4
    NodeTypeEntityReference       NodeType = 5
    NodeTypeEntity                NodeType = 6
    NodeTypeProcessingInstruction NodeType = 7
    NodeTypeComment               NodeType = 8
    NodeTypeDocument              NodeType = 9
    NodeTypeDocumentType          NodeType = 10
    NodeTypeDocumentFragment      NodeType = 11
    NodeTypeNotation              NodeType = 12
)

NodeType values.

func (NodeType) Int64 Uses

func (t NodeType) Int64() int64

Int64 returns the NodeType as int64 value.

func (NodeType) MarshalEasyJSON Uses

func (t NodeType) MarshalEasyJSON(out *jwriter.Writer)

MarshalEasyJSON satisfies easyjson.Marshaler.

func (NodeType) MarshalJSON Uses

func (t NodeType) MarshalJSON() ([]byte, error)

MarshalJSON satisfies json.Marshaler.

func (NodeType) String Uses

func (t NodeType) String() string

String returns the NodeType as string value.

func (*NodeType) UnmarshalEasyJSON Uses

func (t *NodeType) UnmarshalEasyJSON(in *jlexer.Lexer)

UnmarshalEasyJSON satisfies easyjson.Unmarshaler.

func (*NodeType) UnmarshalJSON Uses

func (t *NodeType) UnmarshalJSON(buf []byte) error

UnmarshalJSON satisfies json.Unmarshaler.

type PseudoType Uses

type PseudoType string

PseudoType pseudo element type.

See: https://chromedevtools.github.io/devtools-protocol/tot/DOM#type-PseudoType

const (
    PseudoTypeFirstLine           PseudoType = "first-line"
    PseudoTypeFirstLetter         PseudoType = "first-letter"
    PseudoTypeBefore              PseudoType = "before"
    PseudoTypeAfter               PseudoType = "after"
    PseudoTypeMarker              PseudoType = "marker"
    PseudoTypeBackdrop            PseudoType = "backdrop"
    PseudoTypeSelection           PseudoType = "selection"
    PseudoTypeFirstLineInherited  PseudoType = "first-line-inherited"
    PseudoTypeScrollbar           PseudoType = "scrollbar"
    PseudoTypeScrollbarThumb      PseudoType = "scrollbar-thumb"
    PseudoTypeScrollbarButton     PseudoType = "scrollbar-button"
    PseudoTypeScrollbarTrack      PseudoType = "scrollbar-track"
    PseudoTypeScrollbarTrackPiece PseudoType = "scrollbar-track-piece"
    PseudoTypeScrollbarCorner     PseudoType = "scrollbar-corner"
    PseudoTypeResizer             PseudoType = "resizer"
    PseudoTypeInputListButton     PseudoType = "input-list-button"
)

PseudoType values.

func (PseudoType) MarshalEasyJSON Uses

func (t PseudoType) MarshalEasyJSON(out *jwriter.Writer)

MarshalEasyJSON satisfies easyjson.Marshaler.

func (PseudoType) MarshalJSON Uses

func (t PseudoType) MarshalJSON() ([]byte, error)

MarshalJSON satisfies json.Marshaler.

func (PseudoType) String Uses

func (t PseudoType) String() string

String returns the PseudoType as string value.

func (*PseudoType) UnmarshalEasyJSON Uses

func (t *PseudoType) UnmarshalEasyJSON(in *jlexer.Lexer)

UnmarshalEasyJSON satisfies easyjson.Unmarshaler.

func (*PseudoType) UnmarshalJSON Uses

func (t *PseudoType) UnmarshalJSON(buf []byte) error

UnmarshalJSON satisfies json.Unmarshaler.

type RGBA Uses

type RGBA struct {
    R   int64   `json:"r"` // The red component, in the [0-255] range.
    G   int64   `json:"g"` // The green component, in the [0-255] range.
    B   int64   `json:"b"` // The blue component, in the [0-255] range.
    A   float64 `json:"a"` // The alpha component, in the [0-1] range (default: 1).
}

RGBA a structure holding an RGBA color.

See: https://chromedevtools.github.io/devtools-protocol/tot/DOM#type-RGBA

func (RGBA) MarshalEasyJSON Uses

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

MarshalEasyJSON supports easyjson.Marshaler interface

func (RGBA) MarshalJSON Uses

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

MarshalJSON supports json.Marshaler interface

func (*RGBA) UnmarshalEasyJSON Uses

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

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*RGBA) UnmarshalJSON Uses

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

UnmarshalJSON supports json.Unmarshaler interface

type ShadowRootType Uses

type ShadowRootType string

ShadowRootType shadow root type.

See: https://chromedevtools.github.io/devtools-protocol/tot/DOM#type-ShadowRootType

const (
    ShadowRootTypeUserAgent ShadowRootType = "user-agent"
    ShadowRootTypeOpen      ShadowRootType = "open"
    ShadowRootTypeClosed    ShadowRootType = "closed"
)

ShadowRootType values.

func (ShadowRootType) MarshalEasyJSON Uses

func (t ShadowRootType) MarshalEasyJSON(out *jwriter.Writer)

MarshalEasyJSON satisfies easyjson.Marshaler.

func (ShadowRootType) MarshalJSON Uses

func (t ShadowRootType) MarshalJSON() ([]byte, error)

MarshalJSON satisfies json.Marshaler.

func (ShadowRootType) String Uses

func (t ShadowRootType) String() string

String returns the ShadowRootType as string value.

func (*ShadowRootType) UnmarshalEasyJSON Uses

func (t *ShadowRootType) UnmarshalEasyJSON(in *jlexer.Lexer)

UnmarshalEasyJSON satisfies easyjson.Unmarshaler.

func (*ShadowRootType) UnmarshalJSON Uses

func (t *ShadowRootType) UnmarshalJSON(buf []byte) error

UnmarshalJSON satisfies json.Unmarshaler.

type TimeSinceEpoch Uses

type TimeSinceEpoch time.Time

TimeSinceEpoch UTC time in seconds, counted from January 1, 1970.

See: https://chromedevtools.github.io/devtools-protocol/tot/Network#type-TimeSinceEpoch

func (TimeSinceEpoch) MarshalEasyJSON Uses

func (t TimeSinceEpoch) MarshalEasyJSON(out *jwriter.Writer)

MarshalEasyJSON satisfies easyjson.Marshaler.

func (TimeSinceEpoch) MarshalJSON Uses

func (t TimeSinceEpoch) MarshalJSON() ([]byte, error)

MarshalJSON satisfies json.Marshaler.

func (TimeSinceEpoch) Time Uses

func (t TimeSinceEpoch) Time() time.Time

Time returns the TimeSinceEpoch as time.Time value.

func (*TimeSinceEpoch) UnmarshalEasyJSON Uses

func (t *TimeSinceEpoch) UnmarshalEasyJSON(in *jlexer.Lexer)

UnmarshalEasyJSON satisfies easyjson.Unmarshaler.

func (*TimeSinceEpoch) UnmarshalJSON Uses

func (t *TimeSinceEpoch) UnmarshalJSON(buf []byte) error

UnmarshalJSON satisfies json.Unmarshaler.

Package cdp imports 12 packages (graph) and is imported by 102 packages. Updated 2020-07-08. Refresh now. Tools for package owners.