viewpoint_cdp/protocol/dom/
mod.rs1use serde::{Deserialize, Serialize};
6
7pub type NodeId = i32;
9
10pub type BackendNodeId = i32;
12
13#[derive(Debug, Clone, Deserialize)]
15#[serde(rename_all = "camelCase")]
16pub struct BackendNode {
17 pub node_type: i32,
19 pub node_name: String,
21 pub backend_node_id: BackendNodeId,
23}
24
25#[derive(Debug, Clone, Serialize)]
29#[serde(rename_all = "camelCase")]
30pub struct SetFileInputFilesParams {
31 pub files: Vec<String>,
33 #[serde(skip_serializing_if = "Option::is_none")]
35 pub node_id: Option<NodeId>,
36 #[serde(skip_serializing_if = "Option::is_none")]
38 pub backend_node_id: Option<BackendNodeId>,
39 #[serde(skip_serializing_if = "Option::is_none")]
41 pub object_id: Option<String>,
42}
43
44#[derive(Debug, Clone, Serialize, Default)]
46#[serde(rename_all = "camelCase")]
47pub struct GetDocumentParams {
48 #[serde(skip_serializing_if = "Option::is_none")]
50 pub depth: Option<i32>,
51 #[serde(skip_serializing_if = "Option::is_none")]
53 pub pierce: Option<bool>,
54}
55
56#[derive(Debug, Clone, Deserialize)]
58#[serde(rename_all = "camelCase")]
59pub struct Node {
60 pub node_id: NodeId,
62 pub node_type: i32,
64 pub node_name: String,
66 pub local_name: String,
68 pub node_value: String,
70 pub child_node_count: Option<i32>,
72 pub children: Option<Vec<Node>>,
74 pub attributes: Option<Vec<String>>,
76 pub document_url: Option<String>,
78 pub base_url: Option<String>,
80 pub content_document: Option<Box<Node>>,
82 pub shadow_roots: Option<Vec<Node>>,
84 pub frame_id: Option<String>,
86}
87
88#[derive(Debug, Clone, Deserialize)]
90pub struct GetDocumentResult {
91 pub root: Node,
93}
94
95#[derive(Debug, Clone, Serialize)]
97#[serde(rename_all = "camelCase")]
98pub struct QuerySelectorParams {
99 pub node_id: NodeId,
101 pub selector: String,
103}
104
105#[derive(Debug, Clone, Deserialize)]
107#[serde(rename_all = "camelCase")]
108pub struct QuerySelectorResult {
109 pub node_id: NodeId,
111}
112
113#[derive(Debug, Clone, Serialize)]
115#[serde(rename_all = "camelCase")]
116pub struct ResolveNodeParams {
117 #[serde(skip_serializing_if = "Option::is_none")]
119 pub node_id: Option<NodeId>,
120 #[serde(skip_serializing_if = "Option::is_none")]
122 pub backend_node_id: Option<BackendNodeId>,
123 #[serde(skip_serializing_if = "Option::is_none")]
125 pub object_group: Option<String>,
126 #[serde(skip_serializing_if = "Option::is_none")]
128 pub execution_context_id: Option<i64>,
129}
130
131#[derive(Debug, Clone, Deserialize)]
133pub struct ResolveNodeResult {
134 pub object: crate::protocol::runtime::RemoteObject,
136}