use serde::{Serialize, Deserialize};
use serde_json::Value as JsonValue;
pub type NodeId = i64;
pub type BackendNodeId = i64;
pub type StyleSheetId = String;
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct BackendNode {
pub nodeType: i64,
pub nodeName: String,
pub backendNodeId: BackendNodeId,
}
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Default)]
pub enum PseudoType {
#[default]
FirstLine,
FirstLetter,
Checkmark,
Before,
After,
ExpandIcon,
PickerIcon,
InterestHint,
Marker,
Backdrop,
Column,
Selection,
SearchText,
TargetText,
SpellingError,
GrammarError,
Highlight,
FirstLineInherited,
ScrollMarker,
ScrollMarkerGroup,
ScrollButton,
Scrollbar,
ScrollbarThumb,
ScrollbarButton,
ScrollbarTrack,
ScrollbarTrackPiece,
ScrollbarCorner,
Resizer,
InputListButton,
ViewTransition,
ViewTransitionGroup,
ViewTransitionImagePair,
ViewTransitionGroupChildren,
ViewTransitionOld,
ViewTransitionNew,
Placeholder,
FileSelectorButton,
DetailsContent,
Picker,
PermissionIcon,
OverscrollAreaParent,
}
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Default)]
pub enum ShadowRootType {
#[default]
UserAgent,
Open,
Closed,
}
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Default)]
pub enum CompatibilityMode {
#[default]
QuirksMode,
LimitedQuirksMode,
NoQuirksMode,
}
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Default)]
pub enum PhysicalAxes {
#[default]
Horizontal,
Vertical,
Both,
}
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Default)]
pub enum LogicalAxes {
#[default]
Inline,
Block,
Both,
}
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Default)]
pub enum ScrollOrientation {
#[default]
Horizontal,
Vertical,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct Node {
pub nodeId: NodeId,
#[serde(skip_serializing_if = "Option::is_none")]
pub parentId: Option<NodeId>,
pub backendNodeId: BackendNodeId,
pub nodeType: i64,
pub nodeName: String,
pub localName: String,
pub nodeValue: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub childNodeCount: Option<u64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub children: Option<Vec<Node>>,
#[serde(skip_serializing_if = "Option::is_none")]
pub attributes: Option<Vec<String>>,
#[serde(skip_serializing_if = "Option::is_none")]
pub documentURL: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub baseURL: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub publicId: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub systemId: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub internalSubset: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub xmlVersion: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub value: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub pseudoType: Option<PseudoType>,
#[serde(skip_serializing_if = "Option::is_none")]
pub pseudoIdentifier: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub shadowRootType: Option<ShadowRootType>,
#[serde(skip_serializing_if = "Option::is_none")]
pub frameId: Option<crate::page::FrameId>,
#[serde(skip_serializing_if = "Option::is_none")]
pub contentDocument: Option<Box<Node>>,
#[serde(skip_serializing_if = "Option::is_none")]
pub shadowRoots: Option<Vec<Node>>,
#[serde(skip_serializing_if = "Option::is_none")]
pub templateContent: Option<Box<Node>>,
#[serde(skip_serializing_if = "Option::is_none")]
pub pseudoElements: Option<Vec<Node>>,
#[serde(skip_serializing_if = "Option::is_none")]
pub importedDocument: Option<Box<Node>>,
#[serde(skip_serializing_if = "Option::is_none")]
pub distributedNodes: Option<Vec<BackendNode>>,
#[serde(skip_serializing_if = "Option::is_none")]
pub isSVG: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub compatibilityMode: Option<CompatibilityMode>,
#[serde(skip_serializing_if = "Option::is_none")]
pub assignedSlot: Option<BackendNode>,
#[serde(skip_serializing_if = "Option::is_none")]
pub isScrollable: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub affectedByStartingStyles: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub adoptedStyleSheets: Option<Vec<StyleSheetId>>,
#[serde(skip_serializing_if = "Option::is_none")]
pub adProvenance: Option<crate::network::AdProvenance>,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct DetachedElementInfo {
pub treeNode: Node,
pub retainedNodeIds: Vec<NodeId>,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct RGBA {
pub r: i64,
pub g: i64,
pub b: i64,
#[serde(skip_serializing_if = "Option::is_none")]
pub a: Option<f64>,
}
pub type Quad = Vec<f64>;
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct BoxModel {
pub content: Quad,
pub padding: Quad,
pub border: Quad,
pub margin: Quad,
pub width: u64,
pub height: i64,
#[serde(skip_serializing_if = "Option::is_none")]
pub shapeOutside: Option<ShapeOutsideInfo>,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct ShapeOutsideInfo {
pub bounds: Quad,
pub shape: Vec<JsonValue>,
pub marginShape: Vec<JsonValue>,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct Rect {
pub x: f64,
pub y: f64,
pub width: f64,
pub height: f64,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct CSSComputedStyleProperty {
pub name: String,
pub value: String,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct CollectClassNamesFromSubtreeParams {
pub nodeId: NodeId,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct CollectClassNamesFromSubtreeReturns {
pub classNames: Vec<String>,
}
impl CollectClassNamesFromSubtreeParams { pub const METHOD: &'static str = "DOM.collectClassNamesFromSubtree"; }
impl crate::CdpCommand for CollectClassNamesFromSubtreeParams {
const METHOD: &'static str = "DOM.collectClassNamesFromSubtree";
type Response = CollectClassNamesFromSubtreeReturns;
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct CopyToParams {
pub nodeId: NodeId,
pub targetNodeId: NodeId,
#[serde(skip_serializing_if = "Option::is_none")]
pub insertBeforeNodeId: Option<NodeId>,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct CopyToReturns {
pub nodeId: NodeId,
}
impl CopyToParams { pub const METHOD: &'static str = "DOM.copyTo"; }
impl crate::CdpCommand for CopyToParams {
const METHOD: &'static str = "DOM.copyTo";
type Response = CopyToReturns;
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct DescribeNodeParams {
#[serde(skip_serializing_if = "Option::is_none")]
pub nodeId: Option<NodeId>,
#[serde(skip_serializing_if = "Option::is_none")]
pub backendNodeId: Option<BackendNodeId>,
#[serde(skip_serializing_if = "Option::is_none")]
pub objectId: Option<crate::runtime::RemoteObjectId>,
#[serde(skip_serializing_if = "Option::is_none")]
pub depth: Option<i64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub pierce: Option<bool>,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct DescribeNodeReturns {
pub node: Node,
}
impl DescribeNodeParams { pub const METHOD: &'static str = "DOM.describeNode"; }
impl crate::CdpCommand for DescribeNodeParams {
const METHOD: &'static str = "DOM.describeNode";
type Response = DescribeNodeReturns;
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct ScrollIntoViewIfNeededParams {
#[serde(skip_serializing_if = "Option::is_none")]
pub nodeId: Option<NodeId>,
#[serde(skip_serializing_if = "Option::is_none")]
pub backendNodeId: Option<BackendNodeId>,
#[serde(skip_serializing_if = "Option::is_none")]
pub objectId: Option<crate::runtime::RemoteObjectId>,
#[serde(skip_serializing_if = "Option::is_none")]
pub rect: Option<Rect>,
}
impl ScrollIntoViewIfNeededParams { pub const METHOD: &'static str = "DOM.scrollIntoViewIfNeeded"; }
impl crate::CdpCommand for ScrollIntoViewIfNeededParams {
const METHOD: &'static str = "DOM.scrollIntoViewIfNeeded";
type Response = crate::EmptyReturns;
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
pub struct DisableParams {}
impl DisableParams { pub const METHOD: &'static str = "DOM.disable"; }
impl crate::CdpCommand for DisableParams {
const METHOD: &'static str = "DOM.disable";
type Response = crate::EmptyReturns;
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct DiscardSearchResultsParams {
pub searchId: String,
}
impl DiscardSearchResultsParams { pub const METHOD: &'static str = "DOM.discardSearchResults"; }
impl crate::CdpCommand for DiscardSearchResultsParams {
const METHOD: &'static str = "DOM.discardSearchResults";
type Response = crate::EmptyReturns;
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct EnableParams {
#[serde(skip_serializing_if = "Option::is_none")]
pub includeWhitespace: Option<String>,
}
impl EnableParams { pub const METHOD: &'static str = "DOM.enable"; }
impl crate::CdpCommand for EnableParams {
const METHOD: &'static str = "DOM.enable";
type Response = crate::EmptyReturns;
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct FocusParams {
#[serde(skip_serializing_if = "Option::is_none")]
pub nodeId: Option<NodeId>,
#[serde(skip_serializing_if = "Option::is_none")]
pub backendNodeId: Option<BackendNodeId>,
#[serde(skip_serializing_if = "Option::is_none")]
pub objectId: Option<crate::runtime::RemoteObjectId>,
}
impl FocusParams { pub const METHOD: &'static str = "DOM.focus"; }
impl crate::CdpCommand for FocusParams {
const METHOD: &'static str = "DOM.focus";
type Response = crate::EmptyReturns;
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct GetAttributesParams {
pub nodeId: NodeId,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct GetAttributesReturns {
pub attributes: Vec<String>,
}
impl GetAttributesParams { pub const METHOD: &'static str = "DOM.getAttributes"; }
impl crate::CdpCommand for GetAttributesParams {
const METHOD: &'static str = "DOM.getAttributes";
type Response = GetAttributesReturns;
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct GetBoxModelParams {
#[serde(skip_serializing_if = "Option::is_none")]
pub nodeId: Option<NodeId>,
#[serde(skip_serializing_if = "Option::is_none")]
pub backendNodeId: Option<BackendNodeId>,
#[serde(skip_serializing_if = "Option::is_none")]
pub objectId: Option<crate::runtime::RemoteObjectId>,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct GetBoxModelReturns {
pub model: BoxModel,
}
impl GetBoxModelParams { pub const METHOD: &'static str = "DOM.getBoxModel"; }
impl crate::CdpCommand for GetBoxModelParams {
const METHOD: &'static str = "DOM.getBoxModel";
type Response = GetBoxModelReturns;
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct GetContentQuadsParams {
#[serde(skip_serializing_if = "Option::is_none")]
pub nodeId: Option<NodeId>,
#[serde(skip_serializing_if = "Option::is_none")]
pub backendNodeId: Option<BackendNodeId>,
#[serde(skip_serializing_if = "Option::is_none")]
pub objectId: Option<crate::runtime::RemoteObjectId>,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct GetContentQuadsReturns {
pub quads: Vec<Quad>,
}
impl GetContentQuadsParams { pub const METHOD: &'static str = "DOM.getContentQuads"; }
impl crate::CdpCommand for GetContentQuadsParams {
const METHOD: &'static str = "DOM.getContentQuads";
type Response = GetContentQuadsReturns;
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct GetDocumentParams {
#[serde(skip_serializing_if = "Option::is_none")]
pub depth: Option<i64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub pierce: Option<bool>,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct GetDocumentReturns {
pub root: Node,
}
impl GetDocumentParams { pub const METHOD: &'static str = "DOM.getDocument"; }
impl crate::CdpCommand for GetDocumentParams {
const METHOD: &'static str = "DOM.getDocument";
type Response = GetDocumentReturns;
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct GetFlattenedDocumentParams {
#[serde(skip_serializing_if = "Option::is_none")]
pub depth: Option<i64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub pierce: Option<bool>,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct GetFlattenedDocumentReturns {
pub nodes: Vec<Node>,
}
impl GetFlattenedDocumentParams { pub const METHOD: &'static str = "DOM.getFlattenedDocument"; }
impl crate::CdpCommand for GetFlattenedDocumentParams {
const METHOD: &'static str = "DOM.getFlattenedDocument";
type Response = GetFlattenedDocumentReturns;
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct GetNodesForSubtreeByStyleParams {
pub nodeId: NodeId,
pub computedStyles: Vec<CSSComputedStyleProperty>,
#[serde(skip_serializing_if = "Option::is_none")]
pub pierce: Option<bool>,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct GetNodesForSubtreeByStyleReturns {
pub nodeIds: Vec<NodeId>,
}
impl GetNodesForSubtreeByStyleParams { pub const METHOD: &'static str = "DOM.getNodesForSubtreeByStyle"; }
impl crate::CdpCommand for GetNodesForSubtreeByStyleParams {
const METHOD: &'static str = "DOM.getNodesForSubtreeByStyle";
type Response = GetNodesForSubtreeByStyleReturns;
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct GetNodeForLocationParams {
pub x: i32,
pub y: i32,
#[serde(skip_serializing_if = "Option::is_none")]
pub includeUserAgentShadowDOM: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub ignorePointerEventsNone: Option<bool>,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct GetNodeForLocationReturns {
pub backendNodeId: BackendNodeId,
pub frameId: crate::page::FrameId,
#[serde(skip_serializing_if = "Option::is_none")]
pub nodeId: Option<NodeId>,
}
impl GetNodeForLocationParams { pub const METHOD: &'static str = "DOM.getNodeForLocation"; }
impl crate::CdpCommand for GetNodeForLocationParams {
const METHOD: &'static str = "DOM.getNodeForLocation";
type Response = GetNodeForLocationReturns;
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct GetOuterHTMLParams {
#[serde(skip_serializing_if = "Option::is_none")]
pub nodeId: Option<NodeId>,
#[serde(skip_serializing_if = "Option::is_none")]
pub backendNodeId: Option<BackendNodeId>,
#[serde(skip_serializing_if = "Option::is_none")]
pub objectId: Option<crate::runtime::RemoteObjectId>,
#[serde(skip_serializing_if = "Option::is_none")]
pub includeShadowDOM: Option<bool>,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct GetOuterHTMLReturns {
pub outerHTML: String,
}
impl GetOuterHTMLParams { pub const METHOD: &'static str = "DOM.getOuterHTML"; }
impl crate::CdpCommand for GetOuterHTMLParams {
const METHOD: &'static str = "DOM.getOuterHTML";
type Response = GetOuterHTMLReturns;
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct GetRelayoutBoundaryParams {
pub nodeId: NodeId,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct GetRelayoutBoundaryReturns {
pub nodeId: NodeId,
}
impl GetRelayoutBoundaryParams { pub const METHOD: &'static str = "DOM.getRelayoutBoundary"; }
impl crate::CdpCommand for GetRelayoutBoundaryParams {
const METHOD: &'static str = "DOM.getRelayoutBoundary";
type Response = GetRelayoutBoundaryReturns;
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct GetSearchResultsParams {
pub searchId: String,
pub fromIndex: u64,
pub toIndex: u64,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct GetSearchResultsReturns {
pub nodeIds: Vec<NodeId>,
}
impl GetSearchResultsParams { pub const METHOD: &'static str = "DOM.getSearchResults"; }
impl crate::CdpCommand for GetSearchResultsParams {
const METHOD: &'static str = "DOM.getSearchResults";
type Response = GetSearchResultsReturns;
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
pub struct HideHighlightParams {}
impl HideHighlightParams { pub const METHOD: &'static str = "DOM.hideHighlight"; }
impl crate::CdpCommand for HideHighlightParams {
const METHOD: &'static str = "DOM.hideHighlight";
type Response = crate::EmptyReturns;
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
pub struct HighlightNodeParams {}
impl HighlightNodeParams { pub const METHOD: &'static str = "DOM.highlightNode"; }
impl crate::CdpCommand for HighlightNodeParams {
const METHOD: &'static str = "DOM.highlightNode";
type Response = crate::EmptyReturns;
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
pub struct HighlightRectParams {}
impl HighlightRectParams { pub const METHOD: &'static str = "DOM.highlightRect"; }
impl crate::CdpCommand for HighlightRectParams {
const METHOD: &'static str = "DOM.highlightRect";
type Response = crate::EmptyReturns;
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
pub struct MarkUndoableStateParams {}
impl MarkUndoableStateParams { pub const METHOD: &'static str = "DOM.markUndoableState"; }
impl crate::CdpCommand for MarkUndoableStateParams {
const METHOD: &'static str = "DOM.markUndoableState";
type Response = crate::EmptyReturns;
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct MoveToParams {
pub nodeId: NodeId,
pub targetNodeId: NodeId,
#[serde(skip_serializing_if = "Option::is_none")]
pub insertBeforeNodeId: Option<NodeId>,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct MoveToReturns {
pub nodeId: NodeId,
}
impl MoveToParams { pub const METHOD: &'static str = "DOM.moveTo"; }
impl crate::CdpCommand for MoveToParams {
const METHOD: &'static str = "DOM.moveTo";
type Response = MoveToReturns;
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct PerformSearchParams {
pub query: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub includeUserAgentShadowDOM: Option<bool>,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct PerformSearchReturns {
pub searchId: String,
pub resultCount: u64,
}
impl PerformSearchParams { pub const METHOD: &'static str = "DOM.performSearch"; }
impl crate::CdpCommand for PerformSearchParams {
const METHOD: &'static str = "DOM.performSearch";
type Response = PerformSearchReturns;
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct PushNodeByPathToFrontendParams {
pub path: String,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct PushNodeByPathToFrontendReturns {
pub nodeId: NodeId,
}
impl PushNodeByPathToFrontendParams { pub const METHOD: &'static str = "DOM.pushNodeByPathToFrontend"; }
impl crate::CdpCommand for PushNodeByPathToFrontendParams {
const METHOD: &'static str = "DOM.pushNodeByPathToFrontend";
type Response = PushNodeByPathToFrontendReturns;
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct PushNodesByBackendIdsToFrontendParams {
pub backendNodeIds: Vec<BackendNodeId>,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct PushNodesByBackendIdsToFrontendReturns {
pub nodeIds: Vec<NodeId>,
}
impl PushNodesByBackendIdsToFrontendParams { pub const METHOD: &'static str = "DOM.pushNodesByBackendIdsToFrontend"; }
impl crate::CdpCommand for PushNodesByBackendIdsToFrontendParams {
const METHOD: &'static str = "DOM.pushNodesByBackendIdsToFrontend";
type Response = PushNodesByBackendIdsToFrontendReturns;
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct QuerySelectorParams {
pub nodeId: NodeId,
pub selector: String,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct QuerySelectorReturns {
pub nodeId: NodeId,
}
impl QuerySelectorParams { pub const METHOD: &'static str = "DOM.querySelector"; }
impl crate::CdpCommand for QuerySelectorParams {
const METHOD: &'static str = "DOM.querySelector";
type Response = QuerySelectorReturns;
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct QuerySelectorAllParams {
pub nodeId: NodeId,
pub selector: String,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct QuerySelectorAllReturns {
pub nodeIds: Vec<NodeId>,
}
impl QuerySelectorAllParams { pub const METHOD: &'static str = "DOM.querySelectorAll"; }
impl crate::CdpCommand for QuerySelectorAllParams {
const METHOD: &'static str = "DOM.querySelectorAll";
type Response = QuerySelectorAllReturns;
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct GetTopLayerElementsReturns {
pub nodeIds: Vec<NodeId>,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
pub struct GetTopLayerElementsParams {}
impl GetTopLayerElementsParams { pub const METHOD: &'static str = "DOM.getTopLayerElements"; }
impl crate::CdpCommand for GetTopLayerElementsParams {
const METHOD: &'static str = "DOM.getTopLayerElements";
type Response = GetTopLayerElementsReturns;
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct GetElementByRelationParams {
pub nodeId: NodeId,
pub relation: String,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct GetElementByRelationReturns {
pub nodeId: NodeId,
}
impl GetElementByRelationParams { pub const METHOD: &'static str = "DOM.getElementByRelation"; }
impl crate::CdpCommand for GetElementByRelationParams {
const METHOD: &'static str = "DOM.getElementByRelation";
type Response = GetElementByRelationReturns;
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
pub struct RedoParams {}
impl RedoParams { pub const METHOD: &'static str = "DOM.redo"; }
impl crate::CdpCommand for RedoParams {
const METHOD: &'static str = "DOM.redo";
type Response = crate::EmptyReturns;
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct RemoveAttributeParams {
pub nodeId: NodeId,
pub name: String,
}
impl RemoveAttributeParams { pub const METHOD: &'static str = "DOM.removeAttribute"; }
impl crate::CdpCommand for RemoveAttributeParams {
const METHOD: &'static str = "DOM.removeAttribute";
type Response = crate::EmptyReturns;
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct RemoveNodeParams {
pub nodeId: NodeId,
}
impl RemoveNodeParams { pub const METHOD: &'static str = "DOM.removeNode"; }
impl crate::CdpCommand for RemoveNodeParams {
const METHOD: &'static str = "DOM.removeNode";
type Response = crate::EmptyReturns;
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct RequestChildNodesParams {
pub nodeId: NodeId,
#[serde(skip_serializing_if = "Option::is_none")]
pub depth: Option<i64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub pierce: Option<bool>,
}
impl RequestChildNodesParams { pub const METHOD: &'static str = "DOM.requestChildNodes"; }
impl crate::CdpCommand for RequestChildNodesParams {
const METHOD: &'static str = "DOM.requestChildNodes";
type Response = crate::EmptyReturns;
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct RequestNodeParams {
pub objectId: crate::runtime::RemoteObjectId,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct RequestNodeReturns {
pub nodeId: NodeId,
}
impl RequestNodeParams { pub const METHOD: &'static str = "DOM.requestNode"; }
impl crate::CdpCommand for RequestNodeParams {
const METHOD: &'static str = "DOM.requestNode";
type Response = RequestNodeReturns;
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct ResolveNodeParams {
#[serde(skip_serializing_if = "Option::is_none")]
pub nodeId: Option<NodeId>,
#[serde(skip_serializing_if = "Option::is_none")]
pub backendNodeId: Option<crate::dom::BackendNodeId>,
#[serde(skip_serializing_if = "Option::is_none")]
pub objectGroup: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub executionContextId: Option<crate::runtime::ExecutionContextId>,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct ResolveNodeReturns {
pub object: crate::runtime::RemoteObject,
}
impl ResolveNodeParams { pub const METHOD: &'static str = "DOM.resolveNode"; }
impl crate::CdpCommand for ResolveNodeParams {
const METHOD: &'static str = "DOM.resolveNode";
type Response = ResolveNodeReturns;
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct SetAttributeValueParams {
pub nodeId: NodeId,
pub name: String,
pub value: String,
}
impl SetAttributeValueParams { pub const METHOD: &'static str = "DOM.setAttributeValue"; }
impl crate::CdpCommand for SetAttributeValueParams {
const METHOD: &'static str = "DOM.setAttributeValue";
type Response = crate::EmptyReturns;
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct SetAttributesAsTextParams {
pub nodeId: NodeId,
pub text: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
}
impl SetAttributesAsTextParams { pub const METHOD: &'static str = "DOM.setAttributesAsText"; }
impl crate::CdpCommand for SetAttributesAsTextParams {
const METHOD: &'static str = "DOM.setAttributesAsText";
type Response = crate::EmptyReturns;
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct SetFileInputFilesParams {
pub files: Vec<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub nodeId: Option<NodeId>,
#[serde(skip_serializing_if = "Option::is_none")]
pub backendNodeId: Option<BackendNodeId>,
#[serde(skip_serializing_if = "Option::is_none")]
pub objectId: Option<crate::runtime::RemoteObjectId>,
}
impl SetFileInputFilesParams { pub const METHOD: &'static str = "DOM.setFileInputFiles"; }
impl crate::CdpCommand for SetFileInputFilesParams {
const METHOD: &'static str = "DOM.setFileInputFiles";
type Response = crate::EmptyReturns;
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct SetNodeStackTracesEnabledParams {
pub enable: bool,
}
impl SetNodeStackTracesEnabledParams { pub const METHOD: &'static str = "DOM.setNodeStackTracesEnabled"; }
impl crate::CdpCommand for SetNodeStackTracesEnabledParams {
const METHOD: &'static str = "DOM.setNodeStackTracesEnabled";
type Response = crate::EmptyReturns;
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct GetNodeStackTracesParams {
pub nodeId: NodeId,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct GetNodeStackTracesReturns {
#[serde(skip_serializing_if = "Option::is_none")]
pub creation: Option<crate::runtime::StackTrace>,
}
impl GetNodeStackTracesParams { pub const METHOD: &'static str = "DOM.getNodeStackTraces"; }
impl crate::CdpCommand for GetNodeStackTracesParams {
const METHOD: &'static str = "DOM.getNodeStackTraces";
type Response = GetNodeStackTracesReturns;
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct GetFileInfoParams {
pub objectId: crate::runtime::RemoteObjectId,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct GetFileInfoReturns {
pub path: String,
}
impl GetFileInfoParams { pub const METHOD: &'static str = "DOM.getFileInfo"; }
impl crate::CdpCommand for GetFileInfoParams {
const METHOD: &'static str = "DOM.getFileInfo";
type Response = GetFileInfoReturns;
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct GetDetachedDomNodesReturns {
pub detachedNodes: Vec<DetachedElementInfo>,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
pub struct GetDetachedDomNodesParams {}
impl GetDetachedDomNodesParams { pub const METHOD: &'static str = "DOM.getDetachedDomNodes"; }
impl crate::CdpCommand for GetDetachedDomNodesParams {
const METHOD: &'static str = "DOM.getDetachedDomNodes";
type Response = GetDetachedDomNodesReturns;
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct SetInspectedNodeParams {
pub nodeId: NodeId,
}
impl SetInspectedNodeParams { pub const METHOD: &'static str = "DOM.setInspectedNode"; }
impl crate::CdpCommand for SetInspectedNodeParams {
const METHOD: &'static str = "DOM.setInspectedNode";
type Response = crate::EmptyReturns;
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct SetNodeNameParams {
pub nodeId: NodeId,
pub name: String,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct SetNodeNameReturns {
pub nodeId: NodeId,
}
impl SetNodeNameParams { pub const METHOD: &'static str = "DOM.setNodeName"; }
impl crate::CdpCommand for SetNodeNameParams {
const METHOD: &'static str = "DOM.setNodeName";
type Response = SetNodeNameReturns;
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct SetNodeValueParams {
pub nodeId: NodeId,
pub value: String,
}
impl SetNodeValueParams { pub const METHOD: &'static str = "DOM.setNodeValue"; }
impl crate::CdpCommand for SetNodeValueParams {
const METHOD: &'static str = "DOM.setNodeValue";
type Response = crate::EmptyReturns;
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct SetOuterHTMLParams {
pub nodeId: NodeId,
pub outerHTML: String,
}
impl SetOuterHTMLParams { pub const METHOD: &'static str = "DOM.setOuterHTML"; }
impl crate::CdpCommand for SetOuterHTMLParams {
const METHOD: &'static str = "DOM.setOuterHTML";
type Response = crate::EmptyReturns;
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
pub struct UndoParams {}
impl UndoParams { pub const METHOD: &'static str = "DOM.undo"; }
impl crate::CdpCommand for UndoParams {
const METHOD: &'static str = "DOM.undo";
type Response = crate::EmptyReturns;
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct GetFrameOwnerParams {
pub frameId: crate::page::FrameId,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct GetFrameOwnerReturns {
pub backendNodeId: BackendNodeId,
#[serde(skip_serializing_if = "Option::is_none")]
pub nodeId: Option<NodeId>,
}
impl GetFrameOwnerParams { pub const METHOD: &'static str = "DOM.getFrameOwner"; }
impl crate::CdpCommand for GetFrameOwnerParams {
const METHOD: &'static str = "DOM.getFrameOwner";
type Response = GetFrameOwnerReturns;
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct GetContainerForNodeParams {
pub nodeId: NodeId,
#[serde(skip_serializing_if = "Option::is_none")]
pub containerName: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub physicalAxes: Option<PhysicalAxes>,
#[serde(skip_serializing_if = "Option::is_none")]
pub logicalAxes: Option<LogicalAxes>,
#[serde(skip_serializing_if = "Option::is_none")]
pub queriesScrollState: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub queriesAnchored: Option<bool>,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct GetContainerForNodeReturns {
#[serde(skip_serializing_if = "Option::is_none")]
pub nodeId: Option<NodeId>,
}
impl GetContainerForNodeParams { pub const METHOD: &'static str = "DOM.getContainerForNode"; }
impl crate::CdpCommand for GetContainerForNodeParams {
const METHOD: &'static str = "DOM.getContainerForNode";
type Response = GetContainerForNodeReturns;
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct GetQueryingDescendantsForContainerParams {
pub nodeId: NodeId,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct GetQueryingDescendantsForContainerReturns {
pub nodeIds: Vec<NodeId>,
}
impl GetQueryingDescendantsForContainerParams { pub const METHOD: &'static str = "DOM.getQueryingDescendantsForContainer"; }
impl crate::CdpCommand for GetQueryingDescendantsForContainerParams {
const METHOD: &'static str = "DOM.getQueryingDescendantsForContainer";
type Response = GetQueryingDescendantsForContainerReturns;
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct GetAnchorElementParams {
pub nodeId: NodeId,
#[serde(skip_serializing_if = "Option::is_none")]
pub anchorSpecifier: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct GetAnchorElementReturns {
pub nodeId: NodeId,
}
impl GetAnchorElementParams { pub const METHOD: &'static str = "DOM.getAnchorElement"; }
impl crate::CdpCommand for GetAnchorElementParams {
const METHOD: &'static str = "DOM.getAnchorElement";
type Response = GetAnchorElementReturns;
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct ForceShowPopoverParams {
pub nodeId: NodeId,
pub enable: bool,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct ForceShowPopoverReturns {
pub nodeIds: Vec<NodeId>,
}
impl ForceShowPopoverParams { pub const METHOD: &'static str = "DOM.forceShowPopover"; }
impl crate::CdpCommand for ForceShowPopoverParams {
const METHOD: &'static str = "DOM.forceShowPopover";
type Response = ForceShowPopoverReturns;
}