playwright-ruby-client 1.15.beta1 → 1.15.beta2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +10 -14
- data/documentation/docs/api/browser.md +2 -0
- data/documentation/docs/api/browser_context.md +5 -1
- data/documentation/docs/api/browser_type.md +1 -0
- data/documentation/docs/api/element_handle.md +27 -1
- data/documentation/docs/api/experimental/android_device.md +1 -0
- data/documentation/docs/api/frame.md +28 -0
- data/documentation/docs/api/locator.md +29 -0
- data/documentation/docs/api/page.md +35 -2
- data/documentation/docs/api/request.md +27 -1
- data/documentation/docs/api/response.md +18 -1
- data/documentation/docs/api/tracing.md +42 -8
- data/documentation/docs/article/getting_started.md +10 -1
- data/documentation/docs/article/guides/download_playwright_driver.md +9 -0
- data/documentation/docs/article/guides/inspector.md +1 -1
- data/documentation/docs/article/guides/playwright_on_alpine_linux.md +56 -3
- data/documentation/docs/article/guides/rails_integration.md +4 -2
- data/documentation/docs/article/guides/rails_integration_with_null_driver.md +86 -0
- data/documentation/docs/article/guides/recording_video.md +1 -1
- data/documentation/docs/article/guides/semi_automation.md +1 -1
- data/documentation/docs/article/guides/use_storage_state.md +1 -1
- data/documentation/docs/include/api_coverage.md +11 -0
- data/documentation/docusaurus.config.js +1 -0
- data/documentation/package.json +2 -2
- data/documentation/src/pages/index.js +0 -1
- data/documentation/static/img/playwright-ruby-client.png +0 -0
- data/documentation/yarn.lock +625 -549
- data/lib/playwright/channel.rb +36 -2
- data/lib/playwright/channel_owners/artifact.rb +6 -2
- data/lib/playwright/channel_owners/browser.rb +4 -0
- data/lib/playwright/channel_owners/browser_context.rb +21 -14
- data/lib/playwright/channel_owners/element_handle.rb +10 -2
- data/lib/playwright/channel_owners/frame.rb +8 -0
- data/lib/playwright/channel_owners/page.rb +20 -4
- data/lib/playwright/channel_owners/request.rb +38 -17
- data/lib/playwright/channel_owners/response.rb +41 -5
- data/lib/playwright/connection.rb +5 -3
- data/lib/playwright/http_headers.rb +9 -4
- data/lib/playwright/locator_impl.rb +8 -0
- data/lib/playwright/{route_handler_entry.rb → route_handler.rb} +30 -2
- data/lib/playwright/tracing_impl.rb +18 -7
- data/lib/playwright/transport.rb +2 -0
- data/lib/playwright/utils.rb +8 -0
- data/lib/playwright/version.rb +1 -1
- data/lib/playwright/web_socket_transport.rb +2 -0
- data/lib/playwright.rb +1 -1
- data/lib/playwright_api/android.rb +6 -6
- data/lib/playwright_api/android_device.rb +10 -9
- data/lib/playwright_api/browser.rb +10 -8
- data/lib/playwright_api/browser_context.rb +12 -8
- data/lib/playwright_api/browser_type.rb +8 -7
- data/lib/playwright_api/cdp_session.rb +6 -6
- data/lib/playwright_api/console_message.rb +6 -6
- data/lib/playwright_api/dialog.rb +6 -6
- data/lib/playwright_api/element_handle.rb +31 -8
- data/lib/playwright_api/frame.rb +31 -6
- data/lib/playwright_api/js_handle.rb +6 -6
- data/lib/playwright_api/locator.rb +26 -0
- data/lib/playwright_api/page.rb +40 -10
- data/lib/playwright_api/playwright.rb +6 -6
- data/lib/playwright_api/request.rb +26 -4
- data/lib/playwright_api/response.rb +20 -4
- data/lib/playwright_api/route.rb +6 -6
- data/lib/playwright_api/selectors.rb +6 -6
- data/lib/playwright_api/tracing.rb +33 -4
- data/lib/playwright_api/web_socket.rb +6 -6
- data/lib/playwright_api/worker.rb +8 -8
- metadata +5 -3
@@ -23,12 +23,6 @@ module Playwright
|
|
23
23
|
wrap_impl(@impl.type)
|
24
24
|
end
|
25
25
|
|
26
|
-
# -- inherited from EventEmitter --
|
27
|
-
# @nodoc
|
28
|
-
def on(event, callback)
|
29
|
-
event_emitter_proxy.on(event, callback)
|
30
|
-
end
|
31
|
-
|
32
26
|
# -- inherited from EventEmitter --
|
33
27
|
# @nodoc
|
34
28
|
def off(event, callback)
|
@@ -41,6 +35,12 @@ module Playwright
|
|
41
35
|
event_emitter_proxy.once(event, callback)
|
42
36
|
end
|
43
37
|
|
38
|
+
# -- inherited from EventEmitter --
|
39
|
+
# @nodoc
|
40
|
+
def on(event, callback)
|
41
|
+
event_emitter_proxy.on(event, callback)
|
42
|
+
end
|
43
|
+
|
44
44
|
private def event_emitter_proxy
|
45
45
|
@event_emitter_proxy ||= EventEmitterProxy.new(self, @impl)
|
46
46
|
end
|
@@ -58,12 +58,6 @@ module Playwright
|
|
58
58
|
wrap_impl(@impl.accept_async(promptText: unwrap_impl(promptText)))
|
59
59
|
end
|
60
60
|
|
61
|
-
# -- inherited from EventEmitter --
|
62
|
-
# @nodoc
|
63
|
-
def on(event, callback)
|
64
|
-
event_emitter_proxy.on(event, callback)
|
65
|
-
end
|
66
|
-
|
67
61
|
# -- inherited from EventEmitter --
|
68
62
|
# @nodoc
|
69
63
|
def off(event, callback)
|
@@ -76,6 +70,12 @@ module Playwright
|
|
76
70
|
event_emitter_proxy.once(event, callback)
|
77
71
|
end
|
78
72
|
|
73
|
+
# -- inherited from EventEmitter --
|
74
|
+
# @nodoc
|
75
|
+
def on(event, callback)
|
76
|
+
event_emitter_proxy.on(event, callback)
|
77
|
+
end
|
78
|
+
|
79
79
|
private def event_emitter_proxy
|
80
80
|
@event_emitter_proxy ||= EventEmitterProxy.new(self, @impl)
|
81
81
|
end
|
@@ -412,6 +412,29 @@ module Playwright
|
|
412
412
|
wrap_impl(@impl.select_text(force: unwrap_impl(force), timeout: unwrap_impl(timeout)))
|
413
413
|
end
|
414
414
|
|
415
|
+
# This method checks or unchecks an element by performing the following steps:
|
416
|
+
# 1. Ensure that element is a checkbox or a radio input. If not, this method throws.
|
417
|
+
# 1. If the element already has the right checked state, this method returns immediately.
|
418
|
+
# 1. Wait for [actionability](./actionability.md) checks on the matched element, unless `force` option is set. If the
|
419
|
+
# element is detached during the checks, the whole action is retried.
|
420
|
+
# 1. Scroll the element into view if needed.
|
421
|
+
# 1. Use [`property: Page.mouse`] to click in the center of the element.
|
422
|
+
# 1. Wait for initiated navigations to either succeed or fail, unless `noWaitAfter` option is set.
|
423
|
+
# 1. Ensure that the element is now checked or unchecked. If not, this method throws.
|
424
|
+
#
|
425
|
+
# When all steps combined have not finished during the specified `timeout`, this method throws a `TimeoutError`. Passing
|
426
|
+
# zero timeout disables this.
|
427
|
+
def set_checked(
|
428
|
+
checked,
|
429
|
+
force: nil,
|
430
|
+
noWaitAfter: nil,
|
431
|
+
position: nil,
|
432
|
+
timeout: nil,
|
433
|
+
trial: nil)
|
434
|
+
wrap_impl(@impl.set_checked(unwrap_impl(checked), force: unwrap_impl(force), noWaitAfter: unwrap_impl(noWaitAfter), position: unwrap_impl(position), timeout: unwrap_impl(timeout), trial: unwrap_impl(trial)))
|
435
|
+
end
|
436
|
+
alias_method :checked=, :set_checked
|
437
|
+
|
415
438
|
# This method expects `elementHandle` to point to an
|
416
439
|
# [input element](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input).
|
417
440
|
#
|
@@ -525,14 +548,8 @@ module Playwright
|
|
525
548
|
# ```
|
526
549
|
#
|
527
550
|
# > NOTE: This method does not work across navigations, use [`method: Page.waitForSelector`] instead.
|
528
|
-
def wait_for_selector(selector, state: nil, timeout: nil)
|
529
|
-
wrap_impl(@impl.wait_for_selector(unwrap_impl(selector), state: unwrap_impl(state), timeout: unwrap_impl(timeout)))
|
530
|
-
end
|
531
|
-
|
532
|
-
# -- inherited from EventEmitter --
|
533
|
-
# @nodoc
|
534
|
-
def on(event, callback)
|
535
|
-
event_emitter_proxy.on(event, callback)
|
551
|
+
def wait_for_selector(selector, state: nil, strict: nil, timeout: nil)
|
552
|
+
wrap_impl(@impl.wait_for_selector(unwrap_impl(selector), state: unwrap_impl(state), strict: unwrap_impl(strict), timeout: unwrap_impl(timeout)))
|
536
553
|
end
|
537
554
|
|
538
555
|
# -- inherited from EventEmitter --
|
@@ -547,6 +564,12 @@ module Playwright
|
|
547
564
|
event_emitter_proxy.once(event, callback)
|
548
565
|
end
|
549
566
|
|
567
|
+
# -- inherited from EventEmitter --
|
568
|
+
# @nodoc
|
569
|
+
def on(event, callback)
|
570
|
+
event_emitter_proxy.on(event, callback)
|
571
|
+
end
|
572
|
+
|
550
573
|
private def event_emitter_proxy
|
551
574
|
@event_emitter_proxy ||= EventEmitterProxy.new(self, @impl)
|
552
575
|
end
|
data/lib/playwright_api/frame.rb
CHANGED
@@ -524,6 +524,31 @@ module Playwright
|
|
524
524
|
wrap_impl(@impl.select_option(unwrap_impl(selector), element: unwrap_impl(element), index: unwrap_impl(index), value: unwrap_impl(value), label: unwrap_impl(label), force: unwrap_impl(force), noWaitAfter: unwrap_impl(noWaitAfter), strict: unwrap_impl(strict), timeout: unwrap_impl(timeout)))
|
525
525
|
end
|
526
526
|
|
527
|
+
# This method checks or unchecks an element matching `selector` by performing the following steps:
|
528
|
+
# 1. Find an element matching `selector`. If there is none, wait until a matching element is attached to the DOM.
|
529
|
+
# 1. Ensure that matched element is a checkbox or a radio input. If not, this method throws.
|
530
|
+
# 1. If the element already has the right checked state, this method returns immediately.
|
531
|
+
# 1. Wait for [actionability](./actionability.md) checks on the matched element, unless `force` option is set. If the
|
532
|
+
# element is detached during the checks, the whole action is retried.
|
533
|
+
# 1. Scroll the element into view if needed.
|
534
|
+
# 1. Use [`property: Page.mouse`] to click in the center of the element.
|
535
|
+
# 1. Wait for initiated navigations to either succeed or fail, unless `noWaitAfter` option is set.
|
536
|
+
# 1. Ensure that the element is now checked or unchecked. If not, this method throws.
|
537
|
+
#
|
538
|
+
# When all steps combined have not finished during the specified `timeout`, this method throws a `TimeoutError`. Passing
|
539
|
+
# zero timeout disables this.
|
540
|
+
def set_checked(
|
541
|
+
selector,
|
542
|
+
checked,
|
543
|
+
force: nil,
|
544
|
+
noWaitAfter: nil,
|
545
|
+
position: nil,
|
546
|
+
strict: nil,
|
547
|
+
timeout: nil,
|
548
|
+
trial: nil)
|
549
|
+
wrap_impl(@impl.set_checked(unwrap_impl(selector), unwrap_impl(checked), force: unwrap_impl(force), noWaitAfter: unwrap_impl(noWaitAfter), position: unwrap_impl(position), strict: unwrap_impl(strict), timeout: unwrap_impl(timeout), trial: unwrap_impl(trial)))
|
550
|
+
end
|
551
|
+
|
527
552
|
def set_content(html, timeout: nil, waitUntil: nil)
|
528
553
|
wrap_impl(@impl.set_content(unwrap_impl(html), timeout: unwrap_impl(timeout), waitUntil: unwrap_impl(waitUntil)))
|
529
554
|
end
|
@@ -738,12 +763,6 @@ module Playwright
|
|
738
763
|
wrap_impl(@impl.detached=(unwrap_impl(req)))
|
739
764
|
end
|
740
765
|
|
741
|
-
# -- inherited from EventEmitter --
|
742
|
-
# @nodoc
|
743
|
-
def on(event, callback)
|
744
|
-
event_emitter_proxy.on(event, callback)
|
745
|
-
end
|
746
|
-
|
747
766
|
# -- inherited from EventEmitter --
|
748
767
|
# @nodoc
|
749
768
|
def off(event, callback)
|
@@ -756,6 +775,12 @@ module Playwright
|
|
756
775
|
event_emitter_proxy.once(event, callback)
|
757
776
|
end
|
758
777
|
|
778
|
+
# -- inherited from EventEmitter --
|
779
|
+
# @nodoc
|
780
|
+
def on(event, callback)
|
781
|
+
event_emitter_proxy.on(event, callback)
|
782
|
+
end
|
783
|
+
|
759
784
|
private def event_emitter_proxy
|
760
785
|
@event_emitter_proxy ||= EventEmitterProxy.new(self, @impl)
|
761
786
|
end
|
@@ -88,12 +88,6 @@ module Playwright
|
|
88
88
|
wrap_impl(@impl.to_s)
|
89
89
|
end
|
90
90
|
|
91
|
-
# -- inherited from EventEmitter --
|
92
|
-
# @nodoc
|
93
|
-
def on(event, callback)
|
94
|
-
event_emitter_proxy.on(event, callback)
|
95
|
-
end
|
96
|
-
|
97
91
|
# -- inherited from EventEmitter --
|
98
92
|
# @nodoc
|
99
93
|
def off(event, callback)
|
@@ -106,6 +100,12 @@ module Playwright
|
|
106
100
|
event_emitter_proxy.once(event, callback)
|
107
101
|
end
|
108
102
|
|
103
|
+
# -- inherited from EventEmitter --
|
104
|
+
# @nodoc
|
105
|
+
def on(event, callback)
|
106
|
+
event_emitter_proxy.on(event, callback)
|
107
|
+
end
|
108
|
+
|
109
109
|
private def event_emitter_proxy
|
110
110
|
@event_emitter_proxy ||= EventEmitterProxy.new(self, @impl)
|
111
111
|
end
|
@@ -40,6 +40,9 @@ module Playwright
|
|
40
40
|
#
|
41
41
|
# # Works because we explicitly tell locator to pick the first element:
|
42
42
|
# page.locator('button').first.click()
|
43
|
+
#
|
44
|
+
# # Works because count knows what to do with multiple matches:
|
45
|
+
# page.locator('button').count()
|
43
46
|
# ```
|
44
47
|
class Locator < PlaywrightApi
|
45
48
|
|
@@ -435,6 +438,29 @@ module Playwright
|
|
435
438
|
wrap_impl(@impl.select_text(force: unwrap_impl(force), timeout: unwrap_impl(timeout)))
|
436
439
|
end
|
437
440
|
|
441
|
+
# This method checks or unchecks an element by performing the following steps:
|
442
|
+
# 1. Ensure that matched element is a checkbox or a radio input. If not, this method throws.
|
443
|
+
# 1. If the element already has the right checked state, this method returns immediately.
|
444
|
+
# 1. Wait for [actionability](./actionability.md) checks on the matched element, unless `force` option is set. If the
|
445
|
+
# element is detached during the checks, the whole action is retried.
|
446
|
+
# 1. Scroll the element into view if needed.
|
447
|
+
# 1. Use [`property: Page.mouse`] to click in the center of the element.
|
448
|
+
# 1. Wait for initiated navigations to either succeed or fail, unless `noWaitAfter` option is set.
|
449
|
+
# 1. Ensure that the element is now checked or unchecked. If not, this method throws.
|
450
|
+
#
|
451
|
+
# When all steps combined have not finished during the specified `timeout`, this method throws a `TimeoutError`. Passing
|
452
|
+
# zero timeout disables this.
|
453
|
+
def set_checked(
|
454
|
+
checked,
|
455
|
+
force: nil,
|
456
|
+
noWaitAfter: nil,
|
457
|
+
position: nil,
|
458
|
+
timeout: nil,
|
459
|
+
trial: nil)
|
460
|
+
wrap_impl(@impl.set_checked(unwrap_impl(checked), force: unwrap_impl(force), noWaitAfter: unwrap_impl(noWaitAfter), position: unwrap_impl(position), timeout: unwrap_impl(timeout), trial: unwrap_impl(trial)))
|
461
|
+
end
|
462
|
+
alias_method :checked=, :set_checked
|
463
|
+
|
438
464
|
# This method expects `element` to point to an
|
439
465
|
# [input element](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input).
|
440
466
|
#
|
data/lib/playwright_api/page.rb
CHANGED
@@ -284,8 +284,8 @@ module Playwright
|
|
284
284
|
# # → False
|
285
285
|
# page.evaluate("matchMedia('(prefers-color-scheme: no-preference)').matches")
|
286
286
|
# ```
|
287
|
-
def emulate_media(colorScheme: nil, media: nil, reducedMotion: nil)
|
288
|
-
wrap_impl(@impl.emulate_media(colorScheme: unwrap_impl(colorScheme), media: unwrap_impl(media), reducedMotion: unwrap_impl(reducedMotion)))
|
287
|
+
def emulate_media(colorScheme: nil, forcedColors: nil, media: nil, reducedMotion: nil)
|
288
|
+
wrap_impl(@impl.emulate_media(colorScheme: unwrap_impl(colorScheme), forcedColors: unwrap_impl(forcedColors), media: unwrap_impl(media), reducedMotion: unwrap_impl(reducedMotion)))
|
289
289
|
end
|
290
290
|
|
291
291
|
# The method finds an element matching the specified selector within the page and passes it as a first argument to
|
@@ -818,6 +818,9 @@ module Playwright
|
|
818
818
|
# Once routing is enabled, every request matching the url pattern will stall unless it's continued, fulfilled or aborted.
|
819
819
|
#
|
820
820
|
# > NOTE: The handler will only be called for the first url if the response is a redirect.
|
821
|
+
# > NOTE: [`method: Page.route`] will not intercept requests intercepted by Service Worker. See
|
822
|
+
# [this](https://github.com/microsoft/playwright/issues/1090) issue. We recommend disabling Service Workers when using
|
823
|
+
# request interception. Via `await context.addInitScript(() => delete window.navigator.serviceWorker);`
|
821
824
|
#
|
822
825
|
# An example of a naive handler that aborts all image requests:
|
823
826
|
#
|
@@ -855,8 +858,8 @@ module Playwright
|
|
855
858
|
# To remove a route with its handler you can use [`method: Page.unroute`].
|
856
859
|
#
|
857
860
|
# > NOTE: Enabling routing disables http cache.
|
858
|
-
def route(url, handler)
|
859
|
-
wrap_impl(@impl.route(unwrap_impl(url), unwrap_impl(handler)))
|
861
|
+
def route(url, handler, times: nil)
|
862
|
+
wrap_impl(@impl.route(unwrap_impl(url), unwrap_impl(handler), times: unwrap_impl(times)))
|
860
863
|
end
|
861
864
|
|
862
865
|
# Returns the buffer with the captured screenshot.
|
@@ -905,6 +908,33 @@ module Playwright
|
|
905
908
|
wrap_impl(@impl.select_option(unwrap_impl(selector), element: unwrap_impl(element), index: unwrap_impl(index), value: unwrap_impl(value), label: unwrap_impl(label), force: unwrap_impl(force), noWaitAfter: unwrap_impl(noWaitAfter), strict: unwrap_impl(strict), timeout: unwrap_impl(timeout)))
|
906
909
|
end
|
907
910
|
|
911
|
+
# This method checks or unchecks an element matching `selector` by performing the following steps:
|
912
|
+
# 1. Find an element matching `selector`. If there is none, wait until a matching element is attached to the DOM.
|
913
|
+
# 1. Ensure that matched element is a checkbox or a radio input. If not, this method throws.
|
914
|
+
# 1. If the element already has the right checked state, this method returns immediately.
|
915
|
+
# 1. Wait for [actionability](./actionability.md) checks on the matched element, unless `force` option is set. If the
|
916
|
+
# element is detached during the checks, the whole action is retried.
|
917
|
+
# 1. Scroll the element into view if needed.
|
918
|
+
# 1. Use [`property: Page.mouse`] to click in the center of the element.
|
919
|
+
# 1. Wait for initiated navigations to either succeed or fail, unless `noWaitAfter` option is set.
|
920
|
+
# 1. Ensure that the element is now checked or unchecked. If not, this method throws.
|
921
|
+
#
|
922
|
+
# When all steps combined have not finished during the specified `timeout`, this method throws a `TimeoutError`. Passing
|
923
|
+
# zero timeout disables this.
|
924
|
+
#
|
925
|
+
# Shortcut for main frame's [`method: Frame.setChecked`].
|
926
|
+
def set_checked(
|
927
|
+
selector,
|
928
|
+
checked,
|
929
|
+
force: nil,
|
930
|
+
noWaitAfter: nil,
|
931
|
+
position: nil,
|
932
|
+
strict: nil,
|
933
|
+
timeout: nil,
|
934
|
+
trial: nil)
|
935
|
+
wrap_impl(@impl.set_checked(unwrap_impl(selector), unwrap_impl(checked), force: unwrap_impl(force), noWaitAfter: unwrap_impl(noWaitAfter), position: unwrap_impl(position), strict: unwrap_impl(strict), timeout: unwrap_impl(timeout), trial: unwrap_impl(trial)))
|
936
|
+
end
|
937
|
+
|
908
938
|
def set_content(html, timeout: nil, waitUntil: nil)
|
909
939
|
wrap_impl(@impl.set_content(unwrap_impl(html), timeout: unwrap_impl(timeout), waitUntil: unwrap_impl(waitUntil)))
|
910
940
|
end
|
@@ -1350,12 +1380,6 @@ module Playwright
|
|
1350
1380
|
wrap_impl(@impl.guid)
|
1351
1381
|
end
|
1352
1382
|
|
1353
|
-
# -- inherited from EventEmitter --
|
1354
|
-
# @nodoc
|
1355
|
-
def on(event, callback)
|
1356
|
-
event_emitter_proxy.on(event, callback)
|
1357
|
-
end
|
1358
|
-
|
1359
1383
|
# -- inherited from EventEmitter --
|
1360
1384
|
# @nodoc
|
1361
1385
|
def off(event, callback)
|
@@ -1368,6 +1392,12 @@ module Playwright
|
|
1368
1392
|
event_emitter_proxy.once(event, callback)
|
1369
1393
|
end
|
1370
1394
|
|
1395
|
+
# -- inherited from EventEmitter --
|
1396
|
+
# @nodoc
|
1397
|
+
def on(event, callback)
|
1398
|
+
event_emitter_proxy.on(event, callback)
|
1399
|
+
end
|
1400
|
+
|
1371
1401
|
private def event_emitter_proxy
|
1372
1402
|
@event_emitter_proxy ||= EventEmitterProxy.new(self, @impl)
|
1373
1403
|
end
|
@@ -91,12 +91,6 @@ module Playwright
|
|
91
91
|
wrap_impl(@impl.electron)
|
92
92
|
end
|
93
93
|
|
94
|
-
# -- inherited from EventEmitter --
|
95
|
-
# @nodoc
|
96
|
-
def on(event, callback)
|
97
|
-
event_emitter_proxy.on(event, callback)
|
98
|
-
end
|
99
|
-
|
100
94
|
# -- inherited from EventEmitter --
|
101
95
|
# @nodoc
|
102
96
|
def off(event, callback)
|
@@ -109,6 +103,12 @@ module Playwright
|
|
109
103
|
event_emitter_proxy.once(event, callback)
|
110
104
|
end
|
111
105
|
|
106
|
+
# -- inherited from EventEmitter --
|
107
|
+
# @nodoc
|
108
|
+
def on(event, callback)
|
109
|
+
event_emitter_proxy.on(event, callback)
|
110
|
+
end
|
111
|
+
|
112
112
|
private def event_emitter_proxy
|
113
113
|
@event_emitter_proxy ||= EventEmitterProxy.new(self, @impl)
|
114
114
|
end
|
@@ -14,6 +14,11 @@ module Playwright
|
|
14
14
|
# request is issued to a redirected url.
|
15
15
|
class Request < PlaywrightApi
|
16
16
|
|
17
|
+
# An object with all the request HTTP headers associated with this request. The header names are lower-cased.
|
18
|
+
def all_headers
|
19
|
+
wrap_impl(@impl.all_headers)
|
20
|
+
end
|
21
|
+
|
17
22
|
# The method returns `null` unless this request has failed, as reported by `requestfailed` event.
|
18
23
|
#
|
19
24
|
# Example of logging of all the failed requests:
|
@@ -30,11 +35,17 @@ module Playwright
|
|
30
35
|
wrap_impl(@impl.frame)
|
31
36
|
end
|
32
37
|
|
33
|
-
#
|
38
|
+
# **DEPRECATED** Incomplete list of headers as seen by the rendering engine. Use [`method: Request.allHeaders`] instead.
|
34
39
|
def headers
|
35
40
|
wrap_impl(@impl.headers)
|
36
41
|
end
|
37
42
|
|
43
|
+
# An array with all the request HTTP headers associated with this request. Unlike [`method: Request.allHeaders`], header
|
44
|
+
# names are not lower-cased. Headers with multiple entries, such as `Set-Cookie`, appear in the array multiple times.
|
45
|
+
def headers_array
|
46
|
+
wrap_impl(@impl.headers_array)
|
47
|
+
end
|
48
|
+
|
38
49
|
# Whether this request is driving frame's navigation.
|
39
50
|
def navigation_request?
|
40
51
|
wrap_impl(@impl.navigation_request?)
|
@@ -109,6 +120,12 @@ module Playwright
|
|
109
120
|
wrap_impl(@impl.response)
|
110
121
|
end
|
111
122
|
|
123
|
+
# Returns resource size information for given request. Requires the response to be finished via
|
124
|
+
# [`method: Response.finished`] to ensure the info is available.
|
125
|
+
def sizes
|
126
|
+
wrap_impl(@impl.sizes)
|
127
|
+
end
|
128
|
+
|
112
129
|
# Returns resource timing information for given request. Most of the timing values become available upon the response,
|
113
130
|
# `responseEnd` becomes available when request finishes. Find more information at
|
114
131
|
# [Resource Timing API](https://developer.mozilla.org/en-US/docs/Web/API/PerformanceResourceTiming).
|
@@ -128,10 +145,9 @@ module Playwright
|
|
128
145
|
wrap_impl(@impl.url)
|
129
146
|
end
|
130
147
|
|
131
|
-
# -- inherited from EventEmitter --
|
132
148
|
# @nodoc
|
133
|
-
def
|
134
|
-
|
149
|
+
def parse_headers_as_array(serialized_headers, downcase)
|
150
|
+
wrap_impl(@impl.parse_headers_as_array(unwrap_impl(serialized_headers), unwrap_impl(downcase)))
|
135
151
|
end
|
136
152
|
|
137
153
|
# -- inherited from EventEmitter --
|
@@ -146,6 +162,12 @@ module Playwright
|
|
146
162
|
event_emitter_proxy.once(event, callback)
|
147
163
|
end
|
148
164
|
|
165
|
+
# -- inherited from EventEmitter --
|
166
|
+
# @nodoc
|
167
|
+
def on(event, callback)
|
168
|
+
event_emitter_proxy.on(event, callback)
|
169
|
+
end
|
170
|
+
|
149
171
|
private def event_emitter_proxy
|
150
172
|
@event_emitter_proxy ||= EventEmitterProxy.new(self, @impl)
|
151
173
|
end
|
@@ -2,6 +2,11 @@ module Playwright
|
|
2
2
|
# `Response` class represents responses which are received by page.
|
3
3
|
class Response < PlaywrightApi
|
4
4
|
|
5
|
+
# An object with all the response HTTP headers associated with this response.
|
6
|
+
def all_headers
|
7
|
+
wrap_impl(@impl.all_headers)
|
8
|
+
end
|
9
|
+
|
5
10
|
# Returns the buffer with response body.
|
6
11
|
def body
|
7
12
|
wrap_impl(@impl.body)
|
@@ -17,11 +22,17 @@ module Playwright
|
|
17
22
|
wrap_impl(@impl.frame)
|
18
23
|
end
|
19
24
|
|
20
|
-
#
|
25
|
+
# **DEPRECATED** Incomplete list of headers as seen by the rendering engine. Use [`method: Response.allHeaders`] instead.
|
21
26
|
def headers
|
22
27
|
wrap_impl(@impl.headers)
|
23
28
|
end
|
24
29
|
|
30
|
+
# An array with all the request HTTP headers associated with this response. Unlike [`method: Response.allHeaders`], header
|
31
|
+
# names are not lower-cased. Headers with multiple entries, such as `Set-Cookie`, appear in the array multiple times.
|
32
|
+
def headers_array
|
33
|
+
wrap_impl(@impl.headers_array)
|
34
|
+
end
|
35
|
+
|
25
36
|
# Returns the JSON representation of response body.
|
26
37
|
#
|
27
38
|
# This method will throw if the response body is not parsable via `JSON.parse`.
|
@@ -74,10 +85,9 @@ module Playwright
|
|
74
85
|
wrap_impl(@impl.ok?)
|
75
86
|
end
|
76
87
|
|
77
|
-
# -- inherited from EventEmitter --
|
78
88
|
# @nodoc
|
79
|
-
def
|
80
|
-
|
89
|
+
def parse_headers_as_array(serialized_headers, downcase)
|
90
|
+
wrap_impl(@impl.parse_headers_as_array(unwrap_impl(serialized_headers), unwrap_impl(downcase)))
|
81
91
|
end
|
82
92
|
|
83
93
|
# -- inherited from EventEmitter --
|
@@ -92,6 +102,12 @@ module Playwright
|
|
92
102
|
event_emitter_proxy.once(event, callback)
|
93
103
|
end
|
94
104
|
|
105
|
+
# -- inherited from EventEmitter --
|
106
|
+
# @nodoc
|
107
|
+
def on(event, callback)
|
108
|
+
event_emitter_proxy.on(event, callback)
|
109
|
+
end
|
110
|
+
|
95
111
|
private def event_emitter_proxy
|
96
112
|
@event_emitter_proxy ||= EventEmitterProxy.new(self, @impl)
|
97
113
|
end
|