Class: Selenium::DevTools::V150::Network

Inherits:
Object
  • Object
show all
Defined in:
lib/selenium/devtools/v150/network.rb

Constant Summary collapse

EVENTS =
{
  data_received: 'dataReceived',
  event_source_message_received: 'eventSourceMessageReceived',
  loading_failed: 'loadingFailed',
  loading_finished: 'loadingFinished',
  request_intercepted: 'requestIntercepted',
  request_served_from_cache: 'requestServedFromCache',
  request_will_be_sent: 'requestWillBeSent',
  resource_changed_priority: 'resourceChangedPriority',
  signed_exchange_received: 'signedExchangeReceived',
  response_received: 'responseReceived',
  web_socket_closed: 'webSocketClosed',
  web_socket_created: 'webSocketCreated',
  web_socket_frame_error: 'webSocketFrameError',
  web_socket_frame_received: 'webSocketFrameReceived',
  web_socket_frame_sent: 'webSocketFrameSent',
  web_socket_handshake_response_received: 'webSocketHandshakeResponseReceived',
  web_socket_will_send_handshake_request: 'webSocketWillSendHandshakeRequest',
  web_transport_created: 'webTransportCreated',
  web_transport_connection_established: 'webTransportConnectionEstablished',
  web_transport_closed: 'webTransportClosed',
  direct_tcp_socket_created: 'directTCPSocketCreated',
  direct_tcp_socket_opened: 'directTCPSocketOpened',
  direct_tcp_socket_aborted: 'directTCPSocketAborted',
  direct_tcp_socket_closed: 'directTCPSocketClosed',
  direct_tcp_socket_chunk_sent: 'directTCPSocketChunkSent',
  direct_tcp_socket_chunk_received: 'directTCPSocketChunkReceived',
  direct_udp_socket_joined_multicast_group: 'directUDPSocketJoinedMulticastGroup',
  direct_udp_socket_left_multicast_group: 'directUDPSocketLeftMulticastGroup',
  direct_udp_socket_created: 'directUDPSocketCreated',
  direct_udp_socket_opened: 'directUDPSocketOpened',
  direct_udp_socket_aborted: 'directUDPSocketAborted',
  direct_udp_socket_closed: 'directUDPSocketClosed',
  direct_udp_socket_chunk_sent: 'directUDPSocketChunkSent',
  direct_udp_socket_chunk_received: 'directUDPSocketChunkReceived',
  request_will_be_sent_extra_info: 'requestWillBeSentExtraInfo',
  response_received_extra_info: 'responseReceivedExtraInfo',
  response_received_early_hints: 'responseReceivedEarlyHints',
  trust_token_operation_done: 'trustTokenOperationDone',
  policy_updated: 'policyUpdated',
  reporting_api_report_added: 'reportingApiReportAdded',
  reporting_api_report_updated: 'reportingApiReportUpdated',
  reporting_api_endpoints_changed_for_origin: 'reportingApiEndpointsChangedForOrigin',
  device_bound_sessions_added: 'deviceBoundSessionsAdded',
  device_bound_session_event_occurred: 'deviceBoundSessionEventOccurred',
}.freeze

Instance Method Summary collapse

Constructor Details

#initialize(devtools) ⇒ Network

Returns a new instance of Network.



73
74
75
# File 'lib/selenium/devtools/v150/network.rb', line 73

def initialize(devtools)
  @devtools = devtools
end

Instance Method Details

#can_clear_browser_cacheObject



91
92
93
# File 'lib/selenium/devtools/v150/network.rb', line 91

def can_clear_browser_cache
  @devtools.send_cmd('Network.canClearBrowserCache')
end

#can_clear_browser_cookiesObject



95
96
97
# File 'lib/selenium/devtools/v150/network.rb', line 95

def can_clear_browser_cookies
  @devtools.send_cmd('Network.canClearBrowserCookies')
end

#can_emulate_network_conditionsObject



99
100
101
# File 'lib/selenium/devtools/v150/network.rb', line 99

def can_emulate_network_conditions
  @devtools.send_cmd('Network.canEmulateNetworkConditions')
end

#clear_accepted_encodings_overrideObject



87
88
89
# File 'lib/selenium/devtools/v150/network.rb', line 87

def clear_accepted_encodings_override
  @devtools.send_cmd('Network.clearAcceptedEncodingsOverride')
end

#clear_browser_cacheObject



103
104
105
# File 'lib/selenium/devtools/v150/network.rb', line 103

def clear_browser_cache
  @devtools.send_cmd('Network.clearBrowserCache')
end

#clear_browser_cookiesObject



107
108
109
# File 'lib/selenium/devtools/v150/network.rb', line 107

def clear_browser_cookies
  @devtools.send_cmd('Network.clearBrowserCookies')
end

#configure_durable_messages(max_total_buffer_size: nil, max_resource_buffer_size: nil) ⇒ Object



173
174
175
176
177
# File 'lib/selenium/devtools/v150/network.rb', line 173

def configure_durable_messages(max_total_buffer_size: nil, max_resource_buffer_size: nil)
  @devtools.send_cmd('Network.configureDurableMessages',
                     maxTotalBufferSize: max_total_buffer_size,
                     maxResourceBufferSize: max_resource_buffer_size)
end

#continue_intercepted_request(interception_id:, error_reason: nil, raw_response: nil, url: nil, method: nil, post_data: nil, headers: nil, auth_challenge_response: nil) ⇒ Object



111
112
113
114
115
116
117
118
119
120
121
# File 'lib/selenium/devtools/v150/network.rb', line 111

def continue_intercepted_request(interception_id:, error_reason: nil, raw_response: nil, url: nil, method: nil, post_data: nil, headers: nil, auth_challenge_response: nil)
  @devtools.send_cmd('Network.continueInterceptedRequest',
                     interceptionId: interception_id,
                     errorReason: error_reason,
                     rawResponse: raw_response,
                     url: url,
                     method: method,
                     postData: post_data,
                     headers: headers,
                     authChallengeResponse: auth_challenge_response)
end

#delete_cookies(name:, url: nil, domain: nil, path: nil, partition_key: nil) ⇒ Object



123
124
125
126
127
128
129
130
# File 'lib/selenium/devtools/v150/network.rb', line 123

def delete_cookies(name:, url: nil, domain: nil, path: nil, partition_key: nil)
  @devtools.send_cmd('Network.deleteCookies',
                     name: name,
                     url: url,
                     domain: domain,
                     path: path,
                     partitionKey: partition_key)
end

#delete_device_bound_session(key:) ⇒ Object



307
308
309
310
# File 'lib/selenium/devtools/v150/network.rb', line 307

def delete_device_bound_session(key:)
  @devtools.send_cmd('Network.deleteDeviceBoundSession',
                     key: key)
end

#disableObject



132
133
134
# File 'lib/selenium/devtools/v150/network.rb', line 132

def disable
  @devtools.send_cmd('Network.disable')
end

#emulate_network_conditions(offline:, latency:, download_throughput:, upload_throughput:, connection_type: nil, packet_loss: nil, packet_queue_length: nil, packet_reordering: nil) ⇒ Object



136
137
138
139
140
141
142
143
144
145
146
# File 'lib/selenium/devtools/v150/network.rb', line 136

def emulate_network_conditions(offline:, latency:, download_throughput:, upload_throughput:, connection_type: nil, packet_loss: nil, packet_queue_length: nil, packet_reordering: nil)
  @devtools.send_cmd('Network.emulateNetworkConditions',
                     offline: offline,
                     latency: latency,
                     downloadThroughput: download_throughput,
                     uploadThroughput: upload_throughput,
                     connectionType: connection_type,
                     packetLoss: packet_loss,
                     packetQueueLength: packet_queue_length,
                     packetReordering: packet_reordering)
end

#emulate_network_conditions_by_rule(offline: nil, emulate_offline_service_worker: nil, matched_network_conditions:) ⇒ Object



148
149
150
151
152
153
# File 'lib/selenium/devtools/v150/network.rb', line 148

def emulate_network_conditions_by_rule(offline: nil, emulate_offline_service_worker: nil, matched_network_conditions:)
  @devtools.send_cmd('Network.emulateNetworkConditionsByRule',
                     offline: offline,
                     emulateOfflineServiceWorker: emulate_offline_service_worker,
                     matchedNetworkConditions: matched_network_conditions)
end

#enable(max_total_buffer_size: nil, max_resource_buffer_size: nil, max_post_data_size: nil, report_direct_socket_traffic: nil, enable_durable_messages: nil) ⇒ Object



164
165
166
167
168
169
170
171
# File 'lib/selenium/devtools/v150/network.rb', line 164

def enable(max_total_buffer_size: nil, max_resource_buffer_size: nil, max_post_data_size: nil, report_direct_socket_traffic: nil, enable_durable_messages: nil)
  @devtools.send_cmd('Network.enable',
                     maxTotalBufferSize: max_total_buffer_size,
                     maxResourceBufferSize: max_resource_buffer_size,
                     maxPostDataSize: max_post_data_size,
                     reportDirectSocketTraffic: report_direct_socket_traffic,
                     enableDurableMessages: enable_durable_messages)
end

#enable_device_bound_sessions(enable:) ⇒ Object



302
303
304
305
# File 'lib/selenium/devtools/v150/network.rb', line 302

def enable_device_bound_sessions(enable:)
  @devtools.send_cmd('Network.enableDeviceBoundSessions',
                     enable: enable)
end

#enable_reporting_api(enable:) ⇒ Object



297
298
299
300
# File 'lib/selenium/devtools/v150/network.rb', line 297

def enable_reporting_api(enable:)
  @devtools.send_cmd('Network.enableReportingApi',
                     enable: enable)
end

#fetch_schemeful_site(origin:) ⇒ Object



312
313
314
315
# File 'lib/selenium/devtools/v150/network.rb', line 312

def fetch_schemeful_site(origin:)
  @devtools.send_cmd('Network.fetchSchemefulSite',
                     origin: origin)
end

#get_all_cookiesObject



179
180
181
# File 'lib/selenium/devtools/v150/network.rb', line 179

def get_all_cookies
  @devtools.send_cmd('Network.getAllCookies')
end

#get_certificate(origin:) ⇒ Object



183
184
185
186
# File 'lib/selenium/devtools/v150/network.rb', line 183

def get_certificate(origin:)
  @devtools.send_cmd('Network.getCertificate',
                     origin: origin)
end

#get_cookies(urls: nil) ⇒ Object



188
189
190
191
# File 'lib/selenium/devtools/v150/network.rb', line 188

def get_cookies(urls: nil)
  @devtools.send_cmd('Network.getCookies',
                     urls: urls)
end

#get_request_post_data(request_id:) ⇒ Object



198
199
200
201
# File 'lib/selenium/devtools/v150/network.rb', line 198

def get_request_post_data(request_id:)
  @devtools.send_cmd('Network.getRequestPostData',
                     requestId: request_id)
end

#get_response_body(request_id:) ⇒ Object



193
194
195
196
# File 'lib/selenium/devtools/v150/network.rb', line 193

def get_response_body(request_id:)
  @devtools.send_cmd('Network.getResponseBody',
                     requestId: request_id)
end

#get_response_body_for_interception(interception_id:) ⇒ Object



203
204
205
206
# File 'lib/selenium/devtools/v150/network.rb', line 203

def get_response_body_for_interception(interception_id:)
  @devtools.send_cmd('Network.getResponseBodyForInterception',
                     interceptionId: interception_id)
end

#get_security_isolation_status(frame_id: nil) ⇒ Object



292
293
294
295
# File 'lib/selenium/devtools/v150/network.rb', line 292

def get_security_isolation_status(frame_id: nil)
  @devtools.send_cmd('Network.getSecurityIsolationStatus',
                     frameId: frame_id)
end

#load_network_resource(frame_id: nil, url:, options:) ⇒ Object



317
318
319
320
321
322
# File 'lib/selenium/devtools/v150/network.rb', line 317

def load_network_resource(frame_id: nil, url:, options:)
  @devtools.send_cmd('Network.loadNetworkResource',
                     frameId: frame_id,
                     url: url,
                     options: options)
end

#on(event, &block) ⇒ Object



77
78
79
80
# File 'lib/selenium/devtools/v150/network.rb', line 77

def on(event, &block)
  event = EVENTS[event] if event.is_a?(Symbol)
  @devtools.callbacks["Network.#{event}"] << block
end

#override_network_state(offline:, latency:, download_throughput:, upload_throughput:, connection_type: nil) ⇒ Object



155
156
157
158
159
160
161
162
# File 'lib/selenium/devtools/v150/network.rb', line 155

def override_network_state(offline:, latency:, download_throughput:, upload_throughput:, connection_type: nil)
  @devtools.send_cmd('Network.overrideNetworkState',
                     offline: offline,
                     latency: latency,
                     downloadThroughput: download_throughput,
                     uploadThroughput: upload_throughput,
                     connectionType: connection_type)
end

#replay_xhr(request_id:) ⇒ Object



213
214
215
216
# File 'lib/selenium/devtools/v150/network.rb', line 213

def replay_xhr(request_id:)
  @devtools.send_cmd('Network.replayXHR',
                     requestId: request_id)
end

#search_in_response_body(request_id:, query:, case_sensitive: nil, is_regex: nil) ⇒ Object



218
219
220
221
222
223
224
# File 'lib/selenium/devtools/v150/network.rb', line 218

def search_in_response_body(request_id:, query:, case_sensitive: nil, is_regex: nil)
  @devtools.send_cmd('Network.searchInResponseBody',
                     requestId: request_id,
                     query: query,
                     caseSensitive: case_sensitive,
                     isRegex: is_regex)
end

#set_accepted_encodings(encodings:) ⇒ Object



82
83
84
85
# File 'lib/selenium/devtools/v150/network.rb', line 82

def set_accepted_encodings(encodings:)
  @devtools.send_cmd('Network.setAcceptedEncodings',
                     encodings: encodings)
end

#set_attach_debug_stack(enabled:) ⇒ Object



269
270
271
272
# File 'lib/selenium/devtools/v150/network.rb', line 269

def set_attach_debug_stack(enabled:)
  @devtools.send_cmd('Network.setAttachDebugStack',
                     enabled: enabled)
end

#set_blocked_urls(url_patterns: nil, urls: nil) ⇒ Object



226
227
228
229
230
# File 'lib/selenium/devtools/v150/network.rb', line 226

def set_blocked_urls(url_patterns: nil, urls: nil)
  @devtools.send_cmd('Network.setBlockedURLs',
                     urlPatterns: url_patterns,
                     urls: urls)
end

#set_bypass_service_worker(bypass:) ⇒ Object



232
233
234
235
# File 'lib/selenium/devtools/v150/network.rb', line 232

def set_bypass_service_worker(bypass:)
  @devtools.send_cmd('Network.setBypassServiceWorker',
                     bypass: bypass)
end

#set_cache_disabled(cache_disabled:) ⇒ Object



237
238
239
240
# File 'lib/selenium/devtools/v150/network.rb', line 237

def set_cache_disabled(cache_disabled:)
  @devtools.send_cmd('Network.setCacheDisabled',
                     cacheDisabled: cache_disabled)
end


242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
# File 'lib/selenium/devtools/v150/network.rb', line 242

def set_cookie(name:, value:, url: nil, domain: nil, path: nil, secure: nil, http_only: nil, same_site: nil, expires: nil, priority: nil, source_scheme: nil, source_port: nil, partition_key: nil)
  @devtools.send_cmd('Network.setCookie',
                     name: name,
                     value: value,
                     url: url,
                     domain: domain,
                     path: path,
                     secure: secure,
                     httpOnly: http_only,
                     sameSite: same_site,
                     expires: expires,
                     priority: priority,
                     sourceScheme: source_scheme,
                     sourcePort: source_port,
                     partitionKey: partition_key)
end


324
325
326
327
# File 'lib/selenium/devtools/v150/network.rb', line 324

def set_cookie_controls(enable_third_party_cookie_restriction:)
  @devtools.send_cmd('Network.setCookieControls',
                     enableThirdPartyCookieRestriction: enable_third_party_cookie_restriction)
end

#set_cookies(cookies:) ⇒ Object



259
260
261
262
# File 'lib/selenium/devtools/v150/network.rb', line 259

def set_cookies(cookies:)
  @devtools.send_cmd('Network.setCookies',
                     cookies: cookies)
end

#set_extra_http_headers(headers:) ⇒ Object



264
265
266
267
# File 'lib/selenium/devtools/v150/network.rb', line 264

def set_extra_http_headers(headers:)
  @devtools.send_cmd('Network.setExtraHTTPHeaders',
                     headers: headers)
end

#set_request_interception(patterns:) ⇒ Object



274
275
276
277
# File 'lib/selenium/devtools/v150/network.rb', line 274

def set_request_interception(patterns:)
  @devtools.send_cmd('Network.setRequestInterception',
                     patterns: patterns)
end

#set_user_agent_override(user_agent:, accept_language: nil, platform: nil, user_agent_metadata: nil) ⇒ Object



279
280
281
282
283
284
285
# File 'lib/selenium/devtools/v150/network.rb', line 279

def set_user_agent_override(user_agent:, accept_language: nil, platform: nil, user_agent_metadata: nil)
  @devtools.send_cmd('Network.setUserAgentOverride',
                     userAgent: user_agent,
                     acceptLanguage: accept_language,
                     platform: platform,
                     userAgentMetadata: )
end

#stream_resource_content(request_id:) ⇒ Object



287
288
289
290
# File 'lib/selenium/devtools/v150/network.rb', line 287

def stream_resource_content(request_id:)
  @devtools.send_cmd('Network.streamResourceContent',
                     requestId: request_id)
end

#take_response_body_for_interception_as_stream(interception_id:) ⇒ Object



208
209
210
211
# File 'lib/selenium/devtools/v150/network.rb', line 208

def take_response_body_for_interception_as_stream(interception_id:)
  @devtools.send_cmd('Network.takeResponseBodyForInterceptionAsStream',
                     interceptionId: interception_id)
end