selenium-webdriver 4.0.0.alpha6 → 4.0.0.beta4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (133) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGES +137 -4
  3. data/Gemfile +3 -1
  4. data/LICENSE +1 -1
  5. data/NOTICE +2 -0
  6. data/README.md +4 -5
  7. data/lib/selenium/server.rb +18 -26
  8. data/lib/selenium/webdriver.rb +1 -4
  9. data/lib/selenium/webdriver/atoms/findElements.js +93 -93
  10. data/lib/selenium/webdriver/atoms/getAttribute.js +75 -59
  11. data/lib/selenium/webdriver/atoms/isDisplayed.js +72 -72
  12. data/lib/selenium/webdriver/atoms/mutationListener.js +55 -0
  13. data/lib/selenium/webdriver/chrome.rb +1 -1
  14. data/lib/selenium/webdriver/chrome/driver.rb +25 -10
  15. data/lib/selenium/webdriver/chrome/{bridge.rb → features.rb} +3 -3
  16. data/lib/selenium/webdriver/chrome/options.rb +51 -39
  17. data/lib/selenium/webdriver/chrome/profile.rb +6 -3
  18. data/lib/selenium/webdriver/chrome/service.rb +4 -2
  19. data/lib/selenium/webdriver/common.rb +8 -2
  20. data/lib/selenium/webdriver/common/driver.rb +36 -8
  21. data/lib/selenium/webdriver/common/driver_extensions/full_page_screenshot.rb +43 -0
  22. data/lib/selenium/webdriver/common/driver_extensions/has_authentication.rb +89 -0
  23. data/lib/selenium/webdriver/{edge_html/driver.rb → common/driver_extensions/has_cdp.rb} +12 -13
  24. data/lib/selenium/webdriver/common/driver_extensions/has_devtools.rb +6 -1
  25. data/lib/selenium/webdriver/common/driver_extensions/has_location.rb +5 -8
  26. data/lib/selenium/webdriver/common/driver_extensions/has_log_events.rb +149 -0
  27. data/lib/selenium/webdriver/common/driver_extensions/has_logs.rb +30 -0
  28. data/lib/selenium/webdriver/common/driver_extensions/has_network_connection.rb +6 -27
  29. data/lib/selenium/webdriver/common/driver_extensions/has_network_interception.rb +67 -0
  30. data/lib/selenium/webdriver/common/driver_extensions/has_remote_status.rb +1 -0
  31. data/lib/selenium/webdriver/common/driver_extensions/{rotatable.rb → prints_page.rb} +18 -20
  32. data/lib/selenium/webdriver/common/element.rb +66 -12
  33. data/lib/selenium/webdriver/common/interactions/interaction.rb +4 -1
  34. data/lib/selenium/webdriver/common/logger.rb +5 -2
  35. data/lib/selenium/webdriver/common/manager.rb +6 -1
  36. data/lib/selenium/webdriver/common/options.rb +76 -14
  37. data/lib/selenium/webdriver/common/platform.rb +3 -1
  38. data/lib/selenium/webdriver/common/proxy.rb +6 -3
  39. data/lib/selenium/webdriver/common/search_context.rb +4 -1
  40. data/lib/selenium/webdriver/common/service.rb +1 -8
  41. data/lib/selenium/webdriver/common/service_manager.rb +1 -1
  42. data/lib/selenium/webdriver/common/socket_poller.rb +19 -30
  43. data/lib/selenium/webdriver/common/takes_screenshot.rb +66 -0
  44. data/lib/selenium/webdriver/common/target_locator.rb +4 -4
  45. data/lib/selenium/webdriver/devtools.rb +44 -18
  46. data/lib/selenium/webdriver/devtools/console_event.rb +38 -0
  47. data/lib/selenium/webdriver/devtools/exception_event.rb +36 -0
  48. data/lib/selenium/webdriver/devtools/mutation_event.rb +37 -0
  49. data/lib/selenium/webdriver/devtools/{console.rb → request.rb} +22 -22
  50. data/lib/selenium/webdriver/edge.rb +7 -29
  51. data/lib/selenium/webdriver/{edge_chrome → edge}/driver.rb +8 -6
  52. data/lib/selenium/webdriver/{edge_chrome/bridge.rb → edge/features.rb} +9 -7
  53. data/lib/selenium/webdriver/{edge_chrome → edge}/options.rb +11 -4
  54. data/lib/selenium/webdriver/{edge_chrome → edge}/profile.rb +2 -2
  55. data/lib/selenium/webdriver/{edge_chrome → edge}/service.rb +2 -2
  56. data/lib/selenium/webdriver/firefox.rb +5 -1
  57. data/lib/selenium/webdriver/firefox/driver.rb +18 -5
  58. data/lib/selenium/webdriver/firefox/{bridge.rb → features.rb} +9 -4
  59. data/lib/selenium/webdriver/firefox/options.rb +20 -21
  60. data/lib/selenium/webdriver/firefox/profile.rb +12 -2
  61. data/lib/selenium/webdriver/firefox/service.rb +1 -1
  62. data/lib/selenium/webdriver/ie/driver.rb +1 -2
  63. data/lib/selenium/webdriver/ie/options.rb +1 -11
  64. data/lib/selenium/webdriver/ie/service.rb +4 -2
  65. data/lib/selenium/webdriver/remote/bridge.rb +48 -30
  66. data/lib/selenium/webdriver/remote/capabilities.rb +105 -64
  67. data/lib/selenium/webdriver/remote/commands.rb +3 -0
  68. data/lib/selenium/webdriver/remote/driver.rb +10 -3
  69. data/lib/selenium/webdriver/remote/http/common.rb +0 -5
  70. data/lib/selenium/webdriver/remote/http/default.rb +8 -7
  71. data/lib/selenium/webdriver/remote/http/persistent.rb +6 -0
  72. data/lib/selenium/webdriver/safari.rb +8 -1
  73. data/lib/selenium/webdriver/safari/driver.rb +3 -8
  74. data/lib/selenium/webdriver/safari/{bridge.rb → features.rb} +3 -3
  75. data/lib/selenium/webdriver/safari/options.rb +0 -25
  76. data/lib/selenium/webdriver/support/block_event_listener.rb +1 -1
  77. data/lib/selenium/webdriver/support/cdp/domain.rb.erb +63 -0
  78. data/lib/selenium/webdriver/support/cdp_client_generator.rb +44 -13
  79. data/lib/selenium/webdriver/support/event_firing_bridge.rb +1 -1
  80. data/lib/selenium/webdriver/support/guards.rb +95 -0
  81. data/lib/selenium/webdriver/support/guards/guard.rb +89 -0
  82. data/lib/selenium/webdriver/support/guards/guard_condition.rb +52 -0
  83. data/lib/selenium/webdriver/support/select.rb +2 -2
  84. data/lib/selenium/webdriver/version.rb +1 -1
  85. data/selenium-webdriver.gemspec +26 -12
  86. metadata +91 -108
  87. data/lib/selenium/webdriver/common/driver_extensions/takes_screenshot.rb +0 -65
  88. data/lib/selenium/webdriver/devtools/accessibility.rb +0 -62
  89. data/lib/selenium/webdriver/devtools/animation.rb +0 -98
  90. data/lib/selenium/webdriver/devtools/application_cache.rb +0 -64
  91. data/lib/selenium/webdriver/devtools/audits.rb +0 -61
  92. data/lib/selenium/webdriver/devtools/background_service.rb +0 -67
  93. data/lib/selenium/webdriver/devtools/browser.rb +0 -123
  94. data/lib/selenium/webdriver/devtools/cache_storage.rb +0 -73
  95. data/lib/selenium/webdriver/devtools/cast.rb +0 -70
  96. data/lib/selenium/webdriver/devtools/css.rb +0 -165
  97. data/lib/selenium/webdriver/devtools/database.rb +0 -64
  98. data/lib/selenium/webdriver/devtools/debugger.rb +0 -229
  99. data/lib/selenium/webdriver/devtools/device_orientation.rb +0 -53
  100. data/lib/selenium/webdriver/devtools/dom.rb +0 -320
  101. data/lib/selenium/webdriver/devtools/domdebugger.rb +0 -93
  102. data/lib/selenium/webdriver/devtools/domsnapshot.rb +0 -65
  103. data/lib/selenium/webdriver/devtools/domstorage.rb +0 -79
  104. data/lib/selenium/webdriver/devtools/emulation.rb +0 -180
  105. data/lib/selenium/webdriver/devtools/fetch.rb +0 -97
  106. data/lib/selenium/webdriver/devtools/headless_experimental.rb +0 -61
  107. data/lib/selenium/webdriver/devtools/heap_profiler.rb +0 -107
  108. data/lib/selenium/webdriver/devtools/indexed_db.rb +0 -100
  109. data/lib/selenium/webdriver/devtools/input.rb +0 -140
  110. data/lib/selenium/webdriver/devtools/inspector.rb +0 -55
  111. data/lib/selenium/webdriver/devtools/io.rb +0 -59
  112. data/lib/selenium/webdriver/devtools/layer_tree.rb +0 -95
  113. data/lib/selenium/webdriver/devtools/log.rb +0 -66
  114. data/lib/selenium/webdriver/devtools/media.rb +0 -57
  115. data/lib/selenium/webdriver/devtools/memory.rb +0 -86
  116. data/lib/selenium/webdriver/devtools/network.rb +0 -228
  117. data/lib/selenium/webdriver/devtools/overlay.rb +0 -157
  118. data/lib/selenium/webdriver/devtools/page.rb +0 -374
  119. data/lib/selenium/webdriver/devtools/performance.rb +0 -63
  120. data/lib/selenium/webdriver/devtools/profiler.rb +0 -111
  121. data/lib/selenium/webdriver/devtools/runtime.rb +0 -193
  122. data/lib/selenium/webdriver/devtools/schema.rb +0 -46
  123. data/lib/selenium/webdriver/devtools/security.rb +0 -71
  124. data/lib/selenium/webdriver/devtools/service_worker.rb +0 -116
  125. data/lib/selenium/webdriver/devtools/storage.rb +0 -95
  126. data/lib/selenium/webdriver/devtools/system_info.rb +0 -50
  127. data/lib/selenium/webdriver/devtools/target.rb +0 -141
  128. data/lib/selenium/webdriver/devtools/tethering.rb +0 -55
  129. data/lib/selenium/webdriver/devtools/tracing.rb +0 -76
  130. data/lib/selenium/webdriver/devtools/web_audio.rb +0 -70
  131. data/lib/selenium/webdriver/devtools/web_authn.rb +0 -94
  132. data/lib/selenium/webdriver/edge_html/options.rb +0 -84
  133. data/lib/selenium/webdriver/edge_html/service.rb +0 -47
@@ -1,65 +0,0 @@
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 WebDriver
23
- class DevTools
24
- def domsnapshot
25
- @domsnapshot ||= DOMSnapshot.new(self)
26
- end
27
-
28
- class DOMSnapshot
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["DOMSnapshot.#{event}"] << block
37
- end
38
-
39
- def disable
40
- @devtools.send_cmd('DOMSnapshot.disable')
41
- end
42
-
43
- def enable
44
- @devtools.send_cmd('DOMSnapshot.enable')
45
- end
46
-
47
- def get_snapshot(computed_style_whitelist:, include_event_listeners: nil, include_paint_order: nil, include_user_agent_shadow_tree: nil)
48
- @devtools.send_cmd('DOMSnapshot.getSnapshot',
49
- computedStyleWhitelist: computed_style_whitelist,
50
- includeEventListeners: include_event_listeners,
51
- includePaintOrder: include_paint_order,
52
- includeUserAgentShadowTree: include_user_agent_shadow_tree)
53
- end
54
-
55
- def capture_snapshot(computed_styles:, include_paint_order: nil, include_domrects: nil)
56
- @devtools.send_cmd('DOMSnapshot.captureSnapshot',
57
- computedStyles: computed_styles,
58
- includePaintOrder: include_paint_order,
59
- includeDOMRects: include_domrects)
60
- end
61
-
62
- end # DOMSnapshot
63
- end # DevTools
64
- end # WebDriver
65
- end # Selenium
@@ -1,79 +0,0 @@
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 WebDriver
23
- class DevTools
24
- def domstorage
25
- @domstorage ||= DOMStorage.new(self)
26
- end
27
-
28
- class DOMStorage
29
- EVENTS = {
30
- dom_storage_item_added: 'domStorageItemAdded',
31
- dom_storage_item_removed: 'domStorageItemRemoved',
32
- dom_storage_item_updated: 'domStorageItemUpdated',
33
- dom_storage_items_cleared: 'domStorageItemsCleared',
34
- }
35
-
36
- def initialize(devtools)
37
- @devtools = devtools
38
- end
39
-
40
- def on(event, &block)
41
- event = EVENTS[event] if event.is_a?(Symbol)
42
- @devtools.callbacks["DOMStorage.#{event}"] << block
43
- end
44
-
45
- def clear(storage_id:)
46
- @devtools.send_cmd('DOMStorage.clear',
47
- storageId: storage_id)
48
- end
49
-
50
- def disable
51
- @devtools.send_cmd('DOMStorage.disable')
52
- end
53
-
54
- def enable
55
- @devtools.send_cmd('DOMStorage.enable')
56
- end
57
-
58
- def get_domstorage_items(storage_id:)
59
- @devtools.send_cmd('DOMStorage.getDOMStorageItems',
60
- storageId: storage_id)
61
- end
62
-
63
- def remove_domstorage_item(storage_id:, key:)
64
- @devtools.send_cmd('DOMStorage.removeDOMStorageItem',
65
- storageId: storage_id,
66
- key: key)
67
- end
68
-
69
- def set_domstorage_item(storage_id:, key:, value:)
70
- @devtools.send_cmd('DOMStorage.setDOMStorageItem',
71
- storageId: storage_id,
72
- key: key,
73
- value: value)
74
- end
75
-
76
- end # DOMStorage
77
- end # DevTools
78
- end # WebDriver
79
- end # Selenium
@@ -1,180 +0,0 @@
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 WebDriver
23
- class DevTools
24
- def emulation
25
- @emulation ||= Emulation.new(self)
26
- end
27
-
28
- class Emulation
29
- EVENTS = {
30
- virtual_time_budget_expired: 'virtualTimeBudgetExpired',
31
- }
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["Emulation.#{event}"] << block
40
- end
41
-
42
- def can_emulate
43
- @devtools.send_cmd('Emulation.canEmulate')
44
- end
45
-
46
- def clear_device_metrics_override
47
- @devtools.send_cmd('Emulation.clearDeviceMetricsOverride')
48
- end
49
-
50
- def clear_geolocation_override
51
- @devtools.send_cmd('Emulation.clearGeolocationOverride')
52
- end
53
-
54
- def reset_page_scale_factor
55
- @devtools.send_cmd('Emulation.resetPageScaleFactor')
56
- end
57
-
58
- def set_focus_emulation_enabled(enabled:)
59
- @devtools.send_cmd('Emulation.setFocusEmulationEnabled',
60
- enabled: enabled)
61
- end
62
-
63
- def set_cputhrottling_rate(rate:)
64
- @devtools.send_cmd('Emulation.setCPUThrottlingRate',
65
- rate: rate)
66
- end
67
-
68
- def set_default_background_color_override(color: nil)
69
- @devtools.send_cmd('Emulation.setDefaultBackgroundColorOverride',
70
- color: color)
71
- end
72
-
73
- 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)
74
- @devtools.send_cmd('Emulation.setDeviceMetricsOverride',
75
- width: width,
76
- height: height,
77
- deviceScaleFactor: device_scale_factor,
78
- mobile: mobile,
79
- scale: scale,
80
- screenWidth: screen_width,
81
- screenHeight: screen_height,
82
- positionX: position_x,
83
- positionY: position_y,
84
- dontSetVisibleSize: dont_set_visible_size,
85
- screenOrientation: screen_orientation,
86
- viewport: viewport)
87
- end
88
-
89
- def set_scrollbars_hidden(hidden:)
90
- @devtools.send_cmd('Emulation.setScrollbarsHidden',
91
- hidden: hidden)
92
- end
93
-
94
- def set_document_cookie_disabled(disabled:)
95
- @devtools.send_cmd('Emulation.setDocumentCookieDisabled',
96
- disabled: disabled)
97
- end
98
-
99
- def set_emit_touch_events_for_mouse(enabled:, configuration: nil)
100
- @devtools.send_cmd('Emulation.setEmitTouchEventsForMouse',
101
- enabled: enabled,
102
- configuration: configuration)
103
- end
104
-
105
- def set_emulated_media(media: nil, features: nil)
106
- @devtools.send_cmd('Emulation.setEmulatedMedia',
107
- media: media,
108
- features: features)
109
- end
110
-
111
- def set_emulated_vision_deficiency(type:)
112
- @devtools.send_cmd('Emulation.setEmulatedVisionDeficiency',
113
- type: type)
114
- end
115
-
116
- def set_geolocation_override(latitude: nil, longitude: nil, accuracy: nil)
117
- @devtools.send_cmd('Emulation.setGeolocationOverride',
118
- latitude: latitude,
119
- longitude: longitude,
120
- accuracy: accuracy)
121
- end
122
-
123
- def set_navigator_overrides(platform:)
124
- @devtools.send_cmd('Emulation.setNavigatorOverrides',
125
- platform: platform)
126
- end
127
-
128
- def set_page_scale_factor(page_scale_factor:)
129
- @devtools.send_cmd('Emulation.setPageScaleFactor',
130
- pageScaleFactor: page_scale_factor)
131
- end
132
-
133
- def set_script_execution_disabled(value:)
134
- @devtools.send_cmd('Emulation.setScriptExecutionDisabled',
135
- value: value)
136
- end
137
-
138
- def set_touch_emulation_enabled(enabled:, max_touch_points: nil)
139
- @devtools.send_cmd('Emulation.setTouchEmulationEnabled',
140
- enabled: enabled,
141
- maxTouchPoints: max_touch_points)
142
- end
143
-
144
- def set_virtual_time_policy(policy:, budget: nil, max_virtual_time_task_starvation_count: nil, wait_for_navigation: nil, initial_virtual_time: nil)
145
- @devtools.send_cmd('Emulation.setVirtualTimePolicy',
146
- policy: policy,
147
- budget: budget,
148
- maxVirtualTimeTaskStarvationCount: max_virtual_time_task_starvation_count,
149
- waitForNavigation: wait_for_navigation,
150
- initialVirtualTime: initial_virtual_time)
151
- end
152
-
153
- def set_locale_override(locale: nil)
154
- @devtools.send_cmd('Emulation.setLocaleOverride',
155
- locale: locale)
156
- end
157
-
158
- def set_timezone_override(timezone_id:)
159
- @devtools.send_cmd('Emulation.setTimezoneOverride',
160
- timezoneId: timezone_id)
161
- end
162
-
163
- def set_visible_size(width:, height:)
164
- @devtools.send_cmd('Emulation.setVisibleSize',
165
- width: width,
166
- height: height)
167
- end
168
-
169
- def set_user_agent_override(user_agent:, accept_language: nil, platform: nil, user_agent_metadata: nil)
170
- @devtools.send_cmd('Emulation.setUserAgentOverride',
171
- userAgent: user_agent,
172
- acceptLanguage: accept_language,
173
- platform: platform,
174
- userAgentMetadata: user_agent_metadata)
175
- end
176
-
177
- end # Emulation
178
- end # DevTools
179
- end # WebDriver
180
- end # Selenium
@@ -1,97 +0,0 @@
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 WebDriver
23
- class DevTools
24
- def fetch
25
- @fetch ||= Fetch.new(self)
26
- end
27
-
28
- class Fetch
29
- EVENTS = {
30
- request_paused: 'requestPaused',
31
- auth_required: 'authRequired',
32
- }
33
-
34
- def initialize(devtools)
35
- @devtools = devtools
36
- end
37
-
38
- def on(event, &block)
39
- event = EVENTS[event] if event.is_a?(Symbol)
40
- @devtools.callbacks["Fetch.#{event}"] << block
41
- end
42
-
43
- def disable
44
- @devtools.send_cmd('Fetch.disable')
45
- end
46
-
47
- def enable(patterns: nil, handle_auth_requests: nil)
48
- @devtools.send_cmd('Fetch.enable',
49
- patterns: patterns,
50
- handleAuthRequests: handle_auth_requests)
51
- end
52
-
53
- def fail_request(request_id:, error_reason:)
54
- @devtools.send_cmd('Fetch.failRequest',
55
- requestId: request_id,
56
- errorReason: error_reason)
57
- end
58
-
59
- def fulfill_request(request_id:, response_code:, response_headers: nil, binary_response_headers: nil, body: nil, response_phrase: nil)
60
- @devtools.send_cmd('Fetch.fulfillRequest',
61
- requestId: request_id,
62
- responseCode: response_code,
63
- responseHeaders: response_headers,
64
- binaryResponseHeaders: binary_response_headers,
65
- body: body,
66
- responsePhrase: response_phrase)
67
- end
68
-
69
- def continue_request(request_id:, url: nil, method: nil, post_data: nil, headers: nil)
70
- @devtools.send_cmd('Fetch.continueRequest',
71
- requestId: request_id,
72
- url: url,
73
- method: method,
74
- postData: post_data,
75
- headers: headers)
76
- end
77
-
78
- def continue_with_auth(request_id:, auth_challenge_response:)
79
- @devtools.send_cmd('Fetch.continueWithAuth',
80
- requestId: request_id,
81
- authChallengeResponse: auth_challenge_response)
82
- end
83
-
84
- def get_response_body(request_id:)
85
- @devtools.send_cmd('Fetch.getResponseBody',
86
- requestId: request_id)
87
- end
88
-
89
- def take_response_body_as_stream(request_id:)
90
- @devtools.send_cmd('Fetch.takeResponseBodyAsStream',
91
- requestId: request_id)
92
- end
93
-
94
- end # Fetch
95
- end # DevTools
96
- end # WebDriver
97
- end # Selenium
@@ -1,61 +0,0 @@
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 WebDriver
23
- class DevTools
24
- def headless_experimental
25
- @headless_experimental ||= HeadlessExperimental.new(self)
26
- end
27
-
28
- class HeadlessExperimental
29
- EVENTS = {
30
- needs_begin_frames_changed: 'needsBeginFramesChanged',
31
- }
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["HeadlessExperimental.#{event}"] << block
40
- end
41
-
42
- def begin_frame(frame_time_ticks: nil, interval: nil, no_display_updates: nil, screenshot: nil)
43
- @devtools.send_cmd('HeadlessExperimental.beginFrame',
44
- frameTimeTicks: frame_time_ticks,
45
- interval: interval,
46
- noDisplayUpdates: no_display_updates,
47
- screenshot: screenshot)
48
- end
49
-
50
- def disable
51
- @devtools.send_cmd('HeadlessExperimental.disable')
52
- end
53
-
54
- def enable
55
- @devtools.send_cmd('HeadlessExperimental.enable')
56
- end
57
-
58
- end # HeadlessExperimental
59
- end # DevTools
60
- end # WebDriver
61
- end # Selenium