playwright-ruby-client 0.6.4 → 0.8.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +26 -0
- data/documentation/docs/api/browser.md +10 -0
- data/documentation/docs/api/browser_context.md +10 -0
- data/documentation/docs/api/browser_type.md +53 -0
- data/documentation/docs/api/cdp_session.md +41 -1
- data/documentation/docs/api/element_handle.md +11 -2
- data/documentation/docs/api/frame.md +15 -1
- data/documentation/docs/api/page.md +33 -1
- data/documentation/docs/api/response.md +16 -0
- data/documentation/docs/api/route.md +20 -21
- data/documentation/docs/api/web_socket.md +38 -1
- data/documentation/docs/article/guides/launch_browser.md +2 -0
- data/documentation/docs/article/guides/rails_integration.md +2 -2
- data/documentation/docs/article/guides/semi_automation.md +67 -0
- data/documentation/docs/include/api_coverage.md +19 -13
- data/lib/playwright.rb +36 -3
- data/lib/playwright/channel_owners/browser.rb +5 -0
- data/lib/playwright/channel_owners/browser_context.rb +5 -0
- data/lib/playwright/channel_owners/browser_type.rb +18 -0
- data/lib/playwright/channel_owners/cdp_session.rb +19 -0
- data/lib/playwright/channel_owners/element_handle.rb +11 -4
- data/lib/playwright/channel_owners/frame.rb +14 -2
- data/lib/playwright/channel_owners/page.rb +21 -2
- data/lib/playwright/channel_owners/response.rb +9 -1
- data/lib/playwright/channel_owners/web_socket.rb +87 -0
- data/lib/playwright/connection.rb +2 -4
- data/lib/playwright/transport.rb +0 -1
- data/lib/playwright/version.rb +2 -2
- data/lib/playwright/web_socket_client.rb +164 -0
- data/lib/playwright/web_socket_transport.rb +104 -0
- data/lib/playwright_api/android.rb +6 -6
- data/lib/playwright_api/android_device.rb +8 -8
- data/lib/playwright_api/browser.rb +7 -7
- data/lib/playwright_api/browser_context.rb +7 -7
- data/lib/playwright_api/browser_type.rb +9 -8
- data/lib/playwright_api/cdp_session.rb +30 -8
- data/lib/playwright_api/console_message.rb +6 -6
- data/lib/playwright_api/dialog.rb +6 -6
- data/lib/playwright_api/element_handle.rb +17 -11
- data/lib/playwright_api/frame.rb +20 -9
- data/lib/playwright_api/js_handle.rb +6 -6
- data/lib/playwright_api/page.rb +28 -17
- data/lib/playwright_api/playwright.rb +6 -6
- data/lib/playwright_api/request.rb +6 -6
- data/lib/playwright_api/response.rb +15 -10
- data/lib/playwright_api/route.rb +11 -6
- data/lib/playwright_api/selectors.rb +6 -6
- data/lib/playwright_api/web_socket.rb +28 -6
- data/lib/playwright_api/worker.rb +6 -6
- data/playwright.gemspec +2 -1
- metadata +37 -18
@@ -50,7 +50,7 @@ module Playwright
|
|
50
50
|
#
|
51
51
|
# Returns the newly created browser session.
|
52
52
|
def new_browser_cdp_session
|
53
|
-
|
53
|
+
wrap_impl(@impl.new_browser_cdp_session)
|
54
54
|
end
|
55
55
|
|
56
56
|
# Creates a new browser context. It won't share cookies/cache with other browser contexts.
|
@@ -158,20 +158,20 @@ module Playwright
|
|
158
158
|
|
159
159
|
# -- inherited from EventEmitter --
|
160
160
|
# @nodoc
|
161
|
-
def
|
162
|
-
event_emitter_proxy.
|
161
|
+
def off(event, callback)
|
162
|
+
event_emitter_proxy.off(event, callback)
|
163
163
|
end
|
164
164
|
|
165
165
|
# -- inherited from EventEmitter --
|
166
166
|
# @nodoc
|
167
|
-
def
|
168
|
-
event_emitter_proxy.
|
167
|
+
def once(event, callback)
|
168
|
+
event_emitter_proxy.once(event, callback)
|
169
169
|
end
|
170
170
|
|
171
171
|
# -- inherited from EventEmitter --
|
172
172
|
# @nodoc
|
173
|
-
def
|
174
|
-
event_emitter_proxy.
|
173
|
+
def on(event, callback)
|
174
|
+
event_emitter_proxy.on(event, callback)
|
175
175
|
end
|
176
176
|
|
177
177
|
private def event_emitter_proxy
|
@@ -204,7 +204,7 @@ module Playwright
|
|
204
204
|
#
|
205
205
|
# Returns the newly created session.
|
206
206
|
def new_cdp_session(page)
|
207
|
-
|
207
|
+
wrap_impl(@impl.new_cdp_session(unwrap_impl(page)))
|
208
208
|
end
|
209
209
|
|
210
210
|
# Creates a new page in the browser context.
|
@@ -384,20 +384,20 @@ module Playwright
|
|
384
384
|
|
385
385
|
# -- inherited from EventEmitter --
|
386
386
|
# @nodoc
|
387
|
-
def
|
388
|
-
event_emitter_proxy.
|
387
|
+
def off(event, callback)
|
388
|
+
event_emitter_proxy.off(event, callback)
|
389
389
|
end
|
390
390
|
|
391
391
|
# -- inherited from EventEmitter --
|
392
392
|
# @nodoc
|
393
|
-
def
|
394
|
-
event_emitter_proxy.
|
393
|
+
def once(event, callback)
|
394
|
+
event_emitter_proxy.once(event, callback)
|
395
395
|
end
|
396
396
|
|
397
397
|
# -- inherited from EventEmitter --
|
398
398
|
# @nodoc
|
399
|
-
def
|
400
|
-
event_emitter_proxy.
|
399
|
+
def on(event, callback)
|
400
|
+
event_emitter_proxy.on(event, callback)
|
401
401
|
end
|
402
402
|
|
403
403
|
private def event_emitter_proxy
|
@@ -133,8 +133,9 @@ module Playwright
|
|
133
133
|
timezoneId: nil,
|
134
134
|
tracesDir: nil,
|
135
135
|
userAgent: nil,
|
136
|
-
viewport: nil
|
137
|
-
|
136
|
+
viewport: nil,
|
137
|
+
&block)
|
138
|
+
wrap_impl(@impl.launch_persistent_context(unwrap_impl(userDataDir), acceptDownloads: unwrap_impl(acceptDownloads), args: unwrap_impl(args), bypassCSP: unwrap_impl(bypassCSP), channel: unwrap_impl(channel), chromiumSandbox: unwrap_impl(chromiumSandbox), colorScheme: unwrap_impl(colorScheme), deviceScaleFactor: unwrap_impl(deviceScaleFactor), devtools: unwrap_impl(devtools), downloadsPath: unwrap_impl(downloadsPath), env: unwrap_impl(env), executablePath: unwrap_impl(executablePath), extraHTTPHeaders: unwrap_impl(extraHTTPHeaders), geolocation: unwrap_impl(geolocation), handleSIGHUP: unwrap_impl(handleSIGHUP), handleSIGINT: unwrap_impl(handleSIGINT), handleSIGTERM: unwrap_impl(handleSIGTERM), hasTouch: unwrap_impl(hasTouch), headless: unwrap_impl(headless), httpCredentials: unwrap_impl(httpCredentials), ignoreDefaultArgs: unwrap_impl(ignoreDefaultArgs), ignoreHTTPSErrors: unwrap_impl(ignoreHTTPSErrors), isMobile: unwrap_impl(isMobile), javaScriptEnabled: unwrap_impl(javaScriptEnabled), locale: unwrap_impl(locale), noViewport: unwrap_impl(noViewport), offline: unwrap_impl(offline), permissions: unwrap_impl(permissions), proxy: unwrap_impl(proxy), record_har_omit_content: unwrap_impl(record_har_omit_content), record_har_path: unwrap_impl(record_har_path), record_video_dir: unwrap_impl(record_video_dir), record_video_size: unwrap_impl(record_video_size), reducedMotion: unwrap_impl(reducedMotion), screen: unwrap_impl(screen), slowMo: unwrap_impl(slowMo), timeout: unwrap_impl(timeout), timezoneId: unwrap_impl(timezoneId), tracesDir: unwrap_impl(tracesDir), userAgent: unwrap_impl(userAgent), viewport: unwrap_impl(viewport), &wrap_block_call(block)))
|
138
139
|
end
|
139
140
|
|
140
141
|
# Returns browser name. For example: `'chromium'`, `'webkit'` or `'firefox'`.
|
@@ -144,20 +145,20 @@ module Playwright
|
|
144
145
|
|
145
146
|
# -- inherited from EventEmitter --
|
146
147
|
# @nodoc
|
147
|
-
def
|
148
|
-
event_emitter_proxy.
|
148
|
+
def off(event, callback)
|
149
|
+
event_emitter_proxy.off(event, callback)
|
149
150
|
end
|
150
151
|
|
151
152
|
# -- inherited from EventEmitter --
|
152
153
|
# @nodoc
|
153
|
-
def
|
154
|
-
event_emitter_proxy.
|
154
|
+
def once(event, callback)
|
155
|
+
event_emitter_proxy.once(event, callback)
|
155
156
|
end
|
156
157
|
|
157
158
|
# -- inherited from EventEmitter --
|
158
159
|
# @nodoc
|
159
|
-
def
|
160
|
-
event_emitter_proxy.
|
160
|
+
def on(event, callback)
|
161
|
+
event_emitter_proxy.on(event, callback)
|
161
162
|
end
|
162
163
|
|
163
164
|
private def event_emitter_proxy
|
@@ -13,12 +13,12 @@ module Playwright
|
|
13
13
|
#
|
14
14
|
# ```python sync
|
15
15
|
# client = page.context().new_cdp_session(page)
|
16
|
-
# client.send("
|
17
|
-
# client.on("
|
18
|
-
# response = client.send("
|
19
|
-
# print("playback rate is " + response["
|
20
|
-
# client.send("
|
21
|
-
#
|
16
|
+
# client.send("Animation.enable")
|
17
|
+
# client.on("Animation.animationCreated", lambda: print("animation created!"))
|
18
|
+
# response = client.send("Animation.getPlaybackRate")
|
19
|
+
# print("playback rate is " + str(response["playbackRate"]))
|
20
|
+
# client.send("Animation.setPlaybackRate", {
|
21
|
+
# playbackRate: response["playbackRate"] / 2
|
22
22
|
# })
|
23
23
|
# ```
|
24
24
|
class CDPSession < PlaywrightApi
|
@@ -26,11 +26,33 @@ module Playwright
|
|
26
26
|
# Detaches the CDPSession from the target. Once detached, the CDPSession object won't emit any events and can't be used to
|
27
27
|
# send messages.
|
28
28
|
def detach
|
29
|
-
|
29
|
+
wrap_impl(@impl.detach)
|
30
30
|
end
|
31
31
|
|
32
32
|
def send_message(method, params: nil)
|
33
|
-
|
33
|
+
wrap_impl(@impl.send_message(unwrap_impl(method), params: unwrap_impl(params)))
|
34
|
+
end
|
35
|
+
|
36
|
+
# -- inherited from EventEmitter --
|
37
|
+
# @nodoc
|
38
|
+
def off(event, callback)
|
39
|
+
event_emitter_proxy.off(event, callback)
|
40
|
+
end
|
41
|
+
|
42
|
+
# -- inherited from EventEmitter --
|
43
|
+
# @nodoc
|
44
|
+
def once(event, callback)
|
45
|
+
event_emitter_proxy.once(event, callback)
|
46
|
+
end
|
47
|
+
|
48
|
+
# -- inherited from EventEmitter --
|
49
|
+
# @nodoc
|
50
|
+
def on(event, callback)
|
51
|
+
event_emitter_proxy.on(event, callback)
|
52
|
+
end
|
53
|
+
|
54
|
+
private def event_emitter_proxy
|
55
|
+
@event_emitter_proxy ||= EventEmitterProxy.new(self, @impl)
|
34
56
|
end
|
35
57
|
end
|
36
58
|
end
|
@@ -25,20 +25,20 @@ module Playwright
|
|
25
25
|
|
26
26
|
# -- inherited from EventEmitter --
|
27
27
|
# @nodoc
|
28
|
-
def
|
29
|
-
event_emitter_proxy.
|
28
|
+
def off(event, callback)
|
29
|
+
event_emitter_proxy.off(event, callback)
|
30
30
|
end
|
31
31
|
|
32
32
|
# -- inherited from EventEmitter --
|
33
33
|
# @nodoc
|
34
|
-
def
|
35
|
-
event_emitter_proxy.
|
34
|
+
def once(event, callback)
|
35
|
+
event_emitter_proxy.once(event, callback)
|
36
36
|
end
|
37
37
|
|
38
38
|
# -- inherited from EventEmitter --
|
39
39
|
# @nodoc
|
40
|
-
def
|
41
|
-
event_emitter_proxy.
|
40
|
+
def on(event, callback)
|
41
|
+
event_emitter_proxy.on(event, callback)
|
42
42
|
end
|
43
43
|
|
44
44
|
private def event_emitter_proxy
|
@@ -60,20 +60,20 @@ module Playwright
|
|
60
60
|
|
61
61
|
# -- inherited from EventEmitter --
|
62
62
|
# @nodoc
|
63
|
-
def
|
64
|
-
event_emitter_proxy.
|
63
|
+
def off(event, callback)
|
64
|
+
event_emitter_proxy.off(event, callback)
|
65
65
|
end
|
66
66
|
|
67
67
|
# -- inherited from EventEmitter --
|
68
68
|
# @nodoc
|
69
|
-
def
|
70
|
-
event_emitter_proxy.
|
69
|
+
def once(event, callback)
|
70
|
+
event_emitter_proxy.once(event, callback)
|
71
71
|
end
|
72
72
|
|
73
73
|
# -- inherited from EventEmitter --
|
74
74
|
# @nodoc
|
75
|
-
def
|
76
|
-
event_emitter_proxy.
|
75
|
+
def on(event, callback)
|
76
|
+
event_emitter_proxy.on(event, callback)
|
77
77
|
end
|
78
78
|
|
79
79
|
private def event_emitter_proxy
|
@@ -210,8 +210,8 @@ module Playwright
|
|
210
210
|
# instead.
|
211
211
|
#
|
212
212
|
# To send fine-grained keyboard events, use [`method: ElementHandle.type`].
|
213
|
-
def fill(value, noWaitAfter: nil, timeout: nil)
|
214
|
-
wrap_impl(@impl.fill(unwrap_impl(value), noWaitAfter: unwrap_impl(noWaitAfter), timeout: unwrap_impl(timeout)))
|
213
|
+
def fill(value, force: nil, noWaitAfter: nil, timeout: nil)
|
214
|
+
wrap_impl(@impl.fill(unwrap_impl(value), force: unwrap_impl(force), noWaitAfter: unwrap_impl(noWaitAfter), timeout: unwrap_impl(timeout)))
|
215
215
|
end
|
216
216
|
|
217
217
|
# Calls [focus](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/focus) on the element.
|
@@ -254,6 +254,11 @@ module Playwright
|
|
254
254
|
wrap_impl(@impl.inner_text)
|
255
255
|
end
|
256
256
|
|
257
|
+
# Returns `input.value` for `<input>` or `<textarea>` element. Throws for non-input elements.
|
258
|
+
def input_value(timeout: nil)
|
259
|
+
wrap_impl(@impl.input_value(timeout: unwrap_impl(timeout)))
|
260
|
+
end
|
261
|
+
|
257
262
|
# Returns whether the element is checked. Throws if the element is not a checkbox or radio input.
|
258
263
|
def checked?
|
259
264
|
wrap_impl(@impl.checked?)
|
@@ -381,15 +386,16 @@ module Playwright
|
|
381
386
|
index: nil,
|
382
387
|
value: nil,
|
383
388
|
label: nil,
|
389
|
+
force: nil,
|
384
390
|
noWaitAfter: nil,
|
385
391
|
timeout: nil)
|
386
|
-
wrap_impl(@impl.select_option(element: unwrap_impl(element), index: unwrap_impl(index), value: unwrap_impl(value), label: unwrap_impl(label), noWaitAfter: unwrap_impl(noWaitAfter), timeout: unwrap_impl(timeout)))
|
392
|
+
wrap_impl(@impl.select_option(element: unwrap_impl(element), index: unwrap_impl(index), value: unwrap_impl(value), label: unwrap_impl(label), force: unwrap_impl(force), noWaitAfter: unwrap_impl(noWaitAfter), timeout: unwrap_impl(timeout)))
|
387
393
|
end
|
388
394
|
|
389
395
|
# This method waits for [actionability](./actionability.md) checks, then focuses the element and selects all its text
|
390
396
|
# content.
|
391
|
-
def select_text(timeout: nil)
|
392
|
-
wrap_impl(@impl.select_text(timeout: unwrap_impl(timeout)))
|
397
|
+
def select_text(force: nil, timeout: nil)
|
398
|
+
wrap_impl(@impl.select_text(force: unwrap_impl(force), timeout: unwrap_impl(timeout)))
|
393
399
|
end
|
394
400
|
|
395
401
|
# This method expects `elementHandle` to point to an
|
@@ -511,20 +517,20 @@ module Playwright
|
|
511
517
|
|
512
518
|
# -- inherited from EventEmitter --
|
513
519
|
# @nodoc
|
514
|
-
def
|
515
|
-
event_emitter_proxy.
|
520
|
+
def off(event, callback)
|
521
|
+
event_emitter_proxy.off(event, callback)
|
516
522
|
end
|
517
523
|
|
518
524
|
# -- inherited from EventEmitter --
|
519
525
|
# @nodoc
|
520
|
-
def
|
521
|
-
event_emitter_proxy.
|
526
|
+
def once(event, callback)
|
527
|
+
event_emitter_proxy.once(event, callback)
|
522
528
|
end
|
523
529
|
|
524
530
|
# -- inherited from EventEmitter --
|
525
531
|
# @nodoc
|
526
|
-
def
|
527
|
-
event_emitter_proxy.
|
532
|
+
def on(event, callback)
|
533
|
+
event_emitter_proxy.on(event, callback)
|
528
534
|
end
|
529
535
|
|
530
536
|
private def event_emitter_proxy
|
data/lib/playwright_api/frame.rb
CHANGED
@@ -271,8 +271,13 @@ module Playwright
|
|
271
271
|
# instead.
|
272
272
|
#
|
273
273
|
# To send fine-grained keyboard events, use [`method: Frame.type`].
|
274
|
-
def fill(
|
275
|
-
|
274
|
+
def fill(
|
275
|
+
selector,
|
276
|
+
value,
|
277
|
+
force: nil,
|
278
|
+
noWaitAfter: nil,
|
279
|
+
timeout: nil)
|
280
|
+
wrap_impl(@impl.fill(unwrap_impl(selector), unwrap_impl(value), force: unwrap_impl(force), noWaitAfter: unwrap_impl(noWaitAfter), timeout: unwrap_impl(timeout)))
|
276
281
|
end
|
277
282
|
|
278
283
|
# This method fetches an element with `selector` and focuses it. If there's no element matching `selector`, the method
|
@@ -354,6 +359,11 @@ module Playwright
|
|
354
359
|
wrap_impl(@impl.inner_text(unwrap_impl(selector), timeout: unwrap_impl(timeout)))
|
355
360
|
end
|
356
361
|
|
362
|
+
# Returns `input.value` for the selected `<input>` or `<textarea>` element. Throws for non-input elements.
|
363
|
+
def input_value(selector, timeout: nil)
|
364
|
+
wrap_impl(@impl.input_value(unwrap_impl(selector), timeout: unwrap_impl(timeout)))
|
365
|
+
end
|
366
|
+
|
357
367
|
# Returns whether the element is checked. Throws if the element is not a checkbox or radio input.
|
358
368
|
def checked?(selector, timeout: nil)
|
359
369
|
wrap_impl(@impl.checked?(unwrap_impl(selector), timeout: unwrap_impl(timeout)))
|
@@ -476,9 +486,10 @@ module Playwright
|
|
476
486
|
index: nil,
|
477
487
|
value: nil,
|
478
488
|
label: nil,
|
489
|
+
force: nil,
|
479
490
|
noWaitAfter: nil,
|
480
491
|
timeout: nil)
|
481
|
-
wrap_impl(@impl.select_option(unwrap_impl(selector), element: unwrap_impl(element), index: unwrap_impl(index), value: unwrap_impl(value), label: unwrap_impl(label), noWaitAfter: unwrap_impl(noWaitAfter), timeout: unwrap_impl(timeout)))
|
492
|
+
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), timeout: unwrap_impl(timeout)))
|
482
493
|
end
|
483
494
|
|
484
495
|
def set_content(html, timeout: nil, waitUntil: nil)
|
@@ -689,20 +700,20 @@ module Playwright
|
|
689
700
|
|
690
701
|
# -- inherited from EventEmitter --
|
691
702
|
# @nodoc
|
692
|
-
def
|
693
|
-
event_emitter_proxy.
|
703
|
+
def off(event, callback)
|
704
|
+
event_emitter_proxy.off(event, callback)
|
694
705
|
end
|
695
706
|
|
696
707
|
# -- inherited from EventEmitter --
|
697
708
|
# @nodoc
|
698
|
-
def
|
699
|
-
event_emitter_proxy.
|
709
|
+
def once(event, callback)
|
710
|
+
event_emitter_proxy.once(event, callback)
|
700
711
|
end
|
701
712
|
|
702
713
|
# -- inherited from EventEmitter --
|
703
714
|
# @nodoc
|
704
|
-
def
|
705
|
-
event_emitter_proxy.
|
715
|
+
def on(event, callback)
|
716
|
+
event_emitter_proxy.on(event, callback)
|
706
717
|
end
|
707
718
|
|
708
719
|
private def event_emitter_proxy
|
@@ -90,20 +90,20 @@ module Playwright
|
|
90
90
|
|
91
91
|
# -- inherited from EventEmitter --
|
92
92
|
# @nodoc
|
93
|
-
def
|
94
|
-
event_emitter_proxy.
|
93
|
+
def off(event, callback)
|
94
|
+
event_emitter_proxy.off(event, callback)
|
95
95
|
end
|
96
96
|
|
97
97
|
# -- inherited from EventEmitter --
|
98
98
|
# @nodoc
|
99
|
-
def
|
100
|
-
event_emitter_proxy.
|
99
|
+
def once(event, callback)
|
100
|
+
event_emitter_proxy.once(event, callback)
|
101
101
|
end
|
102
102
|
|
103
103
|
# -- inherited from EventEmitter --
|
104
104
|
# @nodoc
|
105
|
-
def
|
106
|
-
event_emitter_proxy.
|
105
|
+
def on(event, callback)
|
106
|
+
event_emitter_proxy.on(event, callback)
|
107
107
|
end
|
108
108
|
|
109
109
|
private def event_emitter_proxy
|
data/lib/playwright_api/page.rb
CHANGED
@@ -481,8 +481,13 @@ module Playwright
|
|
481
481
|
# To send fine-grained keyboard events, use [`method: Page.type`].
|
482
482
|
#
|
483
483
|
# Shortcut for main frame's [`method: Frame.fill`].
|
484
|
-
def fill(
|
485
|
-
|
484
|
+
def fill(
|
485
|
+
selector,
|
486
|
+
value,
|
487
|
+
force: nil,
|
488
|
+
noWaitAfter: nil,
|
489
|
+
timeout: nil)
|
490
|
+
wrap_impl(@impl.fill(unwrap_impl(selector), unwrap_impl(value), force: unwrap_impl(force), noWaitAfter: unwrap_impl(noWaitAfter), timeout: unwrap_impl(timeout)))
|
486
491
|
end
|
487
492
|
|
488
493
|
# This method fetches an element with `selector` and focuses it. If there's no element matching `selector`, the method
|
@@ -588,6 +593,11 @@ module Playwright
|
|
588
593
|
wrap_impl(@impl.inner_text(unwrap_impl(selector), timeout: unwrap_impl(timeout)))
|
589
594
|
end
|
590
595
|
|
596
|
+
# Returns `input.value` for the selected `<input>` or `<textarea>` element. Throws for non-input elements.
|
597
|
+
def input_value(selector, timeout: nil)
|
598
|
+
wrap_impl(@impl.input_value(unwrap_impl(selector), timeout: unwrap_impl(timeout)))
|
599
|
+
end
|
600
|
+
|
591
601
|
# Returns whether the element is checked. Throws if the element is not a checkbox or radio input.
|
592
602
|
def checked?(selector, timeout: nil)
|
593
603
|
wrap_impl(@impl.checked?(unwrap_impl(selector), timeout: unwrap_impl(timeout)))
|
@@ -855,9 +865,10 @@ module Playwright
|
|
855
865
|
index: nil,
|
856
866
|
value: nil,
|
857
867
|
label: nil,
|
868
|
+
force: nil,
|
858
869
|
noWaitAfter: nil,
|
859
870
|
timeout: nil)
|
860
|
-
wrap_impl(@impl.select_option(unwrap_impl(selector), element: unwrap_impl(element), index: unwrap_impl(index), value: unwrap_impl(value), label: unwrap_impl(label), noWaitAfter: unwrap_impl(noWaitAfter), timeout: unwrap_impl(timeout)))
|
871
|
+
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), timeout: unwrap_impl(timeout)))
|
861
872
|
end
|
862
873
|
|
863
874
|
def set_content(html, timeout: nil, waitUntil: nil)
|
@@ -1158,8 +1169,8 @@ module Playwright
|
|
1158
1169
|
# Performs action and waits for a `Request` to finish loading. If predicate is provided, it passes `Request` value into
|
1159
1170
|
# the `predicate` function and waits for `predicate(request)` to return a truthy value. Will throw an error if the page is
|
1160
1171
|
# closed before the [`event: Page.requestFinished`] event is fired.
|
1161
|
-
def expect_request_finished(predicate: nil, timeout: nil)
|
1162
|
-
|
1172
|
+
def expect_request_finished(predicate: nil, timeout: nil, &block)
|
1173
|
+
wrap_impl(@impl.expect_request_finished(predicate: unwrap_impl(predicate), timeout: unwrap_impl(timeout), &wrap_block_call(block)))
|
1163
1174
|
end
|
1164
1175
|
|
1165
1176
|
# Returns the matched response. See [waiting for event](./events.md#waiting-for-event) for more details about events.
|
@@ -1239,8 +1250,8 @@ module Playwright
|
|
1239
1250
|
# Performs action and waits for a new `WebSocket`. If predicate is provided, it passes `WebSocket` value into the
|
1240
1251
|
# `predicate` function and waits for `predicate(webSocket)` to return a truthy value. Will throw an error if the page is
|
1241
1252
|
# closed before the WebSocket event is fired.
|
1242
|
-
def expect_websocket(predicate: nil, timeout: nil)
|
1243
|
-
|
1253
|
+
def expect_websocket(predicate: nil, timeout: nil, &block)
|
1254
|
+
wrap_impl(@impl.expect_websocket(predicate: unwrap_impl(predicate), timeout: unwrap_impl(timeout), &wrap_block_call(block)))
|
1244
1255
|
end
|
1245
1256
|
|
1246
1257
|
# Performs action and waits for a new `Worker`. If predicate is provided, it passes `Worker` value into the `predicate`
|
@@ -1277,6 +1288,11 @@ module Playwright
|
|
1277
1288
|
wrap_impl(@impl.start_js_coverage(resetOnNavigation: unwrap_impl(resetOnNavigation), reportAnonymousScripts: unwrap_impl(reportAnonymousScripts)))
|
1278
1289
|
end
|
1279
1290
|
|
1291
|
+
# @nodoc
|
1292
|
+
def stop_js_coverage
|
1293
|
+
wrap_impl(@impl.stop_js_coverage)
|
1294
|
+
end
|
1295
|
+
|
1280
1296
|
# @nodoc
|
1281
1297
|
def start_css_coverage(resetOnNavigation: nil, reportAnonymousScripts: nil)
|
1282
1298
|
wrap_impl(@impl.start_css_coverage(resetOnNavigation: unwrap_impl(resetOnNavigation), reportAnonymousScripts: unwrap_impl(reportAnonymousScripts)))
|
@@ -1288,13 +1304,14 @@ module Playwright
|
|
1288
1304
|
end
|
1289
1305
|
|
1290
1306
|
# @nodoc
|
1291
|
-
def
|
1292
|
-
wrap_impl(@impl.
|
1307
|
+
def guid
|
1308
|
+
wrap_impl(@impl.guid)
|
1293
1309
|
end
|
1294
1310
|
|
1311
|
+
# -- inherited from EventEmitter --
|
1295
1312
|
# @nodoc
|
1296
|
-
def
|
1297
|
-
|
1313
|
+
def off(event, callback)
|
1314
|
+
event_emitter_proxy.off(event, callback)
|
1298
1315
|
end
|
1299
1316
|
|
1300
1317
|
# -- inherited from EventEmitter --
|
@@ -1309,12 +1326,6 @@ module Playwright
|
|
1309
1326
|
event_emitter_proxy.on(event, callback)
|
1310
1327
|
end
|
1311
1328
|
|
1312
|
-
# -- inherited from EventEmitter --
|
1313
|
-
# @nodoc
|
1314
|
-
def off(event, callback)
|
1315
|
-
event_emitter_proxy.off(event, callback)
|
1316
|
-
end
|
1317
|
-
|
1318
1329
|
private def event_emitter_proxy
|
1319
1330
|
@event_emitter_proxy ||= EventEmitterProxy.new(self, @impl)
|
1320
1331
|
end
|