Documentation ¶
Overview ¶
Commands for inspecting and manipulating the current DOM document and browser viewport.
Index ¶
- type Commands
- func (self *Commands) ClearIntercepts() error
- func (self *Commands) Intercept(match string, args *InterceptArgs) error
- func (self *Commands) Pdf(destination interface{}, args *PdfArgs) error
- func (self *Commands) Remove(selector dom.Selector, args *RemoveArgs) (int, error)
- func (self *Commands) Screenshot(destination interface{}, args *ScreenshotArgs) (*ScreenshotResponse, error)
- func (self *Commands) Source(selector dom.Selector) (string, error)
- func (self *Commands) Text(selector dom.Selector) (string, error)
- type InterceptArgs
- type PdfArgs
- type RemoveArgs
- type ScreenshotArgs
- type ScreenshotResponse
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Commands ¶
type Commands struct { friendscript.Module // contains filtered or unexported fields }
func (*Commands) ClearIntercepts ¶
Clear all request intercepts.
func (*Commands) Intercept ¶
func (self *Commands) Intercept(match string, args *InterceptArgs) error
Intercept all requests where the requested URL matches *match*, and modify the request according to the provided arguments.
func (*Commands) Pdf ¶
Render the current page as a PDF document, writing it to the given filename or writable destination object.
func (*Commands) Screenshot ¶
func (self *Commands) Screenshot(destination interface{}, args *ScreenshotArgs) (*ScreenshotResponse, error)
Render the current page as a PNG or JPEG image, writing it to the given filename or writable destination object.
If the filename is the string `"temporary"`, a file will be created in the system's temporary area (e.g.: `/tmp`) and the screenshot will be written there. It is the caller's responsibility to remove the temporary file if desired. The temporary file path is available in the return object's `path` parameter.
type InterceptArgs ¶
type InterceptArgs struct { // Rewrite the response body with the provided string or with the contents of // an io.Reader. Body interface{} `json:"body"` // Read the response body contents from the named file. File string `json:"file"` // Specify that the interception should wait for response headers to be sent. Otherwise the // request is intercepted prior to making the request. WaitForHeaders bool `json:"wait_for_headers"` // Should the request be aborted/rejected. Reject bool `json:"reject"` // Rewrite the request method to this. Method string `json:"method"` // Rewrite the request URL to this value. URL string `json:"url"` // Set the request headers. Not valid is WaitForHeaders is set. Headers map[string]interface{} `json:"headers"` // Update the POST data to these values. PostData map[string]interface{} `json:"post_data"` // Only apply to response HTTP status codes in this list. Statuses []int `json:"statuses"` // Send credentials in response to this realm. If empty, the provided credentials // will be sent to any authentication challenge. Realm string `json:"realm"` // Username to authenticate with. Username string `json:"username"` // Password to authenticate with. Password string `json:"password"` // Specify whether the intercept should persist after the first match. Persistent bool `json:"persistent"` }
type PdfArgs ¶
type PdfArgs struct { // Whether the given destination should be automatically closed for writing after the // PDF is written. Autoclose bool `json:"autoclose" default:"true"` }
type RemoveArgs ¶
type ScreenshotArgs ¶
type ScreenshotArgs struct { // If specified, the screenshot will attempt to capture just the matching element. Selector dom.Selector `json:"selector,omitempty"` // Determines how to handle multiple elements that are matched by Selector. // May be "tallest" or "first". Use string `json:"use,omitempty" default:"tallest"` Width int `json:"width"` Height int `json:"height"` X int `json:"x" default:"-1"` Y int `json:"y" default:"-1"` // The output image format of the screenshot. May be "png" or "jpeg". Format string `json:"format" default:"png"` // The quality of the image used during encoding. Only applies to "jpeg" format. Quality int `json:"quality"` // Whether the given destination should be automatically closed for writing after the // screenshot is written. Autoclose bool `json:"autoclose" default:"true"` // Automatically resize the screen to the width and height. Autoresize bool `json:"autoresize" default:"true"` }
type ScreenshotResponse ¶
type ScreenshotResponse struct { // Details about the element that matched the given selector (if any). Element *dom.Element `json:"element,omitempty"` // The width of the screenshot (in pixels). Width int `json:"width"` // The height of the screenshot (in pixels). Height int `json:"height"` // The X position (relative to the viewport) the screenshot was taken at. X int `json:"x"` // The Y position (relative to the viewport) the screenshot was taken at. Y int `json:"y"` // The filesystem path that the screenshot was written to. Path string `json:"path,omitempty"` // The size of the screenshot (in bytes). Size int64 `json:"size,omitempty"` }