2017-01-24 15:09:23 +00:00
// Package page provides the Chrome Debugging Protocol
2017-02-12 04:59:33 +00:00
// commands, types, and events for the Page domain.
2017-01-24 15:09:23 +00:00
//
// Actions and events related to the inspected page belong to the page
// domain.
//
// Generated by the chromedp-gen command.
package page
2017-07-09 02:05:19 +00:00
// Code generated by chromedp-gen. DO NOT EDIT.
2017-01-24 15:09:23 +00:00
import (
"context"
"encoding/base64"
2017-01-26 07:28:34 +00:00
cdp "github.com/knq/chromedp/cdp"
2017-01-24 15:09:23 +00:00
"github.com/knq/chromedp/cdp/debugger"
2017-02-25 00:21:58 +00:00
"github.com/knq/chromedp/cdp/dom"
2017-06-25 01:38:47 +00:00
"github.com/knq/chromedp/cdp/runtime"
2017-01-24 15:09:23 +00:00
)
// EnableParams enables page domain notifications.
type EnableParams struct { }
// Enable enables page domain notifications.
func Enable ( ) * EnableParams {
return & EnableParams { }
}
2017-02-12 04:59:33 +00:00
// Do executes Page.enable against the provided context and
// target handler.
func ( p * EnableParams ) Do ( ctxt context . Context , h cdp . Handler ) ( err error ) {
2017-02-14 08:41:23 +00:00
return h . Execute ( ctxt , cdp . CommandPageEnable , nil , nil )
2017-01-24 15:09:23 +00:00
}
// DisableParams disables page domain notifications.
type DisableParams struct { }
// Disable disables page domain notifications.
func Disable ( ) * DisableParams {
return & DisableParams { }
}
2017-02-12 04:59:33 +00:00
// Do executes Page.disable against the provided context and
// target handler.
func ( p * DisableParams ) Do ( ctxt context . Context , h cdp . Handler ) ( err error ) {
2017-02-14 08:41:23 +00:00
return h . Execute ( ctxt , cdp . CommandPageDisable , nil , nil )
2017-01-24 15:09:23 +00:00
}
2017-07-09 01:40:29 +00:00
// AddScriptToEvaluateOnNewDocumentParams evaluates given script in every
// frame upon creation (before loading frame's scripts).
type AddScriptToEvaluateOnNewDocumentParams struct {
Source string ` json:"source" `
2017-01-24 15:09:23 +00:00
}
2017-07-09 01:40:29 +00:00
// AddScriptToEvaluateOnNewDocument evaluates given script in every frame
// upon creation (before loading frame's scripts).
2017-01-26 07:28:34 +00:00
//
2017-01-24 15:09:23 +00:00
// parameters:
2017-07-09 01:40:29 +00:00
// source
func AddScriptToEvaluateOnNewDocument ( source string ) * AddScriptToEvaluateOnNewDocumentParams {
return & AddScriptToEvaluateOnNewDocumentParams {
Source : source ,
2017-01-24 15:09:23 +00:00
}
}
2017-07-09 01:40:29 +00:00
// AddScriptToEvaluateOnNewDocumentReturns return values.
type AddScriptToEvaluateOnNewDocumentReturns struct {
2017-01-24 15:09:23 +00:00
Identifier ScriptIdentifier ` json:"identifier,omitempty" ` // Identifier of the added script.
}
2017-07-09 01:40:29 +00:00
// Do executes Page.addScriptToEvaluateOnNewDocument against the provided context and
2017-02-12 04:59:33 +00:00
// target handler.
2017-01-24 15:09:23 +00:00
//
// returns:
// identifier - Identifier of the added script.
2017-07-09 01:40:29 +00:00
func ( p * AddScriptToEvaluateOnNewDocumentParams ) Do ( ctxt context . Context , h cdp . Handler ) ( identifier ScriptIdentifier , err error ) {
2017-02-14 08:41:23 +00:00
// execute
2017-07-09 01:40:29 +00:00
var res AddScriptToEvaluateOnNewDocumentReturns
err = h . Execute ( ctxt , cdp . CommandPageAddScriptToEvaluateOnNewDocument , p , & res )
2017-01-24 15:09:23 +00:00
if err != nil {
return "" , err
}
2017-02-14 08:41:23 +00:00
return res . Identifier , nil
2017-01-24 15:09:23 +00:00
}
2017-07-09 01:40:29 +00:00
// RemoveScriptToEvaluateOnNewDocumentParams removes given script from the
// list.
type RemoveScriptToEvaluateOnNewDocumentParams struct {
2017-01-24 15:09:23 +00:00
Identifier ScriptIdentifier ` json:"identifier" `
}
2017-07-09 01:40:29 +00:00
// RemoveScriptToEvaluateOnNewDocument removes given script from the list.
2017-01-26 07:28:34 +00:00
//
2017-01-24 15:09:23 +00:00
// parameters:
// identifier
2017-07-09 01:40:29 +00:00
func RemoveScriptToEvaluateOnNewDocument ( identifier ScriptIdentifier ) * RemoveScriptToEvaluateOnNewDocumentParams {
return & RemoveScriptToEvaluateOnNewDocumentParams {
2017-01-24 15:09:23 +00:00
Identifier : identifier ,
}
}
2017-07-09 01:40:29 +00:00
// Do executes Page.removeScriptToEvaluateOnNewDocument against the provided context and
2017-02-12 04:59:33 +00:00
// target handler.
2017-07-09 01:40:29 +00:00
func ( p * RemoveScriptToEvaluateOnNewDocumentParams ) Do ( ctxt context . Context , h cdp . Handler ) ( err error ) {
return h . Execute ( ctxt , cdp . CommandPageRemoveScriptToEvaluateOnNewDocument , p , nil )
2017-01-24 15:09:23 +00:00
}
// SetAutoAttachToCreatedPagesParams controls whether browser will open a new
// inspector window for connected pages.
type SetAutoAttachToCreatedPagesParams struct {
AutoAttach bool ` json:"autoAttach" ` // If true, browser will open a new inspector window for every page created from this one.
}
// SetAutoAttachToCreatedPages controls whether browser will open a new
// inspector window for connected pages.
//
// parameters:
// autoAttach - If true, browser will open a new inspector window for every page created from this one.
func SetAutoAttachToCreatedPages ( autoAttach bool ) * SetAutoAttachToCreatedPagesParams {
return & SetAutoAttachToCreatedPagesParams {
AutoAttach : autoAttach ,
}
}
2017-02-12 04:59:33 +00:00
// Do executes Page.setAutoAttachToCreatedPages against the provided context and
// target handler.
func ( p * SetAutoAttachToCreatedPagesParams ) Do ( ctxt context . Context , h cdp . Handler ) ( err error ) {
2017-02-14 08:41:23 +00:00
return h . Execute ( ctxt , cdp . CommandPageSetAutoAttachToCreatedPages , p , nil )
2017-01-24 15:09:23 +00:00
}
// ReloadParams reloads given page optionally ignoring the cache.
type ReloadParams struct {
IgnoreCache bool ` json:"ignoreCache,omitempty" ` // If true, browser cache is ignored (as if the user pressed Shift+refresh).
ScriptToEvaluateOnLoad string ` json:"scriptToEvaluateOnLoad,omitempty" ` // If set, the script will be injected into all frames of the inspected page after reload.
}
// Reload reloads given page optionally ignoring the cache.
//
// parameters:
func Reload ( ) * ReloadParams {
return & ReloadParams { }
}
// WithIgnoreCache if true, browser cache is ignored (as if the user pressed
// Shift+refresh).
func ( p ReloadParams ) WithIgnoreCache ( ignoreCache bool ) * ReloadParams {
p . IgnoreCache = ignoreCache
return & p
}
// WithScriptToEvaluateOnLoad if set, the script will be injected into all
// frames of the inspected page after reload.
func ( p ReloadParams ) WithScriptToEvaluateOnLoad ( scriptToEvaluateOnLoad string ) * ReloadParams {
p . ScriptToEvaluateOnLoad = scriptToEvaluateOnLoad
return & p
}
2017-02-12 04:59:33 +00:00
// Do executes Page.reload against the provided context and
// target handler.
func ( p * ReloadParams ) Do ( ctxt context . Context , h cdp . Handler ) ( err error ) {
2017-02-14 08:41:23 +00:00
return h . Execute ( ctxt , cdp . CommandPageReload , p , nil )
2017-01-24 15:09:23 +00:00
}
// NavigateParams navigates current page to the given URL.
type NavigateParams struct {
2017-05-24 02:36:12 +00:00
URL string ` json:"url" ` // URL to navigate the page to.
Referrer string ` json:"referrer,omitempty" ` // Referrer URL.
TransitionType TransitionType ` json:"transitionType,omitempty" ` // Intended transition type.
2017-01-24 15:09:23 +00:00
}
// Navigate navigates current page to the given URL.
//
// parameters:
// url - URL to navigate the page to.
func Navigate ( url string ) * NavigateParams {
return & NavigateParams {
URL : url ,
}
}
2017-02-25 00:21:58 +00:00
// WithReferrer referrer URL.
func ( p NavigateParams ) WithReferrer ( referrer string ) * NavigateParams {
p . Referrer = referrer
return & p
}
2017-05-24 02:36:12 +00:00
// WithTransitionType intended transition type.
func ( p NavigateParams ) WithTransitionType ( transitionType TransitionType ) * NavigateParams {
p . TransitionType = transitionType
return & p
}
2017-01-24 15:09:23 +00:00
// NavigateReturns return values.
type NavigateReturns struct {
2017-01-26 07:28:34 +00:00
FrameID cdp . FrameID ` json:"frameId,omitempty" ` // Frame id that will be navigated.
2017-01-24 15:09:23 +00:00
}
2017-02-12 04:59:33 +00:00
// Do executes Page.navigate against the provided context and
// target handler.
2017-01-24 15:09:23 +00:00
//
// returns:
2017-01-26 07:28:34 +00:00
// frameID - Frame id that will be navigated.
2017-02-12 04:59:33 +00:00
func ( p * NavigateParams ) Do ( ctxt context . Context , h cdp . Handler ) ( frameID cdp . FrameID , err error ) {
2017-02-14 08:41:23 +00:00
// execute
var res NavigateReturns
err = h . Execute ( ctxt , cdp . CommandPageNavigate , p , & res )
2017-01-24 15:09:23 +00:00
if err != nil {
return "" , err
}
2017-02-14 08:41:23 +00:00
return res . FrameID , nil
2017-01-24 15:09:23 +00:00
}
// StopLoadingParams force the page stop all navigations and pending resource
// fetches.
type StopLoadingParams struct { }
// StopLoading force the page stop all navigations and pending resource
// fetches.
func StopLoading ( ) * StopLoadingParams {
return & StopLoadingParams { }
}
2017-02-12 04:59:33 +00:00
// Do executes Page.stopLoading against the provided context and
// target handler.
func ( p * StopLoadingParams ) Do ( ctxt context . Context , h cdp . Handler ) ( err error ) {
2017-02-14 08:41:23 +00:00
return h . Execute ( ctxt , cdp . CommandPageStopLoading , nil , nil )
2017-01-24 15:09:23 +00:00
}
// GetNavigationHistoryParams returns navigation history for the current
// page.
type GetNavigationHistoryParams struct { }
// GetNavigationHistory returns navigation history for the current page.
func GetNavigationHistory ( ) * GetNavigationHistoryParams {
return & GetNavigationHistoryParams { }
}
// GetNavigationHistoryReturns return values.
type GetNavigationHistoryReturns struct {
CurrentIndex int64 ` json:"currentIndex,omitempty" ` // Index of the current navigation history entry.
Entries [ ] * NavigationEntry ` json:"entries,omitempty" ` // Array of navigation history entries.
}
2017-02-12 04:59:33 +00:00
// Do executes Page.getNavigationHistory against the provided context and
// target handler.
2017-01-24 15:09:23 +00:00
//
// returns:
// currentIndex - Index of the current navigation history entry.
// entries - Array of navigation history entries.
2017-02-12 04:59:33 +00:00
func ( p * GetNavigationHistoryParams ) Do ( ctxt context . Context , h cdp . Handler ) ( currentIndex int64 , entries [ ] * NavigationEntry , err error ) {
2017-01-24 15:09:23 +00:00
// execute
2017-02-14 08:41:23 +00:00
var res GetNavigationHistoryReturns
err = h . Execute ( ctxt , cdp . CommandPageGetNavigationHistory , nil , & res )
if err != nil {
return 0 , nil , err
2017-01-24 15:09:23 +00:00
}
2017-02-14 08:41:23 +00:00
return res . CurrentIndex , res . Entries , nil
2017-01-24 15:09:23 +00:00
}
// NavigateToHistoryEntryParams navigates current page to the given history
// entry.
type NavigateToHistoryEntryParams struct {
EntryID int64 ` json:"entryId" ` // Unique id of the entry to navigate to.
}
// NavigateToHistoryEntry navigates current page to the given history entry.
//
// parameters:
2017-01-26 07:28:34 +00:00
// entryID - Unique id of the entry to navigate to.
func NavigateToHistoryEntry ( entryID int64 ) * NavigateToHistoryEntryParams {
2017-01-24 15:09:23 +00:00
return & NavigateToHistoryEntryParams {
2017-01-26 07:28:34 +00:00
EntryID : entryID ,
2017-01-24 15:09:23 +00:00
}
}
2017-02-12 04:59:33 +00:00
// Do executes Page.navigateToHistoryEntry against the provided context and
// target handler.
func ( p * NavigateToHistoryEntryParams ) Do ( ctxt context . Context , h cdp . Handler ) ( err error ) {
2017-02-14 08:41:23 +00:00
return h . Execute ( ctxt , cdp . CommandPageNavigateToHistoryEntry , p , nil )
2017-01-24 15:09:23 +00:00
}
// GetResourceTreeParams returns present frame / resource tree structure.
type GetResourceTreeParams struct { }
// GetResourceTree returns present frame / resource tree structure.
func GetResourceTree ( ) * GetResourceTreeParams {
return & GetResourceTreeParams { }
}
// GetResourceTreeReturns return values.
type GetResourceTreeReturns struct {
FrameTree * FrameResourceTree ` json:"frameTree,omitempty" ` // Present frame / resource tree structure.
}
2017-02-12 04:59:33 +00:00
// Do executes Page.getResourceTree against the provided context and
// target handler.
2017-01-24 15:09:23 +00:00
//
// returns:
// frameTree - Present frame / resource tree structure.
2017-02-12 04:59:33 +00:00
func ( p * GetResourceTreeParams ) Do ( ctxt context . Context , h cdp . Handler ) ( frameTree * FrameResourceTree , err error ) {
2017-01-24 15:09:23 +00:00
// execute
2017-02-14 08:41:23 +00:00
var res GetResourceTreeReturns
err = h . Execute ( ctxt , cdp . CommandPageGetResourceTree , nil , & res )
if err != nil {
return nil , err
2017-01-24 15:09:23 +00:00
}
2017-02-14 08:41:23 +00:00
return res . FrameTree , nil
2017-01-24 15:09:23 +00:00
}
// GetResourceContentParams returns content of the given resource.
type GetResourceContentParams struct {
2017-01-26 07:28:34 +00:00
FrameID cdp . FrameID ` json:"frameId" ` // Frame id to get resource for.
URL string ` json:"url" ` // URL of the resource to get content for.
2017-01-24 15:09:23 +00:00
}
// GetResourceContent returns content of the given resource.
//
// parameters:
2017-01-26 07:28:34 +00:00
// frameID - Frame id to get resource for.
2017-01-24 15:09:23 +00:00
// url - URL of the resource to get content for.
2017-01-26 07:28:34 +00:00
func GetResourceContent ( frameID cdp . FrameID , url string ) * GetResourceContentParams {
2017-01-24 15:09:23 +00:00
return & GetResourceContentParams {
2017-01-26 07:28:34 +00:00
FrameID : frameID ,
2017-01-24 15:09:23 +00:00
URL : url ,
}
}
// GetResourceContentReturns return values.
type GetResourceContentReturns struct {
Content string ` json:"content,omitempty" ` // Resource content.
Base64encoded bool ` json:"base64Encoded,omitempty" ` // True, if content was served as base64.
}
2017-02-12 04:59:33 +00:00
// Do executes Page.getResourceContent against the provided context and
// target handler.
2017-01-24 15:09:23 +00:00
//
// returns:
// content - Resource content.
2017-02-12 04:59:33 +00:00
func ( p * GetResourceContentParams ) Do ( ctxt context . Context , h cdp . Handler ) ( content [ ] byte , err error ) {
2017-02-14 08:41:23 +00:00
// execute
var res GetResourceContentReturns
err = h . Execute ( ctxt , cdp . CommandPageGetResourceContent , p , & res )
2017-01-24 15:09:23 +00:00
if err != nil {
return nil , err
}
2017-02-14 08:41:23 +00:00
// decode
var dec [ ] byte
if res . Base64encoded {
dec , err = base64 . StdEncoding . DecodeString ( res . Content )
if err != nil {
return nil , err
2017-01-24 15:09:23 +00:00
}
2017-02-14 08:41:23 +00:00
} else {
dec = [ ] byte ( res . Content )
2017-01-24 15:09:23 +00:00
}
2017-02-14 08:41:23 +00:00
return dec , nil
2017-01-24 15:09:23 +00:00
}
// SearchInResourceParams searches for given string in resource content.
type SearchInResourceParams struct {
2017-01-26 07:28:34 +00:00
FrameID cdp . FrameID ` json:"frameId" ` // Frame id for resource to search in.
URL string ` json:"url" ` // URL of the resource to search in.
Query string ` json:"query" ` // String to search for.
CaseSensitive bool ` json:"caseSensitive,omitempty" ` // If true, search is case sensitive.
IsRegex bool ` json:"isRegex,omitempty" ` // If true, treats string parameter as regex.
2017-01-24 15:09:23 +00:00
}
// SearchInResource searches for given string in resource content.
//
// parameters:
2017-01-26 07:28:34 +00:00
// frameID - Frame id for resource to search in.
2017-01-24 15:09:23 +00:00
// url - URL of the resource to search in.
// query - String to search for.
2017-01-26 07:28:34 +00:00
func SearchInResource ( frameID cdp . FrameID , url string , query string ) * SearchInResourceParams {
2017-01-24 15:09:23 +00:00
return & SearchInResourceParams {
2017-01-26 07:28:34 +00:00
FrameID : frameID ,
2017-01-24 15:09:23 +00:00
URL : url ,
Query : query ,
}
}
// WithCaseSensitive if true, search is case sensitive.
func ( p SearchInResourceParams ) WithCaseSensitive ( caseSensitive bool ) * SearchInResourceParams {
p . CaseSensitive = caseSensitive
return & p
}
// WithIsRegex if true, treats string parameter as regex.
func ( p SearchInResourceParams ) WithIsRegex ( isRegex bool ) * SearchInResourceParams {
p . IsRegex = isRegex
return & p
}
// SearchInResourceReturns return values.
type SearchInResourceReturns struct {
Result [ ] * debugger . SearchMatch ` json:"result,omitempty" ` // List of search matches.
}
2017-02-12 04:59:33 +00:00
// Do executes Page.searchInResource against the provided context and
// target handler.
2017-01-24 15:09:23 +00:00
//
// returns:
// result - List of search matches.
2017-02-12 04:59:33 +00:00
func ( p * SearchInResourceParams ) Do ( ctxt context . Context , h cdp . Handler ) ( result [ ] * debugger . SearchMatch , err error ) {
2017-02-14 08:41:23 +00:00
// execute
var res SearchInResourceReturns
err = h . Execute ( ctxt , cdp . CommandPageSearchInResource , p , & res )
2017-01-24 15:09:23 +00:00
if err != nil {
return nil , err
}
2017-02-14 08:41:23 +00:00
return res . Result , nil
2017-01-24 15:09:23 +00:00
}
// SetDocumentContentParams sets given markup as the document's HTML.
type SetDocumentContentParams struct {
2017-01-26 07:28:34 +00:00
FrameID cdp . FrameID ` json:"frameId" ` // Frame id to set HTML for.
HTML string ` json:"html" ` // HTML content to set.
2017-01-24 15:09:23 +00:00
}
// SetDocumentContent sets given markup as the document's HTML.
//
// parameters:
2017-01-26 07:28:34 +00:00
// frameID - Frame id to set HTML for.
2017-01-24 15:09:23 +00:00
// html - HTML content to set.
2017-01-26 07:28:34 +00:00
func SetDocumentContent ( frameID cdp . FrameID , html string ) * SetDocumentContentParams {
2017-01-24 15:09:23 +00:00
return & SetDocumentContentParams {
2017-01-26 07:28:34 +00:00
FrameID : frameID ,
2017-01-24 15:09:23 +00:00
HTML : html ,
}
}
2017-02-12 04:59:33 +00:00
// Do executes Page.setDocumentContent against the provided context and
// target handler.
func ( p * SetDocumentContentParams ) Do ( ctxt context . Context , h cdp . Handler ) ( err error ) {
2017-02-14 08:41:23 +00:00
return h . Execute ( ctxt , cdp . CommandPageSetDocumentContent , p , nil )
2017-01-24 15:09:23 +00:00
}
// CaptureScreenshotParams capture page screenshot.
2017-01-27 03:29:53 +00:00
type CaptureScreenshotParams struct {
2017-03-13 02:29:26 +00:00
Format CaptureScreenshotFormat ` json:"format,omitempty" ` // Image compression format (defaults to png).
Quality int64 ` json:"quality,omitempty" ` // Compression quality from range [0..100] (jpeg only).
2017-07-13 00:28:14 +00:00
Clip * Viewport ` json:"clip,omitempty" ` // Capture the screenshot of a given region only.
2017-05-30 07:14:20 +00:00
FromSurface bool ` json:"fromSurface,omitempty" ` // Capture the screenshot from the surface, rather than the view. Defaults to true.
2017-01-27 03:29:53 +00:00
}
2017-01-24 15:09:23 +00:00
// CaptureScreenshot capture page screenshot.
2017-01-27 03:29:53 +00:00
//
// parameters:
2017-01-24 15:09:23 +00:00
func CaptureScreenshot ( ) * CaptureScreenshotParams {
return & CaptureScreenshotParams { }
}
2017-01-27 03:29:53 +00:00
// WithFormat image compression format (defaults to png).
func ( p CaptureScreenshotParams ) WithFormat ( format CaptureScreenshotFormat ) * CaptureScreenshotParams {
p . Format = format
return & p
}
// WithQuality compression quality from range [0..100] (jpeg only).
func ( p CaptureScreenshotParams ) WithQuality ( quality int64 ) * CaptureScreenshotParams {
p . Quality = quality
return & p
}
2017-07-13 00:28:14 +00:00
// WithClip capture the screenshot of a given region only.
func ( p CaptureScreenshotParams ) WithClip ( clip * Viewport ) * CaptureScreenshotParams {
p . Clip = clip
return & p
}
2017-03-13 02:29:26 +00:00
// WithFromSurface capture the screenshot from the surface, rather than the
2017-05-30 07:14:20 +00:00
// view. Defaults to true.
2017-03-13 02:29:26 +00:00
func ( p CaptureScreenshotParams ) WithFromSurface ( fromSurface bool ) * CaptureScreenshotParams {
p . FromSurface = fromSurface
return & p
}
2017-01-24 15:09:23 +00:00
// CaptureScreenshotReturns return values.
type CaptureScreenshotReturns struct {
2017-01-27 03:29:53 +00:00
Data string ` json:"data,omitempty" ` // Base64-encoded image data.
2017-01-24 15:09:23 +00:00
}
2017-02-12 04:59:33 +00:00
// Do executes Page.captureScreenshot against the provided context and
// target handler.
2017-01-24 15:09:23 +00:00
//
// returns:
2017-01-27 03:29:53 +00:00
// data - Base64-encoded image data.
2017-02-12 04:59:33 +00:00
func ( p * CaptureScreenshotParams ) Do ( ctxt context . Context , h cdp . Handler ) ( data [ ] byte , err error ) {
2017-02-14 08:41:23 +00:00
// execute
var res CaptureScreenshotReturns
err = h . Execute ( ctxt , cdp . CommandPageCaptureScreenshot , p , & res )
2017-01-27 03:29:53 +00:00
if err != nil {
return nil , err
}
2017-02-14 08:41:23 +00:00
// decode
var dec [ ] byte
dec , err = base64 . StdEncoding . DecodeString ( res . Data )
if err != nil {
return nil , err
2017-01-24 15:09:23 +00:00
}
2017-02-14 08:41:23 +00:00
return dec , nil
2017-01-24 15:09:23 +00:00
}
2017-05-15 07:59:53 +00:00
// PrintToPDFParams print page as PDF.
type PrintToPDFParams struct {
2017-07-22 00:37:02 +00:00
Landscape bool ` json:"landscape,omitempty" ` // Paper orientation. Defaults to false.
DisplayHeaderFooter bool ` json:"displayHeaderFooter,omitempty" ` // Display header and footer. Defaults to false.
PrintBackground bool ` json:"printBackground,omitempty" ` // Print background graphics. Defaults to false.
Scale float64 ` json:"scale,omitempty" ` // Scale of the webpage rendering. Defaults to 1.
PaperWidth float64 ` json:"paperWidth,omitempty" ` // Paper width in inches. Defaults to 8.5 inches.
PaperHeight float64 ` json:"paperHeight,omitempty" ` // Paper height in inches. Defaults to 11 inches.
MarginTop float64 ` json:"marginTop,omitempty" ` // Top margin in inches. Defaults to 1cm (~0.4 inches).
MarginBottom float64 ` json:"marginBottom,omitempty" ` // Bottom margin in inches. Defaults to 1cm (~0.4 inches).
MarginLeft float64 ` json:"marginLeft,omitempty" ` // Left margin in inches. Defaults to 1cm (~0.4 inches).
MarginRight float64 ` json:"marginRight,omitempty" ` // Right margin in inches. Defaults to 1cm (~0.4 inches).
PageRanges string ` json:"pageRanges,omitempty" ` // Paper ranges to print, e.g., '1-5, 8, 11-13'. Defaults to the empty string, which means print all pages.
IgnoreInvalidPageRanges bool ` json:"ignoreInvalidPageRanges,omitempty" ` // Whether to silently ignore invalid but successfully parsed page ranges, such as '3-2'. Defaults to false.
2017-05-15 07:59:53 +00:00
}
// PrintToPDF print page as PDF.
//
// parameters:
2017-02-22 13:15:38 +00:00
func PrintToPDF ( ) * PrintToPDFParams {
return & PrintToPDFParams { }
}
2017-05-15 07:59:53 +00:00
// WithLandscape paper orientation. Defaults to false.
func ( p PrintToPDFParams ) WithLandscape ( landscape bool ) * PrintToPDFParams {
p . Landscape = landscape
return & p
}
// WithDisplayHeaderFooter display header and footer. Defaults to false.
func ( p PrintToPDFParams ) WithDisplayHeaderFooter ( displayHeaderFooter bool ) * PrintToPDFParams {
p . DisplayHeaderFooter = displayHeaderFooter
return & p
}
// WithPrintBackground print background graphics. Defaults to false.
func ( p PrintToPDFParams ) WithPrintBackground ( printBackground bool ) * PrintToPDFParams {
p . PrintBackground = printBackground
return & p
}
// WithScale scale of the webpage rendering. Defaults to 1.
func ( p PrintToPDFParams ) WithScale ( scale float64 ) * PrintToPDFParams {
p . Scale = scale
return & p
}
// WithPaperWidth paper width in inches. Defaults to 8.5 inches.
func ( p PrintToPDFParams ) WithPaperWidth ( paperWidth float64 ) * PrintToPDFParams {
p . PaperWidth = paperWidth
return & p
}
// WithPaperHeight paper height in inches. Defaults to 11 inches.
func ( p PrintToPDFParams ) WithPaperHeight ( paperHeight float64 ) * PrintToPDFParams {
p . PaperHeight = paperHeight
return & p
}
// WithMarginTop top margin in inches. Defaults to 1cm (~0.4 inches).
func ( p PrintToPDFParams ) WithMarginTop ( marginTop float64 ) * PrintToPDFParams {
p . MarginTop = marginTop
return & p
}
// WithMarginBottom bottom margin in inches. Defaults to 1cm (~0.4 inches).
func ( p PrintToPDFParams ) WithMarginBottom ( marginBottom float64 ) * PrintToPDFParams {
p . MarginBottom = marginBottom
return & p
}
// WithMarginLeft left margin in inches. Defaults to 1cm (~0.4 inches).
func ( p PrintToPDFParams ) WithMarginLeft ( marginLeft float64 ) * PrintToPDFParams {
p . MarginLeft = marginLeft
return & p
}
// WithMarginRight right margin in inches. Defaults to 1cm (~0.4 inches).
func ( p PrintToPDFParams ) WithMarginRight ( marginRight float64 ) * PrintToPDFParams {
p . MarginRight = marginRight
return & p
}
// WithPageRanges paper ranges to print, e.g., '1-5, 8, 11-13'. Defaults to
// the empty string, which means print all pages.
func ( p PrintToPDFParams ) WithPageRanges ( pageRanges string ) * PrintToPDFParams {
p . PageRanges = pageRanges
return & p
}
2017-07-22 00:37:02 +00:00
// WithIgnoreInvalidPageRanges whether to silently ignore invalid but
// successfully parsed page ranges, such as '3-2'. Defaults to false.
func ( p PrintToPDFParams ) WithIgnoreInvalidPageRanges ( ignoreInvalidPageRanges bool ) * PrintToPDFParams {
p . IgnoreInvalidPageRanges = ignoreInvalidPageRanges
return & p
}
2017-02-22 13:15:38 +00:00
// PrintToPDFReturns return values.
type PrintToPDFReturns struct {
Data string ` json:"data,omitempty" ` // Base64-encoded pdf data.
}
// Do executes Page.printToPDF against the provided context and
// target handler.
//
// returns:
// data - Base64-encoded pdf data.
func ( p * PrintToPDFParams ) Do ( ctxt context . Context , h cdp . Handler ) ( data [ ] byte , err error ) {
// execute
var res PrintToPDFReturns
2017-05-15 07:59:53 +00:00
err = h . Execute ( ctxt , cdp . CommandPagePrintToPDF , p , & res )
2017-02-22 13:15:38 +00:00
if err != nil {
return nil , err
}
// decode
var dec [ ] byte
dec , err = base64 . StdEncoding . DecodeString ( res . Data )
if err != nil {
return nil , err
}
return dec , nil
}
2017-01-24 15:09:23 +00:00
// StartScreencastParams starts sending each frame using the screencastFrame
// event.
type StartScreencastParams struct {
Format ScreencastFormat ` json:"format,omitempty" ` // Image compression format.
Quality int64 ` json:"quality,omitempty" ` // Compression quality from range [0..100].
MaxWidth int64 ` json:"maxWidth,omitempty" ` // Maximum screenshot width.
MaxHeight int64 ` json:"maxHeight,omitempty" ` // Maximum screenshot height.
EveryNthFrame int64 ` json:"everyNthFrame,omitempty" ` // Send every n-th frame.
}
// StartScreencast starts sending each frame using the screencastFrame event.
//
// parameters:
func StartScreencast ( ) * StartScreencastParams {
return & StartScreencastParams { }
}
// WithFormat image compression format.
func ( p StartScreencastParams ) WithFormat ( format ScreencastFormat ) * StartScreencastParams {
p . Format = format
return & p
}
// WithQuality compression quality from range [0..100].
func ( p StartScreencastParams ) WithQuality ( quality int64 ) * StartScreencastParams {
p . Quality = quality
return & p
}
// WithMaxWidth maximum screenshot width.
func ( p StartScreencastParams ) WithMaxWidth ( maxWidth int64 ) * StartScreencastParams {
p . MaxWidth = maxWidth
return & p
}
// WithMaxHeight maximum screenshot height.
func ( p StartScreencastParams ) WithMaxHeight ( maxHeight int64 ) * StartScreencastParams {
p . MaxHeight = maxHeight
return & p
}
// WithEveryNthFrame send every n-th frame.
func ( p StartScreencastParams ) WithEveryNthFrame ( everyNthFrame int64 ) * StartScreencastParams {
p . EveryNthFrame = everyNthFrame
return & p
}
2017-02-12 04:59:33 +00:00
// Do executes Page.startScreencast against the provided context and
// target handler.
func ( p * StartScreencastParams ) Do ( ctxt context . Context , h cdp . Handler ) ( err error ) {
2017-02-14 08:41:23 +00:00
return h . Execute ( ctxt , cdp . CommandPageStartScreencast , p , nil )
2017-01-24 15:09:23 +00:00
}
// StopScreencastParams stops sending each frame in the screencastFrame.
type StopScreencastParams struct { }
// StopScreencast stops sending each frame in the screencastFrame.
func StopScreencast ( ) * StopScreencastParams {
return & StopScreencastParams { }
}
2017-02-12 04:59:33 +00:00
// Do executes Page.stopScreencast against the provided context and
// target handler.
func ( p * StopScreencastParams ) Do ( ctxt context . Context , h cdp . Handler ) ( err error ) {
2017-02-14 08:41:23 +00:00
return h . Execute ( ctxt , cdp . CommandPageStopScreencast , nil , nil )
2017-01-24 15:09:23 +00:00
}
// ScreencastFrameAckParams acknowledges that a screencast frame has been
// received by the frontend.
type ScreencastFrameAckParams struct {
SessionID int64 ` json:"sessionId" ` // Frame number.
}
// ScreencastFrameAck acknowledges that a screencast frame has been received
// by the frontend.
//
// parameters:
2017-01-26 07:28:34 +00:00
// sessionID - Frame number.
func ScreencastFrameAck ( sessionID int64 ) * ScreencastFrameAckParams {
2017-01-24 15:09:23 +00:00
return & ScreencastFrameAckParams {
2017-01-26 07:28:34 +00:00
SessionID : sessionID ,
2017-01-24 15:09:23 +00:00
}
}
2017-02-12 04:59:33 +00:00
// Do executes Page.screencastFrameAck against the provided context and
// target handler.
func ( p * ScreencastFrameAckParams ) Do ( ctxt context . Context , h cdp . Handler ) ( err error ) {
2017-02-14 08:41:23 +00:00
return h . Execute ( ctxt , cdp . CommandPageScreencastFrameAck , p , nil )
2017-01-24 15:09:23 +00:00
}
// HandleJavaScriptDialogParams accepts or dismisses a JavaScript initiated
// dialog (alert, confirm, prompt, or onbeforeunload).
type HandleJavaScriptDialogParams struct {
Accept bool ` json:"accept" ` // Whether to accept or dismiss the dialog.
PromptText string ` json:"promptText,omitempty" ` // The text to enter into the dialog prompt before accepting. Used only if this is a prompt dialog.
}
// HandleJavaScriptDialog accepts or dismisses a JavaScript initiated dialog
// (alert, confirm, prompt, or onbeforeunload).
//
// parameters:
// accept - Whether to accept or dismiss the dialog.
func HandleJavaScriptDialog ( accept bool ) * HandleJavaScriptDialogParams {
return & HandleJavaScriptDialogParams {
Accept : accept ,
}
}
// WithPromptText the text to enter into the dialog prompt before accepting.
// Used only if this is a prompt dialog.
func ( p HandleJavaScriptDialogParams ) WithPromptText ( promptText string ) * HandleJavaScriptDialogParams {
p . PromptText = promptText
return & p
}
2017-02-12 04:59:33 +00:00
// Do executes Page.handleJavaScriptDialog against the provided context and
// target handler.
func ( p * HandleJavaScriptDialogParams ) Do ( ctxt context . Context , h cdp . Handler ) ( err error ) {
2017-02-14 08:41:23 +00:00
return h . Execute ( ctxt , cdp . CommandPageHandleJavaScriptDialog , p , nil )
2017-01-24 15:09:23 +00:00
}
2017-01-26 07:28:34 +00:00
// GetAppManifestParams [no description].
2017-01-24 15:09:23 +00:00
type GetAppManifestParams struct { }
2017-01-26 07:28:34 +00:00
// GetAppManifest [no description].
2017-01-24 15:09:23 +00:00
func GetAppManifest ( ) * GetAppManifestParams {
return & GetAppManifestParams { }
}
// GetAppManifestReturns return values.
type GetAppManifestReturns struct {
URL string ` json:"url,omitempty" ` // Manifest location.
Errors [ ] * AppManifestError ` json:"errors,omitempty" `
Data string ` json:"data,omitempty" ` // Manifest content.
}
2017-02-12 04:59:33 +00:00
// Do executes Page.getAppManifest against the provided context and
// target handler.
2017-01-24 15:09:23 +00:00
//
// returns:
// url - Manifest location.
// errors
// data - Manifest content.
2017-02-12 04:59:33 +00:00
func ( p * GetAppManifestParams ) Do ( ctxt context . Context , h cdp . Handler ) ( url string , errors [ ] * AppManifestError , data string , err error ) {
2017-01-24 15:09:23 +00:00
// execute
2017-02-14 08:41:23 +00:00
var res GetAppManifestReturns
err = h . Execute ( ctxt , cdp . CommandPageGetAppManifest , nil , & res )
if err != nil {
return "" , nil , "" , err
2017-01-24 15:09:23 +00:00
}
2017-02-14 08:41:23 +00:00
return res . URL , res . Errors , res . Data , nil
2017-01-24 15:09:23 +00:00
}
2017-01-26 07:28:34 +00:00
// RequestAppBannerParams [no description].
2017-01-24 15:09:23 +00:00
type RequestAppBannerParams struct { }
2017-01-26 07:28:34 +00:00
// RequestAppBanner [no description].
2017-01-24 15:09:23 +00:00
func RequestAppBanner ( ) * RequestAppBannerParams {
return & RequestAppBannerParams { }
}
2017-02-12 04:59:33 +00:00
// Do executes Page.requestAppBanner against the provided context and
// target handler.
func ( p * RequestAppBannerParams ) Do ( ctxt context . Context , h cdp . Handler ) ( err error ) {
2017-02-14 08:41:23 +00:00
return h . Execute ( ctxt , cdp . CommandPageRequestAppBanner , nil , nil )
2017-01-24 15:09:23 +00:00
}
// SetControlNavigationsParams toggles navigation throttling which allows
// programatic control over navigation and redirect response.
type SetControlNavigationsParams struct {
Enabled bool ` json:"enabled" `
}
// SetControlNavigations toggles navigation throttling which allows
// programatic control over navigation and redirect response.
//
// parameters:
// enabled
func SetControlNavigations ( enabled bool ) * SetControlNavigationsParams {
return & SetControlNavigationsParams {
Enabled : enabled ,
}
}
2017-02-12 04:59:33 +00:00
// Do executes Page.setControlNavigations against the provided context and
// target handler.
func ( p * SetControlNavigationsParams ) Do ( ctxt context . Context , h cdp . Handler ) ( err error ) {
2017-02-14 08:41:23 +00:00
return h . Execute ( ctxt , cdp . CommandPageSetControlNavigations , p , nil )
2017-01-24 15:09:23 +00:00
}
// ProcessNavigationParams should be sent in response to a
// navigationRequested or a redirectRequested event, telling the browser how to
// handle the navigation.
type ProcessNavigationParams struct {
Response NavigationResponse ` json:"response" `
NavigationID int64 ` json:"navigationId" `
}
// ProcessNavigation should be sent in response to a navigationRequested or a
// redirectRequested event, telling the browser how to handle the navigation.
//
// parameters:
// response
2017-01-26 07:28:34 +00:00
// navigationID
func ProcessNavigation ( response NavigationResponse , navigationID int64 ) * ProcessNavigationParams {
2017-01-24 15:09:23 +00:00
return & ProcessNavigationParams {
Response : response ,
2017-01-26 07:28:34 +00:00
NavigationID : navigationID ,
2017-01-24 15:09:23 +00:00
}
}
2017-02-12 04:59:33 +00:00
// Do executes Page.processNavigation against the provided context and
// target handler.
func ( p * ProcessNavigationParams ) Do ( ctxt context . Context , h cdp . Handler ) ( err error ) {
2017-02-14 08:41:23 +00:00
return h . Execute ( ctxt , cdp . CommandPageProcessNavigation , p , nil )
2017-01-24 15:09:23 +00:00
}
// GetLayoutMetricsParams returns metrics relating to the layouting of the
// page, such as viewport bounds/scale.
type GetLayoutMetricsParams struct { }
// GetLayoutMetrics returns metrics relating to the layouting of the page,
// such as viewport bounds/scale.
func GetLayoutMetrics ( ) * GetLayoutMetricsParams {
return & GetLayoutMetricsParams { }
}
// GetLayoutMetricsReturns return values.
type GetLayoutMetricsReturns struct {
LayoutViewport * LayoutViewport ` json:"layoutViewport,omitempty" ` // Metrics relating to the layout viewport.
VisualViewport * VisualViewport ` json:"visualViewport,omitempty" ` // Metrics relating to the visual viewport.
2017-02-25 00:21:58 +00:00
ContentSize * dom . Rect ` json:"contentSize,omitempty" ` // Size of scrollable area.
2017-01-24 15:09:23 +00:00
}
2017-02-12 04:59:33 +00:00
// Do executes Page.getLayoutMetrics against the provided context and
// target handler.
2017-01-24 15:09:23 +00:00
//
// returns:
// layoutViewport - Metrics relating to the layout viewport.
// visualViewport - Metrics relating to the visual viewport.
2017-02-25 00:21:58 +00:00
// contentSize - Size of scrollable area.
func ( p * GetLayoutMetricsParams ) Do ( ctxt context . Context , h cdp . Handler ) ( layoutViewport * LayoutViewport , visualViewport * VisualViewport , contentSize * dom . Rect , err error ) {
2017-01-24 15:09:23 +00:00
// execute
2017-02-14 08:41:23 +00:00
var res GetLayoutMetricsReturns
err = h . Execute ( ctxt , cdp . CommandPageGetLayoutMetrics , nil , & res )
if err != nil {
2017-02-25 00:21:58 +00:00
return nil , nil , nil , err
2017-01-24 15:09:23 +00:00
}
2017-02-25 00:21:58 +00:00
return res . LayoutViewport , res . VisualViewport , res . ContentSize , nil
2017-01-24 15:09:23 +00:00
}
2017-05-15 07:59:53 +00:00
// CreateIsolatedWorldParams creates an isolated world for the given frame.
type CreateIsolatedWorldParams struct {
FrameID cdp . FrameID ` json:"frameId" ` // Id of the frame in which the isolated world should be created.
WorldName string ` json:"worldName,omitempty" ` // An optional name which is reported in the Execution Context.
GrantUniveralAccess bool ` json:"grantUniveralAccess,omitempty" ` // Whether or not universal access should be granted to the isolated world. This is a powerful option, use with caution.
}
// CreateIsolatedWorld creates an isolated world for the given frame.
//
// parameters:
// frameID - Id of the frame in which the isolated world should be created.
func CreateIsolatedWorld ( frameID cdp . FrameID ) * CreateIsolatedWorldParams {
return & CreateIsolatedWorldParams {
FrameID : frameID ,
}
}
// WithWorldName an optional name which is reported in the Execution Context.
func ( p CreateIsolatedWorldParams ) WithWorldName ( worldName string ) * CreateIsolatedWorldParams {
p . WorldName = worldName
return & p
}
// WithGrantUniveralAccess whether or not universal access should be granted
// to the isolated world. This is a powerful option, use with caution.
func ( p CreateIsolatedWorldParams ) WithGrantUniveralAccess ( grantUniveralAccess bool ) * CreateIsolatedWorldParams {
p . GrantUniveralAccess = grantUniveralAccess
return & p
}
2017-06-25 01:38:47 +00:00
// CreateIsolatedWorldReturns return values.
type CreateIsolatedWorldReturns struct {
ExecutionContextID runtime . ExecutionContextID ` json:"executionContextId,omitempty" ` // Execution context of the isolated world.
}
2017-05-15 07:59:53 +00:00
// Do executes Page.createIsolatedWorld against the provided context and
// target handler.
2017-06-25 01:38:47 +00:00
//
// returns:
// executionContextID - Execution context of the isolated world.
func ( p * CreateIsolatedWorldParams ) Do ( ctxt context . Context , h cdp . Handler ) ( executionContextID runtime . ExecutionContextID , err error ) {
// execute
var res CreateIsolatedWorldReturns
err = h . Execute ( ctxt , cdp . CommandPageCreateIsolatedWorld , p , & res )
if err != nil {
return 0 , err
}
return res . ExecutionContextID , nil
2017-05-15 07:59:53 +00:00
}