cdp

package
v0.8.2 Latest Latest
Warning

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

Go to latest
Published: Aug 5, 2019 License: Apache-2.0 Imports: 35 Imported by: 30

Documentation

Index

Constants

View Source
const BlankPageURL = "about:blank"
View Source
const DefaultAddress = "http://127.0.0.1:9222"
View Source
const DefaultTimeout = 5000 * time.Millisecond
View Source
const DriverName = "cdp"

Variables

This section is empty.

Functions

This section is empty.

Types

type Driver

type Driver struct {
	// contains filtered or unexported fields
}

func NewDriver

func NewDriver(opts ...Option) *Driver

func (*Driver) Close

func (drv *Driver) Close() error

func (*Driver) Name added in v0.7.0

func (drv *Driver) Name() string

func (*Driver) Open added in v0.8.0

func (drv *Driver) Open(ctx context.Context, params drivers.Params) (drivers.HTMLPage, error)

type HTMLDocument

type HTMLDocument struct {
	// contains filtered or unexported fields
}

func LoadHTMLDocument

func LoadHTMLDocument(
	ctx context.Context,
	logger *zerolog.Logger,
	client *cdp.Client,
	events *events.EventBroker,
	mouse *input.Mouse,
	keyboard *input.Keyboard,
	node dom.Node,
	tree page.FrameTree,
	execID runtime.ExecutionContextID,
	parent *HTMLDocument,
) (*HTMLDocument, error)

func LoadRootHTMLDocument added in v0.8.0

func LoadRootHTMLDocument(
	ctx context.Context,
	logger *zerolog.Logger,
	client *cdp.Client,
	events *events.EventBroker,
	mouse *input.Mouse,
	keyboard *input.Keyboard,
) (*HTMLDocument, error)

func NewHTMLDocument

func NewHTMLDocument(
	logger *zerolog.Logger,
	client *cdp.Client,
	events *events.EventBroker,
	input *input.Manager,
	exec *eval.ExecutionContext,
	rootElement *HTMLElement,
	frames page.FrameTree,
	parent *HTMLDocument,
) *HTMLDocument

func (*HTMLDocument) ClickBySelector

func (doc *HTMLDocument) ClickBySelector(ctx context.Context, selector values.String) error

func (*HTMLDocument) ClickBySelectorAll

func (doc *HTMLDocument) ClickBySelectorAll(ctx context.Context, selector values.String) error

func (*HTMLDocument) Close

func (doc *HTMLDocument) Close() error

func (*HTMLDocument) Compare

func (doc *HTMLDocument) Compare(other core.Value) int64

func (*HTMLDocument) Copy

func (doc *HTMLDocument) Copy() core.Value

func (*HTMLDocument) CountBySelector

func (doc *HTMLDocument) CountBySelector(ctx context.Context, selector values.String) values.Int

func (*HTMLDocument) ExistsBySelector

func (doc *HTMLDocument) ExistsBySelector(ctx context.Context, selector values.String) (values.Boolean, error)

func (*HTMLDocument) FocusBySelector added in v0.8.0

func (doc *HTMLDocument) FocusBySelector(ctx context.Context, selector values.String) error

func (*HTMLDocument) GetChildDocuments added in v0.8.0

func (doc *HTMLDocument) GetChildDocuments(ctx context.Context) (*values.Array, error)

func (*HTMLDocument) GetChildNode

func (doc *HTMLDocument) GetChildNode(ctx context.Context, idx values.Int) core.Value

func (*HTMLDocument) GetChildNodes

func (doc *HTMLDocument) GetChildNodes(ctx context.Context) core.Value

func (*HTMLDocument) GetElement added in v0.8.0

func (doc *HTMLDocument) GetElement() drivers.HTMLElement

func (*HTMLDocument) GetIn added in v0.7.0

func (doc *HTMLDocument) GetIn(ctx context.Context, path []core.Value) (core.Value, error)

func (*HTMLDocument) GetName added in v0.8.0

func (doc *HTMLDocument) GetName() values.String

func (*HTMLDocument) GetNodeName added in v0.8.0

func (doc *HTMLDocument) GetNodeName() values.String

func (*HTMLDocument) GetNodeType added in v0.8.0

func (doc *HTMLDocument) GetNodeType() values.Int

func (*HTMLDocument) GetParentDocument added in v0.8.0

func (doc *HTMLDocument) GetParentDocument() drivers.HTMLDocument

func (*HTMLDocument) GetTitle added in v0.8.0

func (doc *HTMLDocument) GetTitle() values.String

func (*HTMLDocument) GetURL added in v0.7.0

func (doc *HTMLDocument) GetURL() values.String

func (*HTMLDocument) Hash

func (doc *HTMLDocument) Hash() uint64

func (*HTMLDocument) InputBySelector

func (doc *HTMLDocument) InputBySelector(ctx context.Context, selector values.String, value core.Value, delay values.Int) error

func (*HTMLDocument) IsDetached added in v0.8.0

func (doc *HTMLDocument) IsDetached() values.Boolean

func (*HTMLDocument) Iterate added in v0.7.0

func (doc *HTMLDocument) Iterate(ctx context.Context) (core.Iterator, error)

func (*HTMLDocument) Length

func (doc *HTMLDocument) Length() values.Int

func (*HTMLDocument) MarshalJSON

func (doc *HTMLDocument) MarshalJSON() ([]byte, error)

func (*HTMLDocument) MoveMouseBySelector added in v0.7.0

func (doc *HTMLDocument) MoveMouseBySelector(ctx context.Context, selector values.String) error

func (*HTMLDocument) MoveMouseByXY added in v0.7.0

func (doc *HTMLDocument) MoveMouseByXY(ctx context.Context, x, y values.Float) error

func (*HTMLDocument) QuerySelector

func (doc *HTMLDocument) QuerySelector(ctx context.Context, selector values.String) core.Value

func (*HTMLDocument) QuerySelectorAll

func (doc *HTMLDocument) QuerySelectorAll(ctx context.Context, selector values.String) core.Value

func (*HTMLDocument) ScrollBottom

func (doc *HTMLDocument) ScrollBottom(ctx context.Context) error

func (*HTMLDocument) ScrollBySelector

func (doc *HTMLDocument) ScrollBySelector(ctx context.Context, selector values.String) error

func (*HTMLDocument) ScrollByXY added in v0.7.0

func (doc *HTMLDocument) ScrollByXY(ctx context.Context, x, y values.Float) error

func (*HTMLDocument) ScrollTop

func (doc *HTMLDocument) ScrollTop(ctx context.Context) error

func (*HTMLDocument) SelectBySelector

func (doc *HTMLDocument) SelectBySelector(ctx context.Context, selector values.String, value *values.Array) (*values.Array, error)

func (*HTMLDocument) SetIn added in v0.7.0

func (doc *HTMLDocument) SetIn(ctx context.Context, path []core.Value, value core.Value) error

func (*HTMLDocument) String

func (doc *HTMLDocument) String() string

func (*HTMLDocument) Type

func (doc *HTMLDocument) Type() core.Type

func (*HTMLDocument) Unwrap

func (doc *HTMLDocument) Unwrap() interface{}

func (*HTMLDocument) WaitForAttributeBySelector added in v0.7.0

func (doc *HTMLDocument) WaitForAttributeBySelector(
	ctx context.Context,
	selector,
	name values.String,
	value core.Value,
	when drivers.WaitEvent,
) error

func (*HTMLDocument) WaitForAttributeBySelectorAll added in v0.7.0

func (doc *HTMLDocument) WaitForAttributeBySelectorAll(
	ctx context.Context,
	selector,
	name values.String,
	value core.Value,
	when drivers.WaitEvent,
) error

func (*HTMLDocument) WaitForClassBySelector added in v0.7.0

func (doc *HTMLDocument) WaitForClassBySelector(ctx context.Context, selector, class values.String, when drivers.WaitEvent) error

func (*HTMLDocument) WaitForClassBySelectorAll added in v0.7.0

func (doc *HTMLDocument) WaitForClassBySelectorAll(ctx context.Context, selector, class values.String, when drivers.WaitEvent) error

func (*HTMLDocument) WaitForElement added in v0.7.0

func (doc *HTMLDocument) WaitForElement(ctx context.Context, selector values.String, when drivers.WaitEvent) error

func (*HTMLDocument) WaitForStyleBySelector added in v0.7.0

func (doc *HTMLDocument) WaitForStyleBySelector(ctx context.Context, selector, name values.String, value core.Value, when drivers.WaitEvent) error

func (*HTMLDocument) WaitForStyleBySelectorAll added in v0.7.0

func (doc *HTMLDocument) WaitForStyleBySelectorAll(ctx context.Context, selector, name values.String, value core.Value, when drivers.WaitEvent) error

func (*HTMLDocument) XPath added in v0.8.0

func (doc *HTMLDocument) XPath(ctx context.Context, expression values.String) (core.Value, error)

type HTMLElement

type HTMLElement struct {
	// contains filtered or unexported fields
}

func LoadHTMLElement added in v0.8.0

func LoadHTMLElement(
	ctx context.Context,
	logger *zerolog.Logger,
	client *cdp.Client,
	broker *events.EventBroker,
	input *input.Manager,
	exec *eval.ExecutionContext,
	nodeID dom.NodeID,
) (*HTMLElement, error)

func LoadHTMLElementWithID added in v0.8.0

func LoadHTMLElementWithID(
	ctx context.Context,
	logger *zerolog.Logger,
	client *cdp.Client,
	broker *events.EventBroker,
	input *input.Manager,
	exec *eval.ExecutionContext,
	id HTMLElementIdentity,
) (*HTMLElement, error)

func NewHTMLElement

func NewHTMLElement(
	logger *zerolog.Logger,
	client *cdp.Client,
	broker *events.EventBroker,
	input *input.Manager,
	exec *eval.ExecutionContext,
	id HTMLElementIdentity,
	nodeType int,
	nodeName string,
	value string,
	children []HTMLElementIdentity,
) *HTMLElement

func (*HTMLElement) Click

func (el *HTMLElement) Click(ctx context.Context) error

func (*HTMLElement) Close

func (el *HTMLElement) Close() error

func (*HTMLElement) Compare

func (el *HTMLElement) Compare(other core.Value) int64

func (*HTMLElement) Copy

func (el *HTMLElement) Copy() core.Value

func (*HTMLElement) CountBySelector

func (el *HTMLElement) CountBySelector(ctx context.Context, selector values.String) values.Int

func (*HTMLElement) ExistsBySelector

func (el *HTMLElement) ExistsBySelector(ctx context.Context, selector values.String) (values.Boolean, error)

func (*HTMLElement) Focus added in v0.8.0

func (el *HTMLElement) Focus(ctx context.Context) error

func (*HTMLElement) GetAttribute

func (el *HTMLElement) GetAttribute(ctx context.Context, name values.String) core.Value

func (*HTMLElement) GetAttributes

func (el *HTMLElement) GetAttributes(ctx context.Context) *values.Object

func (*HTMLElement) GetChildNode

func (el *HTMLElement) GetChildNode(ctx context.Context, idx values.Int) core.Value

func (*HTMLElement) GetChildNodes

func (el *HTMLElement) GetChildNodes(ctx context.Context) core.Value

func (*HTMLElement) GetIn added in v0.7.0

func (el *HTMLElement) GetIn(ctx context.Context, path []core.Value) (core.Value, error)

func (*HTMLElement) GetInnerHTML added in v0.8.0

func (el *HTMLElement) GetInnerHTML(ctx context.Context) (values.String, error)

func (*HTMLElement) GetInnerHTMLBySelector added in v0.8.0

func (el *HTMLElement) GetInnerHTMLBySelector(ctx context.Context, selector values.String) (values.String, error)

func (*HTMLElement) GetInnerHTMLBySelectorAll added in v0.8.0

func (el *HTMLElement) GetInnerHTMLBySelectorAll(ctx context.Context, selector values.String) (*values.Array, error)

func (*HTMLElement) GetInnerText added in v0.8.0

func (el *HTMLElement) GetInnerText(ctx context.Context) (values.String, error)

func (*HTMLElement) GetInnerTextBySelector added in v0.8.0

func (el *HTMLElement) GetInnerTextBySelector(ctx context.Context, selector values.String) (values.String, error)

func (*HTMLElement) GetInnerTextBySelectorAll added in v0.8.0

func (el *HTMLElement) GetInnerTextBySelectorAll(ctx context.Context, selector values.String) (*values.Array, error)

func (*HTMLElement) GetNodeName added in v0.8.0

func (el *HTMLElement) GetNodeName() values.String

func (*HTMLElement) GetNodeType added in v0.8.0

func (el *HTMLElement) GetNodeType() values.Int

func (*HTMLElement) GetStyle added in v0.7.0

func (el *HTMLElement) GetStyle(ctx context.Context, name values.String) (core.Value, error)

func (*HTMLElement) GetStyles added in v0.7.0

func (el *HTMLElement) GetStyles(ctx context.Context) (*values.Object, error)

func (*HTMLElement) GetValue added in v0.7.0

func (el *HTMLElement) GetValue(ctx context.Context) core.Value

func (*HTMLElement) Hash

func (el *HTMLElement) Hash() uint64

func (*HTMLElement) Hover

func (el *HTMLElement) Hover(ctx context.Context) error

func (*HTMLElement) Input

func (el *HTMLElement) Input(ctx context.Context, value core.Value, delay values.Int) error

func (*HTMLElement) IsDetached added in v0.8.0

func (el *HTMLElement) IsDetached() values.Boolean

func (*HTMLElement) Iterate added in v0.7.0

func (el *HTMLElement) Iterate(_ context.Context) (core.Iterator, error)

func (*HTMLElement) Length

func (el *HTMLElement) Length() values.Int

func (*HTMLElement) MarshalJSON

func (el *HTMLElement) MarshalJSON() ([]byte, error)

func (*HTMLElement) QuerySelector

func (el *HTMLElement) QuerySelector(ctx context.Context, selector values.String) core.Value

func (*HTMLElement) QuerySelectorAll

func (el *HTMLElement) QuerySelectorAll(ctx context.Context, selector values.String) core.Value

func (*HTMLElement) RemoveAttribute added in v0.7.0

func (el *HTMLElement) RemoveAttribute(ctx context.Context, names ...values.String) error

func (*HTMLElement) RemoveStyle added in v0.7.0

func (el *HTMLElement) RemoveStyle(ctx context.Context, names ...values.String) error

func (*HTMLElement) ScrollIntoView

func (el *HTMLElement) ScrollIntoView(ctx context.Context) error

func (*HTMLElement) Select

func (el *HTMLElement) Select(ctx context.Context, value *values.Array) (*values.Array, error)

func (*HTMLElement) SetAttribute added in v0.7.0

func (el *HTMLElement) SetAttribute(ctx context.Context, name, value values.String) error

func (*HTMLElement) SetAttributes added in v0.7.0

func (el *HTMLElement) SetAttributes(ctx context.Context, attrs *values.Object) error

func (*HTMLElement) SetIn added in v0.7.0

func (el *HTMLElement) SetIn(ctx context.Context, path []core.Value, value core.Value) error

func (*HTMLElement) SetInnerHTML added in v0.8.0

func (el *HTMLElement) SetInnerHTML(ctx context.Context, innerHTML values.String) error

func (*HTMLElement) SetInnerHTMLBySelector added in v0.8.0

func (el *HTMLElement) SetInnerHTMLBySelector(ctx context.Context, selector, innerHTML values.String) error

func (*HTMLElement) SetInnerText added in v0.8.0

func (el *HTMLElement) SetInnerText(ctx context.Context, innerText values.String) error

func (*HTMLElement) SetInnerTextBySelector added in v0.8.0

func (el *HTMLElement) SetInnerTextBySelector(ctx context.Context, selector, innerText values.String) error

func (*HTMLElement) SetStyle added in v0.7.0

func (el *HTMLElement) SetStyle(ctx context.Context, name values.String, value core.Value) error

func (*HTMLElement) SetStyles added in v0.7.0

func (el *HTMLElement) SetStyles(ctx context.Context, styles *values.Object) error

func (*HTMLElement) SetValue added in v0.7.0

func (el *HTMLElement) SetValue(ctx context.Context, value core.Value) error

func (*HTMLElement) String

func (el *HTMLElement) String() string

func (*HTMLElement) Type

func (el *HTMLElement) Type() core.Type

func (*HTMLElement) Unwrap

func (el *HTMLElement) Unwrap() interface{}

func (*HTMLElement) WaitForAttribute added in v0.7.0

func (el *HTMLElement) WaitForAttribute(
	ctx context.Context,
	name values.String,
	value core.Value,
	when drivers.WaitEvent,
) error

func (*HTMLElement) WaitForClass

func (el *HTMLElement) WaitForClass(ctx context.Context, class values.String, when drivers.WaitEvent) error

func (*HTMLElement) WaitForStyle added in v0.7.0

func (el *HTMLElement) WaitForStyle(ctx context.Context, name values.String, value core.Value, when drivers.WaitEvent) error

func (*HTMLElement) XPath added in v0.8.0

func (el *HTMLElement) XPath(ctx context.Context, expression values.String) (result core.Value, err error)

type HTMLElementIdentity

type HTMLElementIdentity struct {
	// contains filtered or unexported fields
}

type HTMLPage added in v0.8.0

type HTMLPage struct {
	// contains filtered or unexported fields
}

func LoadHTMLPage added in v0.8.0

func LoadHTMLPage(
	ctx context.Context,
	conn *rpcc.Conn,
	params drivers.Params,
) (*HTMLPage, error)

func NewHTMLPage added in v0.8.0

func NewHTMLPage(
	logger *zerolog.Logger,
	conn *rpcc.Conn,
	client *cdp.Client,
	broker *events.EventBroker,
	mouse *input.Mouse,
	keyboard *input.Keyboard,
	document *HTMLDocument,
) *HTMLPage

func (*HTMLPage) CaptureScreenshot added in v0.8.0

func (p *HTMLPage) CaptureScreenshot(ctx context.Context, params drivers.ScreenshotParams) (values.Binary, error)

func (*HTMLPage) Close added in v0.8.0

func (p *HTMLPage) Close() error

func (*HTMLPage) Compare added in v0.8.0

func (p *HTMLPage) Compare(other core.Value) int64

func (*HTMLPage) Copy added in v0.8.0

func (p *HTMLPage) Copy() core.Value

func (*HTMLPage) DeleteCookies added in v0.8.0

func (p *HTMLPage) DeleteCookies(ctx context.Context, cookies ...drivers.HTTPCookie) error

func (*HTMLPage) GetCookies added in v0.8.0

func (p *HTMLPage) GetCookies(ctx context.Context) (*values.Array, error)

func (*HTMLPage) GetFrame added in v0.8.0

func (p *HTMLPage) GetFrame(ctx context.Context, idx values.Int) (core.Value, error)

func (*HTMLPage) GetFrames added in v0.8.0

func (p *HTMLPage) GetFrames(ctx context.Context) (*values.Array, error)

func (*HTMLPage) GetIn added in v0.8.0

func (p *HTMLPage) GetIn(ctx context.Context, path []core.Value) (core.Value, error)

func (*HTMLPage) GetMainFrame added in v0.8.0

func (p *HTMLPage) GetMainFrame() drivers.HTMLDocument

func (*HTMLPage) GetURL added in v0.8.0

func (p *HTMLPage) GetURL() values.String

func (*HTMLPage) Hash added in v0.8.0

func (p *HTMLPage) Hash() uint64

func (*HTMLPage) IsClosed added in v0.8.0

func (p *HTMLPage) IsClosed() values.Boolean

func (*HTMLPage) Iterate added in v0.8.0

func (p *HTMLPage) Iterate(ctx context.Context) (core.Iterator, error)

func (*HTMLPage) Length added in v0.8.0

func (p *HTMLPage) Length() values.Int

func (*HTMLPage) MarshalJSON added in v0.8.0

func (p *HTMLPage) MarshalJSON() ([]byte, error)

func (*HTMLPage) Navigate added in v0.8.0

func (p *HTMLPage) Navigate(ctx context.Context, url values.String) error

func (*HTMLPage) NavigateBack added in v0.8.0

func (p *HTMLPage) NavigateBack(ctx context.Context, skip values.Int) (values.Boolean, error)

func (*HTMLPage) NavigateForward added in v0.8.0

func (p *HTMLPage) NavigateForward(ctx context.Context, skip values.Int) (values.Boolean, error)

func (*HTMLPage) PrintToPDF added in v0.8.0

func (p *HTMLPage) PrintToPDF(ctx context.Context, params drivers.PDFParams) (values.Binary, error)

func (*HTMLPage) SetCookies added in v0.8.0

func (p *HTMLPage) SetCookies(ctx context.Context, cookies ...drivers.HTTPCookie) error

func (*HTMLPage) SetIn added in v0.8.0

func (p *HTMLPage) SetIn(ctx context.Context, path []core.Value, value core.Value) error

func (*HTMLPage) String added in v0.8.0

func (p *HTMLPage) String() string

func (*HTMLPage) Type added in v0.8.0

func (p *HTMLPage) Type() core.Type

func (*HTMLPage) Unwrap added in v0.8.0

func (p *HTMLPage) Unwrap() interface{}

func (*HTMLPage) WaitForNavigation added in v0.8.0

func (p *HTMLPage) WaitForNavigation(ctx context.Context) error

type Option

type Option func(opts *Options)

func WithAddress

func WithAddress(address string) Option

func WithCustomName added in v0.7.0

func WithCustomName(name string) Option

func WithKeepCookies added in v0.7.0

func WithKeepCookies() Option

func WithProxy

func WithProxy(address string) Option

func WithUserAgent

func WithUserAgent(value string) Option

type Options

type Options struct {
	Name        string
	Proxy       string
	UserAgent   string
	Address     string
	KeepCookies bool
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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