chrobot_extra/protocol/page
⚙️ This module was generated from the Chrome DevTools Protocol version 1.3
Page Domain
Actions and events related to the inspected page belong to the page domain.
📖 View this domain on the DevTools Protocol API Docs
Types
This type is not part of the protocol spec, it has been generated dynamically
to represent the response to the command add_script_to_evaluate_on_new_document
pub type AddScriptToEvaluateOnNewDocumentResponse {
AddScriptToEvaluateOnNewDocumentResponse(
identifier: ScriptIdentifier,
)
}
Constructors
-
AddScriptToEvaluateOnNewDocumentResponse( identifier: ScriptIdentifier, )Arguments
- identifier
-
Identifier of the added script.
Error while paring app manifest.
pub type AppManifestError {
AppManifestError(
message: String,
critical: Int,
line: Int,
column: Int,
)
}
Constructors
-
AppManifestError( message: String, critical: Int, line: Int, column: Int, )Arguments
- message
-
Error message.
- critical
-
If critical, this is a non-recoverable parse error.
- line
-
Error line.
- column
-
Error column.
This type is not part of the protocol spec, it has been generated dynamically
to represent the possible values of the enum property format of captureScreenshot
pub type CaptureScreenshotFormat {
CaptureScreenshotFormatJpeg
CaptureScreenshotFormatPng
CaptureScreenshotFormatWebp
}
Constructors
-
CaptureScreenshotFormatJpeg -
CaptureScreenshotFormatPng -
CaptureScreenshotFormatWebp
This type is not part of the protocol spec, it has been generated dynamically
to represent the response to the command capture_screenshot
pub type CaptureScreenshotResponse {
CaptureScreenshotResponse(data: String)
}
Constructors
-
CaptureScreenshotResponse(data: String)Arguments
- data
-
Base64-encoded image data. (Encoded as a base64 string when passed over JSON)
This type is not part of the protocol spec, it has been generated dynamically
to represent the response to the command create_isolated_world
pub type CreateIsolatedWorldResponse {
CreateIsolatedWorldResponse(
execution_context_id: runtime.ExecutionContextId,
)
}
Constructors
-
CreateIsolatedWorldResponse( execution_context_id: runtime.ExecutionContextId, )Arguments
- execution_context_id
-
Execution context of the isolated world.
Javascript dialog type.
pub type DialogType {
DialogTypeAlert
DialogTypeConfirm
DialogTypePrompt
DialogTypeBeforeunload
}
Constructors
-
DialogTypeAlert -
DialogTypeConfirm -
DialogTypePrompt -
DialogTypeBeforeunload
Information about the Frame on the page.
pub type Frame {
Frame(
id: FrameId,
parent_id: option.Option(FrameId),
loader_id: network.LoaderId,
name: option.Option(String),
url: String,
security_origin: String,
mime_type: String,
)
}
Constructors
-
Frame( id: FrameId, parent_id: option.Option(FrameId), loader_id: network.LoaderId, name: option.Option(String), url: String, security_origin: String, mime_type: String, )Arguments
- id
-
Frame unique identifier.
- parent_id
-
Parent frame identifier.
- loader_id
-
Identifier of the loader associated with this frame.
- name
-
Frame’s name as specified in the tag.
- url
-
Frame document’s URL without fragment.
- security_origin
-
Frame document’s security origin.
- mime_type
-
Frame document’s mimeType as determined by the browser.
Unique frame identifier.
pub type FrameId {
FrameId(String)
}
Constructors
-
FrameId(String)
Information about the Frame hierarchy.
pub type FrameTree {
FrameTree(
frame: Frame,
child_frames: option.Option(List(FrameTree)),
)
}
Constructors
-
FrameTree( frame: Frame, child_frames: option.Option(List(FrameTree)), )Arguments
- frame
-
Frame information for this tree item.
- child_frames
-
Child frames.
This type is not part of the protocol spec, it has been generated dynamically
to represent the response to the command get_app_manifest
pub type GetAppManifestResponse {
GetAppManifestResponse(
url: String,
errors: List(AppManifestError),
data: option.Option(String),
)
}
Constructors
-
GetAppManifestResponse( url: String, errors: List(AppManifestError), data: option.Option(String), )Arguments
- url
-
Manifest location.
- data
-
Manifest content.
This type is not part of the protocol spec, it has been generated dynamically
to represent the response to the command get_frame_tree
pub type GetFrameTreeResponse {
GetFrameTreeResponse(frame_tree: FrameTree)
}
Constructors
-
GetFrameTreeResponse(frame_tree: FrameTree)Arguments
- frame_tree
-
Present frame tree structure.
This type is not part of the protocol spec, it has been generated dynamically
to represent the response to the command get_layout_metrics
pub type GetLayoutMetricsResponse {
GetLayoutMetricsResponse(
css_layout_viewport: LayoutViewport,
css_visual_viewport: VisualViewport,
css_content_size: dom.Rect,
)
}
Constructors
-
GetLayoutMetricsResponse( css_layout_viewport: LayoutViewport, css_visual_viewport: VisualViewport, css_content_size: dom.Rect, )Arguments
- css_layout_viewport
-
Metrics relating to the layout viewport in CSS pixels.
- css_visual_viewport
-
Metrics relating to the visual viewport in CSS pixels.
- css_content_size
-
Size of scrollable area in CSS pixels.
This type is not part of the protocol spec, it has been generated dynamically
to represent the response to the command get_navigation_history
pub type GetNavigationHistoryResponse {
GetNavigationHistoryResponse(
current_index: Int,
entries: List(NavigationEntry),
)
}
Constructors
-
GetNavigationHistoryResponse( current_index: Int, entries: List(NavigationEntry), )Arguments
- current_index
-
Index of the current navigation history entry.
- entries
-
Array of navigation history entries.
Layout viewport position and dimensions.
pub type LayoutViewport {
LayoutViewport(
page_x: Int,
page_y: Int,
client_width: Int,
client_height: Int,
)
}
Constructors
-
LayoutViewport( page_x: Int, page_y: Int, client_width: Int, client_height: Int, )Arguments
- page_x
-
Horizontal offset relative to the document (CSS pixels).
- page_y
-
Vertical offset relative to the document (CSS pixels).
- client_width
-
Width (CSS pixels), excludes scrollbar if present.
- client_height
-
Height (CSS pixels), excludes scrollbar if present.
This type is not part of the protocol spec, it has been generated dynamically
to represent the response to the command navigate
pub type NavigateResponse {
NavigateResponse(
frame_id: FrameId,
loader_id: option.Option(network.LoaderId),
error_text: option.Option(String),
)
}
Constructors
-
NavigateResponse( frame_id: FrameId, loader_id: option.Option(network.LoaderId), error_text: option.Option(String), )Arguments
- frame_id
-
Frame id that has navigated (or failed to navigate)
- loader_id
-
Loader identifier. This is omitted in case of same-document navigation, as the previously committed loaderId would not change.
- error_text
-
User friendly error message, present if and only if navigation has failed.
Navigation history entry.
pub type NavigationEntry {
NavigationEntry(
id: Int,
url: String,
user_typed_url: String,
title: String,
transition_type: TransitionType,
)
}
Constructors
-
NavigationEntry( id: Int, url: String, user_typed_url: String, title: String, transition_type: TransitionType, )Arguments
- id
-
Unique id of the navigation history entry.
- url
-
URL of the navigation history entry.
- user_typed_url
-
URL that the user typed in the url bar.
- title
-
Title of the navigation history entry.
- transition_type
-
Transition type.
This type is not part of the protocol spec, it has been generated dynamically
to represent the response to the command print_to_pdf
pub type PrintToPdfResponse {
PrintToPdfResponse(data: String)
}
Constructors
-
PrintToPdfResponse(data: String)Arguments
- data
-
Base64-encoded pdf data. Empty if |returnAsStream| is specified. (Encoded as a base64 string when passed over JSON)
Unique script identifier.
pub type ScriptIdentifier {
ScriptIdentifier(String)
}
Constructors
-
ScriptIdentifier(String)
Transition type.
pub type TransitionType {
TransitionTypeLink
TransitionTypeTyped
TransitionTypeAddressBar
TransitionTypeAutoBookmark
TransitionTypeAutoSubframe
TransitionTypeManualSubframe
TransitionTypeGenerated
TransitionTypeAutoToplevel
TransitionTypeFormSubmit
TransitionTypeReload
TransitionTypeKeyword
TransitionTypeKeywordGenerated
TransitionTypeOther
}
Constructors
-
TransitionTypeLink -
TransitionTypeTyped -
TransitionTypeAddressBar -
TransitionTypeAutoBookmark -
TransitionTypeAutoSubframe -
TransitionTypeManualSubframe -
TransitionTypeGenerated -
TransitionTypeAutoToplevel -
TransitionTypeFormSubmit -
TransitionTypeReload -
TransitionTypeKeyword -
TransitionTypeKeywordGenerated -
TransitionTypeOther
Viewport for capturing screenshot.
pub type Viewport {
Viewport(
x: Float,
y: Float,
width: Float,
height: Float,
scale: Float,
)
}
Constructors
-
Viewport( x: Float, y: Float, width: Float, height: Float, scale: Float, )Arguments
- x
-
X offset in device independent pixels (dip).
- y
-
Y offset in device independent pixels (dip).
- width
-
Rectangle width in device independent pixels (dip).
- height
-
Rectangle height in device independent pixels (dip).
- scale
-
Page scale factor.
Visual viewport position, dimensions, and scale.
pub type VisualViewport {
VisualViewport(
offset_x: Float,
offset_y: Float,
page_x: Float,
page_y: Float,
client_width: Float,
client_height: Float,
scale: Float,
zoom: option.Option(Float),
)
}
Constructors
-
VisualViewport( offset_x: Float, offset_y: Float, page_x: Float, page_y: Float, client_width: Float, client_height: Float, scale: Float, zoom: option.Option(Float), )Arguments
- offset_x
-
Horizontal offset relative to the layout viewport (CSS pixels).
- offset_y
-
Vertical offset relative to the layout viewport (CSS pixels).
- page_x
-
Horizontal offset relative to the document (CSS pixels).
- page_y
-
Vertical offset relative to the document (CSS pixels).
- client_width
-
Width (CSS pixels), excludes scrollbar if present.
- client_height
-
Height (CSS pixels), excludes scrollbar if present.
- scale
-
Scale relative to the ideal viewport (size at width=device-width).
- zoom
-
Page zoom factor (CSS to device independent pixels ratio).
Values
pub fn add_script_to_evaluate_on_new_document(
callback__: fn(String, option.Option(json.Json)) -> Result(
dynamic.Dynamic,
chrome.RequestError,
),
source source: String,
) -> Result(
AddScriptToEvaluateOnNewDocumentResponse,
chrome.RequestError,
)
Evaluates given script in every frame upon creation (before loading frame’s scripts).
Parameters:
source
Returns:
identifier: Identifier of the added script.
pub fn bring_to_front(
callback__: fn(String, option.Option(a)) -> b,
) -> b
Brings page to front (activates tab).
pub fn capture_screenshot(
callback__: fn(String, option.Option(json.Json)) -> Result(
dynamic.Dynamic,
chrome.RequestError,
),
format format: option.Option(CaptureScreenshotFormat),
quality quality: option.Option(Int),
clip clip: option.Option(Viewport),
) -> Result(CaptureScreenshotResponse, chrome.RequestError)
Capture page screenshot.
Parameters:
format: Image compression format (defaults to png).quality: Compression quality from range [0..100] (jpeg only).clip: Capture the screenshot of a given region only.
Returns:
data: Base64-encoded image data. (Encoded as a base64 string when passed over JSON)
pub fn close(callback__: fn(String, option.Option(a)) -> b) -> b
Tries to close page, running its beforeunload hooks, if any.
pub fn create_isolated_world(
callback__: fn(String, option.Option(json.Json)) -> Result(
dynamic.Dynamic,
chrome.RequestError,
),
frame_id frame_id: FrameId,
world_name world_name: option.Option(String),
grant_univeral_access grant_univeral_access: option.Option(Bool),
) -> Result(CreateIsolatedWorldResponse, chrome.RequestError)
Creates an isolated world for the given frame.
Parameters:
frame_id: Id of the frame in which the isolated world should be created.world_name: An optional name which is reported in the Execution Context.grant_univeral_access: Whether or not universal access should be granted to the isolated world. This is a powerful option, use with caution.
Returns:
execution_context_id: Execution context of the isolated world.
pub fn disable(
callback__: fn(String, option.Option(a)) -> b,
) -> b
Disables page domain notifications.
pub fn enable(callback__: fn(String, option.Option(a)) -> b) -> b
Enables page domain notifications.
pub fn get_app_manifest(
callback__: fn(String, option.Option(json.Json)) -> Result(
dynamic.Dynamic,
chrome.RequestError,
),
manifest_id manifest_id: option.Option(String),
) -> Result(GetAppManifestResponse, chrome.RequestError)
Gets the processed manifest for this current document. This API always waits for the manifest to be loaded. If manifestId is provided, and it does not match the manifest of the current document, this API errors out. If there is not a loaded page, this API errors out immediately.
Parameters:
manifest_id
Returns:
url: Manifest location.errorsdata: Manifest content.
pub fn get_frame_tree(
callback__: fn(String, option.Option(a)) -> Result(
dynamic.Dynamic,
chrome.RequestError,
),
) -> Result(GetFrameTreeResponse, chrome.RequestError)
Returns present frame tree structure.
frame_tree: Present frame tree structure.
pub fn get_layout_metrics(
callback__: fn(String, option.Option(a)) -> Result(
dynamic.Dynamic,
chrome.RequestError,
),
) -> Result(GetLayoutMetricsResponse, chrome.RequestError)
Returns metrics relating to the layouting of the page, such as viewport bounds/scale.
css_layout_viewport: Metrics relating to the layout viewport in CSS pixels.css_visual_viewport: Metrics relating to the visual viewport in CSS pixels.css_content_size: Size of scrollable area in CSS pixels.
pub fn get_navigation_history(
callback__: fn(String, option.Option(a)) -> Result(
dynamic.Dynamic,
chrome.RequestError,
),
) -> Result(GetNavigationHistoryResponse, chrome.RequestError)
Returns navigation history for the current page.
current_index: Index of the current navigation history entry.entries: Array of navigation history entries.
pub fn handle_java_script_dialog(
callback__: fn(String, option.Option(json.Json)) -> a,
accept accept: Bool,
prompt_text prompt_text: option.Option(String),
) -> a
Accepts or dismisses a JavaScript initiated dialog (alert, confirm, prompt, or onbeforeunload).
Parameters:
accept: Whether to accept or dismiss the dialog.prompt_text: The text to enter into the dialog prompt before accepting. Used only if this is a prompt dialog.
Returns:
pub fn navigate(
callback__: fn(String, option.Option(json.Json)) -> Result(
dynamic.Dynamic,
chrome.RequestError,
),
url url: String,
referrer referrer: option.Option(String),
transition_type transition_type: option.Option(TransitionType),
frame_id frame_id: option.Option(FrameId),
) -> Result(NavigateResponse, chrome.RequestError)
Navigates current page to the given URL.
Parameters:
url: URL to navigate the page to.referrer: Referrer URL.transition_type: Intended transition type.frame_id: Frame id to navigate, if not specified navigates the top frame.
Returns:
frame_id: Frame id that has navigated (or failed to navigate)loader_id: Loader identifier. This is omitted in case of same-document navigation, as the previously committed loaderId would not change.error_text: User friendly error message, present if and only if navigation has failed.
pub fn navigate_to_history_entry(
callback__: fn(String, option.Option(json.Json)) -> a,
entry_id entry_id: Int,
) -> a
Navigates current page to the given history entry.
Parameters:
entry_id: Unique id of the entry to navigate to.
Returns:
pub fn print_to_pdf(
callback__: fn(String, option.Option(json.Json)) -> Result(
dynamic.Dynamic,
chrome.RequestError,
),
landscape landscape: option.Option(Bool),
display_header_footer display_header_footer: option.Option(Bool),
print_background print_background: option.Option(Bool),
scale scale: option.Option(Float),
paper_width paper_width: option.Option(Float),
paper_height paper_height: option.Option(Float),
margin_top margin_top: option.Option(Float),
margin_bottom margin_bottom: option.Option(Float),
margin_left margin_left: option.Option(Float),
margin_right margin_right: option.Option(Float),
page_ranges page_ranges: option.Option(String),
header_template header_template: option.Option(String),
footer_template footer_template: option.Option(String),
prefer_css_page_size prefer_css_page_size: option.Option(Bool),
) -> Result(PrintToPdfResponse, chrome.RequestError)
Print page as PDF.
Parameters:
landscape: Paper orientation. Defaults to false.display_header_footer: Display header and footer. Defaults to false.print_background: Print background graphics. Defaults to false.scale: Scale of the webpage rendering. Defaults to 1.paper_width: Paper width in inches. Defaults to 8.5 inches.paper_height: Paper height in inches. Defaults to 11 inches.margin_top: Top margin in inches. Defaults to 1cm (~0.4 inches).margin_bottom: Bottom margin in inches. Defaults to 1cm (~0.4 inches).margin_left: Left margin in inches. Defaults to 1cm (~0.4 inches).margin_right: Right margin in inches. Defaults to 1cm (~0.4 inches).page_ranges: Paper ranges to print, one based, e.g., ‘1-5, 8, 11-13’. Pages are printed in the document order, not in the order specified, and no more than once. Defaults to empty string, which implies the entire document is printed. The page numbers are quietly capped to actual page count of the document, and ranges beyond the end of the document are ignored. If this results in no pages to print, an error is reported. It is an error to specify a range with start greater than end.header_template: HTML template for the print header. Should be valid HTML markup with following classes used to inject printing values into them:date: formatted print datetitle: document titleurl: document locationpageNumber: current page numbertotalPages: total pages in the document
For example, <span class=title></span> would generate span containing the title.
footer_template: HTML template for the print footer. Should use the same format as theheaderTemplate.prefer_css_page_size: Whether or not to prefer page size as defined by css. Defaults to false, in which case the content will be scaled to fit the paper size.
Returns:
data: Base64-encoded pdf data. Empty if |returnAsStream| is specified. (Encoded as a base64 string when passed over JSON)
pub fn reload(
callback__: fn(String, option.Option(json.Json)) -> a,
ignore_cache ignore_cache: option.Option(Bool),
script_to_evaluate_on_load script_to_evaluate_on_load: option.Option(
String,
),
) -> a
Reloads given page optionally ignoring the cache.
Parameters:
ignore_cache: If true, browser cache is ignored (as if the user pressed Shift+refresh).script_to_evaluate_on_load: If set, the script will be injected into all frames of the inspected page after reload. Argument will be ignored if reloading dataURL origin.
Returns:
pub fn remove_script_to_evaluate_on_new_document(
callback__: fn(String, option.Option(json.Json)) -> a,
identifier identifier: ScriptIdentifier,
) -> a
Removes given script from the list.
Parameters:
identifier
Returns:
pub fn reset_navigation_history(
callback__: fn(String, option.Option(a)) -> b,
) -> b
Resets navigation history for the current page.
pub fn set_bypass_csp(
callback__: fn(String, option.Option(json.Json)) -> a,
enabled enabled: Bool,
) -> a
Enable page Content Security Policy by-passing.
Parameters:
enabled: Whether to bypass page CSP.
Returns:
pub fn set_document_content(
callback__: fn(String, option.Option(json.Json)) -> a,
frame_id frame_id: FrameId,
html html: String,
) -> a
Sets given markup as the document’s HTML.
Parameters:
frame_id: Frame id to set HTML for.html: HTML content to set.
Returns:
pub fn set_intercept_file_chooser_dialog(
callback__: fn(String, option.Option(json.Json)) -> a,
enabled enabled: Bool,
) -> a
Intercept file chooser requests and transfer control to protocol clients.
When file chooser interception is enabled, native file chooser dialog is not shown.
Instead, a protocol event Page.fileChooserOpened is emitted.
Parameters:
enabled
Returns:
pub fn set_lifecycle_events_enabled(
callback__: fn(String, option.Option(json.Json)) -> a,
enabled enabled: Bool,
) -> a
Controls whether page will emit lifecycle events.
Parameters:
enabled: If true, starts emitting lifecycle events.
Returns:
pub fn stop_loading(
callback__: fn(String, option.Option(a)) -> b,
) -> b
Force the page stop all navigations and pending resource fetches.