selenium-devtools 0.95.0 → 0.96.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (49) hide show
  1. checksums.yaml +4 -4
  2. data/lib/selenium/devtools/v96/accessibility.rb +76 -0
  3. data/lib/selenium/devtools/v96/animation.rb +94 -0
  4. data/lib/selenium/devtools/v96/audits.rb +62 -0
  5. data/lib/selenium/devtools/v96/background_service.rb +63 -0
  6. data/lib/selenium/devtools/v96/browser.rb +135 -0
  7. data/lib/selenium/devtools/v96/cache_storage.rb +69 -0
  8. data/lib/selenium/devtools/v96/cast.rb +66 -0
  9. data/lib/selenium/devtools/v96/console.rb +53 -0
  10. data/lib/selenium/devtools/v96/css.rb +182 -0
  11. data/lib/selenium/devtools/v96/database.rb +60 -0
  12. data/lib/selenium/devtools/v96/debugger.rb +220 -0
  13. data/lib/selenium/devtools/v96/device_orientation.rb +49 -0
  14. data/lib/selenium/devtools/v96/dom.rb +334 -0
  15. data/lib/selenium/devtools/v96/dom_debugger.rb +94 -0
  16. data/lib/selenium/devtools/v96/dom_snapshot.rb +63 -0
  17. data/lib/selenium/devtools/v96/dom_storage.rb +75 -0
  18. data/lib/selenium/devtools/v96/emulation.rb +197 -0
  19. data/lib/selenium/devtools/v96/fetch.rb +103 -0
  20. data/lib/selenium/devtools/v96/headless_experimental.rb +57 -0
  21. data/lib/selenium/devtools/v96/heap_profiler.rb +105 -0
  22. data/lib/selenium/devtools/v96/indexed_db.rb +96 -0
  23. data/lib/selenium/devtools/v96/input.rb +168 -0
  24. data/lib/selenium/devtools/v96/inspector.rb +51 -0
  25. data/lib/selenium/devtools/v96/io.rb +55 -0
  26. data/lib/selenium/devtools/v96/layer_tree.rb +91 -0
  27. data/lib/selenium/devtools/v96/log.rb +62 -0
  28. data/lib/selenium/devtools/v96/media.rb +53 -0
  29. data/lib/selenium/devtools/v96/memory.rb +82 -0
  30. data/lib/selenium/devtools/v96/network.rb +262 -0
  31. data/lib/selenium/devtools/v96/overlay.rb +202 -0
  32. data/lib/selenium/devtools/v96/page.rb +393 -0
  33. data/lib/selenium/devtools/v96/performance.rb +59 -0
  34. data/lib/selenium/devtools/v96/performance_timeline.rb +46 -0
  35. data/lib/selenium/devtools/v96/profiler.rb +95 -0
  36. data/lib/selenium/devtools/v96/runtime.rb +194 -0
  37. data/lib/selenium/devtools/v96/schema.rb +42 -0
  38. data/lib/selenium/devtools/v96/security.rb +67 -0
  39. data/lib/selenium/devtools/v96/service_worker.rb +112 -0
  40. data/lib/selenium/devtools/v96/storage.rb +106 -0
  41. data/lib/selenium/devtools/v96/system_info.rb +46 -0
  42. data/lib/selenium/devtools/v96/target.rb +145 -0
  43. data/lib/selenium/devtools/v96/tethering.rb +51 -0
  44. data/lib/selenium/devtools/v96/tracing.rb +75 -0
  45. data/lib/selenium/devtools/v96/web_audio.rb +66 -0
  46. data/lib/selenium/devtools/v96/web_authn.rb +96 -0
  47. data/lib/selenium/devtools/v96.rb +1 -0
  48. data/lib/selenium/devtools/version.rb +1 -1
  49. metadata +48 -2
@@ -0,0 +1,197 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Licensed to the Software Freedom Conservancy (SFC) under one
4
+ # or more contributor license agreements. See the NOTICE file
5
+ # distributed with this work for additional information
6
+ # regarding copyright ownership. The SFC licenses this file
7
+ # to you under the Apache License, Version 2.0 (the
8
+ # "License"); you may not use this file except in compliance
9
+ # with the License. You may obtain a copy of the License at
10
+ #
11
+ # http://www.apache.org/licenses/LICENSE-2.0
12
+ #
13
+ # Unless required by applicable law or agreed to in writing,
14
+ # software distributed under the License is distributed on an
15
+ # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16
+ # KIND, either express or implied. See the License for the
17
+ # specific language governing permissions and limitations
18
+ # under the License.
19
+
20
+ # This file is automatically generated. Any changes will be lost!
21
+ module Selenium
22
+ module DevTools
23
+ module V96
24
+ class Emulation
25
+ EVENTS = {
26
+ virtual_time_budget_expired: 'virtualTimeBudgetExpired',
27
+ }.freeze
28
+
29
+ def initialize(devtools)
30
+ @devtools = devtools
31
+ end
32
+
33
+ def on(event, &block)
34
+ event = EVENTS[event] if event.is_a?(Symbol)
35
+ @devtools.callbacks["Emulation.#{event}"] << block
36
+ end
37
+
38
+ def can_emulate
39
+ @devtools.send_cmd('Emulation.canEmulate')
40
+ end
41
+
42
+ def clear_device_metrics_override
43
+ @devtools.send_cmd('Emulation.clearDeviceMetricsOverride')
44
+ end
45
+
46
+ def clear_geolocation_override
47
+ @devtools.send_cmd('Emulation.clearGeolocationOverride')
48
+ end
49
+
50
+ def reset_page_scale_factor
51
+ @devtools.send_cmd('Emulation.resetPageScaleFactor')
52
+ end
53
+
54
+ def set_focus_emulation_enabled(enabled:)
55
+ @devtools.send_cmd('Emulation.setFocusEmulationEnabled',
56
+ enabled: enabled)
57
+ end
58
+
59
+ def set_auto_dark_mode_override(enabled: nil)
60
+ @devtools.send_cmd('Emulation.setAutoDarkModeOverride',
61
+ enabled: enabled)
62
+ end
63
+
64
+ def set_cpu_throttling_rate(rate:)
65
+ @devtools.send_cmd('Emulation.setCPUThrottlingRate',
66
+ rate: rate)
67
+ end
68
+
69
+ def set_default_background_color_override(color: nil)
70
+ @devtools.send_cmd('Emulation.setDefaultBackgroundColorOverride',
71
+ color: color)
72
+ end
73
+
74
+ def set_device_metrics_override(width:, height:, device_scale_factor:, mobile:, scale: nil, screen_width: nil, screen_height: nil, position_x: nil, position_y: nil, dont_set_visible_size: nil, screen_orientation: nil, viewport: nil, display_feature: nil)
75
+ @devtools.send_cmd('Emulation.setDeviceMetricsOverride',
76
+ width: width,
77
+ height: height,
78
+ deviceScaleFactor: device_scale_factor,
79
+ mobile: mobile,
80
+ scale: scale,
81
+ screenWidth: screen_width,
82
+ screenHeight: screen_height,
83
+ positionX: position_x,
84
+ positionY: position_y,
85
+ dontSetVisibleSize: dont_set_visible_size,
86
+ screenOrientation: screen_orientation,
87
+ viewport: viewport,
88
+ displayFeature: display_feature)
89
+ end
90
+
91
+ def set_scrollbars_hidden(hidden:)
92
+ @devtools.send_cmd('Emulation.setScrollbarsHidden',
93
+ hidden: hidden)
94
+ end
95
+
96
+ def set_document_cookie_disabled(disabled:)
97
+ @devtools.send_cmd('Emulation.setDocumentCookieDisabled',
98
+ disabled: disabled)
99
+ end
100
+
101
+ def set_emit_touch_events_for_mouse(enabled:, configuration: nil)
102
+ @devtools.send_cmd('Emulation.setEmitTouchEventsForMouse',
103
+ enabled: enabled,
104
+ configuration: configuration)
105
+ end
106
+
107
+ def set_emulated_media(media: nil, features: nil)
108
+ @devtools.send_cmd('Emulation.setEmulatedMedia',
109
+ media: media,
110
+ features: features)
111
+ end
112
+
113
+ def set_emulated_vision_deficiency(type:)
114
+ @devtools.send_cmd('Emulation.setEmulatedVisionDeficiency',
115
+ type: type)
116
+ end
117
+
118
+ def set_geolocation_override(latitude: nil, longitude: nil, accuracy: nil)
119
+ @devtools.send_cmd('Emulation.setGeolocationOverride',
120
+ latitude: latitude,
121
+ longitude: longitude,
122
+ accuracy: accuracy)
123
+ end
124
+
125
+ def set_idle_override(is_user_active:, is_screen_unlocked:)
126
+ @devtools.send_cmd('Emulation.setIdleOverride',
127
+ isUserActive: is_user_active,
128
+ isScreenUnlocked: is_screen_unlocked)
129
+ end
130
+
131
+ def clear_idle_override
132
+ @devtools.send_cmd('Emulation.clearIdleOverride')
133
+ end
134
+
135
+ def set_navigator_overrides(platform:)
136
+ @devtools.send_cmd('Emulation.setNavigatorOverrides',
137
+ platform: platform)
138
+ end
139
+
140
+ def set_page_scale_factor(page_scale_factor:)
141
+ @devtools.send_cmd('Emulation.setPageScaleFactor',
142
+ pageScaleFactor: page_scale_factor)
143
+ end
144
+
145
+ def set_script_execution_disabled(value:)
146
+ @devtools.send_cmd('Emulation.setScriptExecutionDisabled',
147
+ value: value)
148
+ end
149
+
150
+ def set_touch_emulation_enabled(enabled:, max_touch_points: nil)
151
+ @devtools.send_cmd('Emulation.setTouchEmulationEnabled',
152
+ enabled: enabled,
153
+ maxTouchPoints: max_touch_points)
154
+ end
155
+
156
+ def set_virtual_time_policy(policy:, budget: nil, max_virtual_time_task_starvation_count: nil, wait_for_navigation: nil, initial_virtual_time: nil)
157
+ @devtools.send_cmd('Emulation.setVirtualTimePolicy',
158
+ policy: policy,
159
+ budget: budget,
160
+ maxVirtualTimeTaskStarvationCount: max_virtual_time_task_starvation_count,
161
+ waitForNavigation: wait_for_navigation,
162
+ initialVirtualTime: initial_virtual_time)
163
+ end
164
+
165
+ def set_locale_override(locale: nil)
166
+ @devtools.send_cmd('Emulation.setLocaleOverride',
167
+ locale: locale)
168
+ end
169
+
170
+ def set_timezone_override(timezone_id:)
171
+ @devtools.send_cmd('Emulation.setTimezoneOverride',
172
+ timezoneId: timezone_id)
173
+ end
174
+
175
+ def set_visible_size(width:, height:)
176
+ @devtools.send_cmd('Emulation.setVisibleSize',
177
+ width: width,
178
+ height: height)
179
+ end
180
+
181
+ def set_disabled_image_types(image_types:)
182
+ @devtools.send_cmd('Emulation.setDisabledImageTypes',
183
+ imageTypes: image_types)
184
+ end
185
+
186
+ def set_user_agent_override(user_agent:, accept_language: nil, platform: nil, user_agent_metadata: nil)
187
+ @devtools.send_cmd('Emulation.setUserAgentOverride',
188
+ userAgent: user_agent,
189
+ acceptLanguage: accept_language,
190
+ platform: platform,
191
+ userAgentMetadata: user_agent_metadata)
192
+ end
193
+
194
+ end # Emulation
195
+ end # V96
196
+ end # DevTools
197
+ end # Selenium
@@ -0,0 +1,103 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Licensed to the Software Freedom Conservancy (SFC) under one
4
+ # or more contributor license agreements. See the NOTICE file
5
+ # distributed with this work for additional information
6
+ # regarding copyright ownership. The SFC licenses this file
7
+ # to you under the Apache License, Version 2.0 (the
8
+ # "License"); you may not use this file except in compliance
9
+ # with the License. You may obtain a copy of the License at
10
+ #
11
+ # http://www.apache.org/licenses/LICENSE-2.0
12
+ #
13
+ # Unless required by applicable law or agreed to in writing,
14
+ # software distributed under the License is distributed on an
15
+ # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16
+ # KIND, either express or implied. See the License for the
17
+ # specific language governing permissions and limitations
18
+ # under the License.
19
+
20
+ # This file is automatically generated. Any changes will be lost!
21
+ module Selenium
22
+ module DevTools
23
+ module V96
24
+ class Fetch
25
+ EVENTS = {
26
+ request_paused: 'requestPaused',
27
+ auth_required: 'authRequired',
28
+ }.freeze
29
+
30
+ def initialize(devtools)
31
+ @devtools = devtools
32
+ end
33
+
34
+ def on(event, &block)
35
+ event = EVENTS[event] if event.is_a?(Symbol)
36
+ @devtools.callbacks["Fetch.#{event}"] << block
37
+ end
38
+
39
+ def disable
40
+ @devtools.send_cmd('Fetch.disable')
41
+ end
42
+
43
+ def enable(patterns: nil, handle_auth_requests: nil)
44
+ @devtools.send_cmd('Fetch.enable',
45
+ patterns: patterns,
46
+ handleAuthRequests: handle_auth_requests)
47
+ end
48
+
49
+ def fail_request(request_id:, error_reason:)
50
+ @devtools.send_cmd('Fetch.failRequest',
51
+ requestId: request_id,
52
+ errorReason: error_reason)
53
+ end
54
+
55
+ def fulfill_request(request_id:, response_code:, response_headers: nil, binary_response_headers: nil, body: nil, response_phrase: nil)
56
+ @devtools.send_cmd('Fetch.fulfillRequest',
57
+ requestId: request_id,
58
+ responseCode: response_code,
59
+ responseHeaders: response_headers,
60
+ binaryResponseHeaders: binary_response_headers,
61
+ body: body,
62
+ responsePhrase: response_phrase)
63
+ end
64
+
65
+ def continue_request(request_id:, url: nil, method: nil, post_data: nil, headers: nil, intercept_response: nil)
66
+ @devtools.send_cmd('Fetch.continueRequest',
67
+ requestId: request_id,
68
+ url: url,
69
+ method: method,
70
+ postData: post_data,
71
+ headers: headers,
72
+ interceptResponse: intercept_response)
73
+ end
74
+
75
+ def continue_with_auth(request_id:, auth_challenge_response:)
76
+ @devtools.send_cmd('Fetch.continueWithAuth',
77
+ requestId: request_id,
78
+ authChallengeResponse: auth_challenge_response)
79
+ end
80
+
81
+ def continue_response(request_id:, response_code: nil, response_phrase: nil, response_headers: nil, binary_response_headers: nil)
82
+ @devtools.send_cmd('Fetch.continueResponse',
83
+ requestId: request_id,
84
+ responseCode: response_code,
85
+ responsePhrase: response_phrase,
86
+ responseHeaders: response_headers,
87
+ binaryResponseHeaders: binary_response_headers)
88
+ end
89
+
90
+ def get_response_body(request_id:)
91
+ @devtools.send_cmd('Fetch.getResponseBody',
92
+ requestId: request_id)
93
+ end
94
+
95
+ def take_response_body_as_stream(request_id:)
96
+ @devtools.send_cmd('Fetch.takeResponseBodyAsStream',
97
+ requestId: request_id)
98
+ end
99
+
100
+ end # Fetch
101
+ end # V96
102
+ end # DevTools
103
+ end # Selenium
@@ -0,0 +1,57 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Licensed to the Software Freedom Conservancy (SFC) under one
4
+ # or more contributor license agreements. See the NOTICE file
5
+ # distributed with this work for additional information
6
+ # regarding copyright ownership. The SFC licenses this file
7
+ # to you under the Apache License, Version 2.0 (the
8
+ # "License"); you may not use this file except in compliance
9
+ # with the License. You may obtain a copy of the License at
10
+ #
11
+ # http://www.apache.org/licenses/LICENSE-2.0
12
+ #
13
+ # Unless required by applicable law or agreed to in writing,
14
+ # software distributed under the License is distributed on an
15
+ # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16
+ # KIND, either express or implied. See the License for the
17
+ # specific language governing permissions and limitations
18
+ # under the License.
19
+
20
+ # This file is automatically generated. Any changes will be lost!
21
+ module Selenium
22
+ module DevTools
23
+ module V96
24
+ class HeadlessExperimental
25
+ EVENTS = {
26
+ needs_begin_frames_changed: 'needsBeginFramesChanged',
27
+ }.freeze
28
+
29
+ def initialize(devtools)
30
+ @devtools = devtools
31
+ end
32
+
33
+ def on(event, &block)
34
+ event = EVENTS[event] if event.is_a?(Symbol)
35
+ @devtools.callbacks["HeadlessExperimental.#{event}"] << block
36
+ end
37
+
38
+ def begin_frame(frame_time_ticks: nil, interval: nil, no_display_updates: nil, screenshot: nil)
39
+ @devtools.send_cmd('HeadlessExperimental.beginFrame',
40
+ frameTimeTicks: frame_time_ticks,
41
+ interval: interval,
42
+ noDisplayUpdates: no_display_updates,
43
+ screenshot: screenshot)
44
+ end
45
+
46
+ def disable
47
+ @devtools.send_cmd('HeadlessExperimental.disable')
48
+ end
49
+
50
+ def enable
51
+ @devtools.send_cmd('HeadlessExperimental.enable')
52
+ end
53
+
54
+ end # HeadlessExperimental
55
+ end # V96
56
+ end # DevTools
57
+ end # Selenium
@@ -0,0 +1,105 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Licensed to the Software Freedom Conservancy (SFC) under one
4
+ # or more contributor license agreements. See the NOTICE file
5
+ # distributed with this work for additional information
6
+ # regarding copyright ownership. The SFC licenses this file
7
+ # to you under the Apache License, Version 2.0 (the
8
+ # "License"); you may not use this file except in compliance
9
+ # with the License. You may obtain a copy of the License at
10
+ #
11
+ # http://www.apache.org/licenses/LICENSE-2.0
12
+ #
13
+ # Unless required by applicable law or agreed to in writing,
14
+ # software distributed under the License is distributed on an
15
+ # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16
+ # KIND, either express or implied. See the License for the
17
+ # specific language governing permissions and limitations
18
+ # under the License.
19
+
20
+ # This file is automatically generated. Any changes will be lost!
21
+ module Selenium
22
+ module DevTools
23
+ module V96
24
+ class HeapProfiler
25
+ EVENTS = {
26
+ add_heap_snapshot_chunk: 'addHeapSnapshotChunk',
27
+ heap_stats_update: 'heapStatsUpdate',
28
+ last_seen_object_id: 'lastSeenObjectId',
29
+ report_heap_snapshot_progress: 'reportHeapSnapshotProgress',
30
+ reset_profiles: 'resetProfiles',
31
+ }.freeze
32
+
33
+ def initialize(devtools)
34
+ @devtools = devtools
35
+ end
36
+
37
+ def on(event, &block)
38
+ event = EVENTS[event] if event.is_a?(Symbol)
39
+ @devtools.callbacks["HeapProfiler.#{event}"] << block
40
+ end
41
+
42
+ def add_inspected_heap_object(heap_object_id:)
43
+ @devtools.send_cmd('HeapProfiler.addInspectedHeapObject',
44
+ heapObjectId: heap_object_id)
45
+ end
46
+
47
+ def collect_garbage
48
+ @devtools.send_cmd('HeapProfiler.collectGarbage')
49
+ end
50
+
51
+ def disable
52
+ @devtools.send_cmd('HeapProfiler.disable')
53
+ end
54
+
55
+ def enable
56
+ @devtools.send_cmd('HeapProfiler.enable')
57
+ end
58
+
59
+ def get_heap_object_id(object_id:)
60
+ @devtools.send_cmd('HeapProfiler.getHeapObjectId',
61
+ objectId: object_id)
62
+ end
63
+
64
+ def get_object_by_heap_object_id(object_id:, object_group: nil)
65
+ @devtools.send_cmd('HeapProfiler.getObjectByHeapObjectId',
66
+ objectId: object_id,
67
+ objectGroup: object_group)
68
+ end
69
+
70
+ def get_sampling_profile
71
+ @devtools.send_cmd('HeapProfiler.getSamplingProfile')
72
+ end
73
+
74
+ def start_sampling(sampling_interval: nil)
75
+ @devtools.send_cmd('HeapProfiler.startSampling',
76
+ samplingInterval: sampling_interval)
77
+ end
78
+
79
+ def start_tracking_heap_objects(track_allocations: nil)
80
+ @devtools.send_cmd('HeapProfiler.startTrackingHeapObjects',
81
+ trackAllocations: track_allocations)
82
+ end
83
+
84
+ def stop_sampling
85
+ @devtools.send_cmd('HeapProfiler.stopSampling')
86
+ end
87
+
88
+ def stop_tracking_heap_objects(report_progress: nil, treat_global_objects_as_roots: nil, capture_numeric_value: nil)
89
+ @devtools.send_cmd('HeapProfiler.stopTrackingHeapObjects',
90
+ reportProgress: report_progress,
91
+ treatGlobalObjectsAsRoots: treat_global_objects_as_roots,
92
+ captureNumericValue: capture_numeric_value)
93
+ end
94
+
95
+ def take_heap_snapshot(report_progress: nil, treat_global_objects_as_roots: nil, capture_numeric_value: nil)
96
+ @devtools.send_cmd('HeapProfiler.takeHeapSnapshot',
97
+ reportProgress: report_progress,
98
+ treatGlobalObjectsAsRoots: treat_global_objects_as_roots,
99
+ captureNumericValue: capture_numeric_value)
100
+ end
101
+
102
+ end # HeapProfiler
103
+ end # V96
104
+ end # DevTools
105
+ end # Selenium
@@ -0,0 +1,96 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Licensed to the Software Freedom Conservancy (SFC) under one
4
+ # or more contributor license agreements. See the NOTICE file
5
+ # distributed with this work for additional information
6
+ # regarding copyright ownership. The SFC licenses this file
7
+ # to you under the Apache License, Version 2.0 (the
8
+ # "License"); you may not use this file except in compliance
9
+ # with the License. You may obtain a copy of the License at
10
+ #
11
+ # http://www.apache.org/licenses/LICENSE-2.0
12
+ #
13
+ # Unless required by applicable law or agreed to in writing,
14
+ # software distributed under the License is distributed on an
15
+ # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16
+ # KIND, either express or implied. See the License for the
17
+ # specific language governing permissions and limitations
18
+ # under the License.
19
+
20
+ # This file is automatically generated. Any changes will be lost!
21
+ module Selenium
22
+ module DevTools
23
+ module V96
24
+ class IndexedDB
25
+
26
+ def initialize(devtools)
27
+ @devtools = devtools
28
+ end
29
+
30
+ def on(event, &block)
31
+ event = EVENTS[event] if event.is_a?(Symbol)
32
+ @devtools.callbacks["IndexedDB.#{event}"] << block
33
+ end
34
+
35
+ def clear_object_store(security_origin:, database_name:, object_store_name:)
36
+ @devtools.send_cmd('IndexedDB.clearObjectStore',
37
+ securityOrigin: security_origin,
38
+ databaseName: database_name,
39
+ objectStoreName: object_store_name)
40
+ end
41
+
42
+ def delete_database(security_origin:, database_name:)
43
+ @devtools.send_cmd('IndexedDB.deleteDatabase',
44
+ securityOrigin: security_origin,
45
+ databaseName: database_name)
46
+ end
47
+
48
+ def delete_object_store_entries(security_origin:, database_name:, object_store_name:, key_range:)
49
+ @devtools.send_cmd('IndexedDB.deleteObjectStoreEntries',
50
+ securityOrigin: security_origin,
51
+ databaseName: database_name,
52
+ objectStoreName: object_store_name,
53
+ keyRange: key_range)
54
+ end
55
+
56
+ def disable
57
+ @devtools.send_cmd('IndexedDB.disable')
58
+ end
59
+
60
+ def enable
61
+ @devtools.send_cmd('IndexedDB.enable')
62
+ end
63
+
64
+ def request_data(security_origin:, database_name:, object_store_name:, index_name:, skip_count:, page_size:, key_range: nil)
65
+ @devtools.send_cmd('IndexedDB.requestData',
66
+ securityOrigin: security_origin,
67
+ databaseName: database_name,
68
+ objectStoreName: object_store_name,
69
+ indexName: index_name,
70
+ skipCount: skip_count,
71
+ pageSize: page_size,
72
+ keyRange: key_range)
73
+ end
74
+
75
+ def get_metadata(security_origin:, database_name:, object_store_name:)
76
+ @devtools.send_cmd('IndexedDB.getMetadata',
77
+ securityOrigin: security_origin,
78
+ databaseName: database_name,
79
+ objectStoreName: object_store_name)
80
+ end
81
+
82
+ def request_database(security_origin:, database_name:)
83
+ @devtools.send_cmd('IndexedDB.requestDatabase',
84
+ securityOrigin: security_origin,
85
+ databaseName: database_name)
86
+ end
87
+
88
+ def request_database_names(security_origin:)
89
+ @devtools.send_cmd('IndexedDB.requestDatabaseNames',
90
+ securityOrigin: security_origin)
91
+ end
92
+
93
+ end # IndexedDB
94
+ end # V96
95
+ end # DevTools
96
+ end # Selenium