playwright-ruby-client 0.0.7 → 0.2.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +38 -3
- data/docs/api_coverage.md +89 -84
- data/lib/playwright.rb +4 -2
- data/lib/playwright/android_input_impl.rb +23 -0
- data/lib/playwright/api_implementation.rb +18 -0
- data/lib/playwright/channel.rb +7 -0
- data/lib/playwright/channel_owner.rb +3 -5
- data/lib/playwright/channel_owners/android.rb +1 -1
- data/lib/playwright/channel_owners/android_device.rb +83 -13
- data/lib/playwright/channel_owners/browser.rb +1 -1
- data/lib/playwright/channel_owners/browser_context.rb +10 -2
- data/lib/playwright/channel_owners/download.rb +27 -0
- data/lib/playwright/channel_owners/element_handle.rb +15 -4
- data/lib/playwright/channel_owners/frame.rb +228 -19
- data/lib/playwright/channel_owners/js_handle.rb +1 -1
- data/lib/playwright/channel_owners/page.rb +350 -27
- data/lib/playwright/channel_owners/request.rb +9 -1
- data/lib/playwright/errors.rb +1 -1
- data/lib/playwright/event_emitter.rb +8 -1
- data/lib/playwright/event_emitter_proxy.rb +49 -0
- data/lib/playwright/file_chooser_impl.rb +23 -0
- data/lib/playwright/http_headers.rb +20 -0
- data/lib/playwright/input_files.rb +1 -1
- data/lib/playwright/javascript/expression.rb +15 -0
- data/lib/playwright/javascript/function.rb +15 -0
- data/lib/playwright/javascript/value_parser.rb +1 -1
- data/lib/playwright/javascript/value_serializer.rb +1 -1
- data/lib/playwright/{input_types/keyboard.rb → keyboard_impl.rb} +5 -1
- data/lib/playwright/mouse_impl.rb +7 -0
- data/lib/playwright/playwright_api.rb +59 -20
- data/lib/playwright/select_option_values.rb +14 -4
- data/lib/playwright/timeout_settings.rb +1 -1
- data/lib/playwright/touchscreen_impl.rb +7 -0
- data/lib/playwright/utils.rb +3 -3
- data/lib/playwright/version.rb +1 -1
- data/lib/playwright/wait_helper.rb +1 -1
- data/lib/playwright_api/android.rb +9 -10
- data/lib/playwright_api/android_device.rb +43 -14
- data/lib/playwright_api/android_input.rb +25 -0
- data/lib/playwright_api/binding_call.rb +10 -6
- data/lib/playwright_api/browser.rb +20 -21
- data/lib/playwright_api/browser_context.rb +29 -20
- data/lib/playwright_api/browser_type.rb +16 -56
- data/lib/playwright_api/chromium_browser_context.rb +10 -8
- data/lib/playwright_api/console_message.rb +10 -6
- data/lib/playwright_api/dialog.rb +5 -1
- data/lib/playwright_api/download.rb +28 -11
- data/lib/playwright_api/element_handle.rb +107 -96
- data/lib/playwright_api/file_chooser.rb +17 -9
- data/lib/playwright_api/frame.rb +136 -132
- data/lib/playwright_api/js_handle.rb +18 -20
- data/lib/playwright_api/keyboard.rb +5 -5
- data/lib/playwright_api/page.rb +204 -149
- data/lib/playwright_api/playwright.rb +32 -44
- data/lib/playwright_api/request.rb +7 -8
- data/lib/playwright_api/response.rb +10 -6
- data/lib/playwright_api/selectors.rb +13 -9
- data/lib/playwright_api/web_socket.rb +10 -1
- data/lib/playwright_api/worker.rb +13 -13
- metadata +12 -6
- data/lib/playwright/input_type.rb +0 -19
- data/lib/playwright/input_types/mouse.rb +0 -4
- data/lib/playwright/input_types/touchscreen.rb +0 -4
@@ -3,31 +3,30 @@ module Playwright
|
|
3
3
|
class Android < PlaywrightApi
|
4
4
|
|
5
5
|
# @nodoc
|
6
|
-
def
|
7
|
-
wrap_impl(@impl.
|
6
|
+
def devices
|
7
|
+
wrap_impl(@impl.devices)
|
8
8
|
end
|
9
9
|
|
10
|
+
# -- inherited from EventEmitter --
|
10
11
|
# @nodoc
|
11
|
-
def
|
12
|
-
|
12
|
+
def once(event, callback)
|
13
|
+
event_emitter_proxy.once(event, callback)
|
13
14
|
end
|
14
15
|
|
15
16
|
# -- inherited from EventEmitter --
|
16
17
|
# @nodoc
|
17
18
|
def on(event, callback)
|
18
|
-
|
19
|
+
event_emitter_proxy.on(event, callback)
|
19
20
|
end
|
20
21
|
|
21
22
|
# -- inherited from EventEmitter --
|
22
23
|
# @nodoc
|
23
24
|
def off(event, callback)
|
24
|
-
|
25
|
+
event_emitter_proxy.off(event, callback)
|
25
26
|
end
|
26
27
|
|
27
|
-
|
28
|
-
|
29
|
-
def once(event, callback)
|
30
|
-
wrap_impl(@impl.once(unwrap_impl(event), unwrap_impl(callback)))
|
28
|
+
private def event_emitter_proxy
|
29
|
+
@event_emitter_proxy ||= EventEmitterProxy.new(self, @impl)
|
31
30
|
end
|
32
31
|
end
|
33
32
|
end
|
@@ -3,13 +3,23 @@ module Playwright
|
|
3
3
|
class AndroidDevice < PlaywrightApi
|
4
4
|
|
5
5
|
# @nodoc
|
6
|
-
def
|
7
|
-
wrap_impl(@impl.
|
6
|
+
def tree
|
7
|
+
wrap_impl(@impl.tree)
|
8
8
|
end
|
9
9
|
|
10
10
|
# @nodoc
|
11
|
-
def
|
12
|
-
wrap_impl(@impl.
|
11
|
+
def close
|
12
|
+
wrap_impl(@impl.close)
|
13
|
+
end
|
14
|
+
|
15
|
+
# @nodoc
|
16
|
+
def tap_on(selector, duration: nil, timeout: nil)
|
17
|
+
wrap_impl(@impl.tap_on(unwrap_impl(selector), duration: unwrap_impl(duration), timeout: unwrap_impl(timeout)))
|
18
|
+
end
|
19
|
+
|
20
|
+
# @nodoc
|
21
|
+
def screenshot(path: nil)
|
22
|
+
wrap_impl(@impl.screenshot(path: unwrap_impl(path)))
|
13
23
|
end
|
14
24
|
|
15
25
|
# @nodoc
|
@@ -18,31 +28,50 @@ module Playwright
|
|
18
28
|
end
|
19
29
|
|
20
30
|
# @nodoc
|
21
|
-
def
|
22
|
-
wrap_impl(@impl.
|
31
|
+
def input
|
32
|
+
wrap_impl(@impl.input)
|
23
33
|
end
|
24
34
|
|
25
35
|
# @nodoc
|
26
|
-
def launch_browser(pkg: nil, acceptDownloads: nil, bypassCSP: nil, colorScheme: nil, deviceScaleFactor: nil, extraHTTPHeaders: nil, geolocation: nil, hasTouch: nil, httpCredentials: nil, ignoreHTTPSErrors: nil, isMobile: nil, javaScriptEnabled: nil, locale: nil,
|
27
|
-
wrap_impl(@impl.launch_browser(pkg: unwrap_impl(pkg), acceptDownloads: unwrap_impl(acceptDownloads), bypassCSP: unwrap_impl(bypassCSP), colorScheme: unwrap_impl(colorScheme), deviceScaleFactor: unwrap_impl(deviceScaleFactor), extraHTTPHeaders: unwrap_impl(extraHTTPHeaders), geolocation: unwrap_impl(geolocation), hasTouch: unwrap_impl(hasTouch), httpCredentials: unwrap_impl(httpCredentials), ignoreHTTPSErrors: unwrap_impl(ignoreHTTPSErrors), isMobile: unwrap_impl(isMobile), javaScriptEnabled: unwrap_impl(javaScriptEnabled), locale: unwrap_impl(locale),
|
36
|
+
def launch_browser(pkg: nil, acceptDownloads: nil, bypassCSP: nil, colorScheme: nil, deviceScaleFactor: nil, extraHTTPHeaders: nil, geolocation: nil, hasTouch: nil, httpCredentials: nil, ignoreHTTPSErrors: nil, isMobile: nil, javaScriptEnabled: nil, locale: nil, noViewport: nil, offline: nil, permissions: nil, proxy: nil, record_har_omit_content: nil, record_har_path: nil, record_video_dir: nil, record_video_size: nil, storageState: nil, timezoneId: nil, userAgent: nil, viewport: nil, &block)
|
37
|
+
wrap_impl(@impl.launch_browser(pkg: unwrap_impl(pkg), acceptDownloads: unwrap_impl(acceptDownloads), bypassCSP: unwrap_impl(bypassCSP), colorScheme: unwrap_impl(colorScheme), deviceScaleFactor: unwrap_impl(deviceScaleFactor), extraHTTPHeaders: unwrap_impl(extraHTTPHeaders), geolocation: unwrap_impl(geolocation), hasTouch: unwrap_impl(hasTouch), httpCredentials: unwrap_impl(httpCredentials), 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), storageState: unwrap_impl(storageState), timezoneId: unwrap_impl(timezoneId), userAgent: unwrap_impl(userAgent), viewport: unwrap_impl(viewport), &wrap_block_call(block)))
|
38
|
+
end
|
39
|
+
|
40
|
+
# @nodoc
|
41
|
+
def info(selector)
|
42
|
+
wrap_impl(@impl.info(unwrap_impl(selector)))
|
43
|
+
end
|
44
|
+
|
45
|
+
# @nodoc
|
46
|
+
def serial
|
47
|
+
wrap_impl(@impl.serial)
|
48
|
+
end
|
49
|
+
|
50
|
+
# @nodoc
|
51
|
+
def model
|
52
|
+
wrap_impl(@impl.model)
|
28
53
|
end
|
29
54
|
|
30
55
|
# -- inherited from EventEmitter --
|
31
56
|
# @nodoc
|
32
|
-
def
|
33
|
-
|
57
|
+
def once(event, callback)
|
58
|
+
event_emitter_proxy.once(event, callback)
|
34
59
|
end
|
35
60
|
|
36
61
|
# -- inherited from EventEmitter --
|
37
62
|
# @nodoc
|
38
|
-
def
|
39
|
-
|
63
|
+
def on(event, callback)
|
64
|
+
event_emitter_proxy.on(event, callback)
|
40
65
|
end
|
41
66
|
|
42
67
|
# -- inherited from EventEmitter --
|
43
68
|
# @nodoc
|
44
|
-
def
|
45
|
-
|
69
|
+
def off(event, callback)
|
70
|
+
event_emitter_proxy.off(event, callback)
|
71
|
+
end
|
72
|
+
|
73
|
+
private def event_emitter_proxy
|
74
|
+
@event_emitter_proxy ||= EventEmitterProxy.new(self, @impl)
|
46
75
|
end
|
47
76
|
end
|
48
77
|
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
module Playwright
|
2
|
+
# @nodoc
|
3
|
+
class AndroidInput < PlaywrightApi
|
4
|
+
|
5
|
+
# @nodoc
|
6
|
+
def type(text)
|
7
|
+
wrap_impl(@impl.type(unwrap_impl(text)))
|
8
|
+
end
|
9
|
+
|
10
|
+
# @nodoc
|
11
|
+
def tap_point(point)
|
12
|
+
wrap_impl(@impl.tap_point(unwrap_impl(point)))
|
13
|
+
end
|
14
|
+
|
15
|
+
# @nodoc
|
16
|
+
def drag(from, to, steps)
|
17
|
+
wrap_impl(@impl.drag(unwrap_impl(from), unwrap_impl(to), unwrap_impl(steps)))
|
18
|
+
end
|
19
|
+
|
20
|
+
# @nodoc
|
21
|
+
def press(key)
|
22
|
+
wrap_impl(@impl.press(unwrap_impl(key)))
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
@@ -4,20 +4,24 @@ module Playwright
|
|
4
4
|
|
5
5
|
# -- inherited from EventEmitter --
|
6
6
|
# @nodoc
|
7
|
-
def
|
8
|
-
|
7
|
+
def once(event, callback)
|
8
|
+
event_emitter_proxy.once(event, callback)
|
9
9
|
end
|
10
10
|
|
11
11
|
# -- inherited from EventEmitter --
|
12
12
|
# @nodoc
|
13
|
-
def
|
14
|
-
|
13
|
+
def on(event, callback)
|
14
|
+
event_emitter_proxy.on(event, callback)
|
15
15
|
end
|
16
16
|
|
17
17
|
# -- inherited from EventEmitter --
|
18
18
|
# @nodoc
|
19
|
-
def
|
20
|
-
|
19
|
+
def off(event, callback)
|
20
|
+
event_emitter_proxy.off(event, callback)
|
21
|
+
end
|
22
|
+
|
23
|
+
private def event_emitter_proxy
|
24
|
+
@event_emitter_proxy ||= EventEmitterProxy.new(self, @impl)
|
21
25
|
end
|
22
26
|
end
|
23
27
|
end
|
@@ -1,7 +1,7 @@
|
|
1
1
|
module Playwright
|
2
2
|
# - extends: [EventEmitter]
|
3
3
|
#
|
4
|
-
# A Browser is created via [`method: BrowserType.launch`]. An example of using a `Browser` to create a
|
4
|
+
# A Browser is created via [`method: BrowserType.launch`]. An example of using a `Browser` to create a `Page`:
|
5
5
|
#
|
6
6
|
#
|
7
7
|
# ```js
|
@@ -135,20 +135,20 @@ module Playwright
|
|
135
135
|
isMobile: nil,
|
136
136
|
javaScriptEnabled: nil,
|
137
137
|
locale: nil,
|
138
|
-
|
138
|
+
noViewport: nil,
|
139
139
|
offline: nil,
|
140
140
|
permissions: nil,
|
141
141
|
proxy: nil,
|
142
|
-
|
143
|
-
|
142
|
+
record_har_omit_content: nil,
|
143
|
+
record_har_path: nil,
|
144
|
+
record_video_dir: nil,
|
145
|
+
record_video_size: nil,
|
144
146
|
storageState: nil,
|
145
147
|
timezoneId: nil,
|
146
148
|
userAgent: nil,
|
147
|
-
videoSize: nil,
|
148
|
-
videosPath: nil,
|
149
149
|
viewport: nil,
|
150
150
|
&block)
|
151
|
-
wrap_impl(@impl.new_context(acceptDownloads: unwrap_impl(acceptDownloads), bypassCSP: unwrap_impl(bypassCSP), colorScheme: unwrap_impl(colorScheme), deviceScaleFactor: unwrap_impl(deviceScaleFactor), extraHTTPHeaders: unwrap_impl(extraHTTPHeaders), geolocation: unwrap_impl(geolocation), hasTouch: unwrap_impl(hasTouch), httpCredentials: unwrap_impl(httpCredentials), ignoreHTTPSErrors: unwrap_impl(ignoreHTTPSErrors), isMobile: unwrap_impl(isMobile), javaScriptEnabled: unwrap_impl(javaScriptEnabled), locale: unwrap_impl(locale),
|
151
|
+
wrap_impl(@impl.new_context(acceptDownloads: unwrap_impl(acceptDownloads), bypassCSP: unwrap_impl(bypassCSP), colorScheme: unwrap_impl(colorScheme), deviceScaleFactor: unwrap_impl(deviceScaleFactor), extraHTTPHeaders: unwrap_impl(extraHTTPHeaders), geolocation: unwrap_impl(geolocation), hasTouch: unwrap_impl(hasTouch), httpCredentials: unwrap_impl(httpCredentials), 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), storageState: unwrap_impl(storageState), timezoneId: unwrap_impl(timezoneId), userAgent: unwrap_impl(userAgent), viewport: unwrap_impl(viewport), &wrap_block_call(block)))
|
152
152
|
end
|
153
153
|
|
154
154
|
# Creates a new page in a new browser context. Closing this page will close the context as well.
|
@@ -169,19 +169,19 @@ module Playwright
|
|
169
169
|
isMobile: nil,
|
170
170
|
javaScriptEnabled: nil,
|
171
171
|
locale: nil,
|
172
|
-
|
172
|
+
noViewport: nil,
|
173
173
|
offline: nil,
|
174
174
|
permissions: nil,
|
175
175
|
proxy: nil,
|
176
|
-
|
177
|
-
|
176
|
+
record_har_omit_content: nil,
|
177
|
+
record_har_path: nil,
|
178
|
+
record_video_dir: nil,
|
179
|
+
record_video_size: nil,
|
178
180
|
storageState: nil,
|
179
181
|
timezoneId: nil,
|
180
182
|
userAgent: nil,
|
181
|
-
videoSize: nil,
|
182
|
-
videosPath: nil,
|
183
183
|
viewport: nil)
|
184
|
-
wrap_impl(@impl.new_page(acceptDownloads: unwrap_impl(acceptDownloads), bypassCSP: unwrap_impl(bypassCSP), colorScheme: unwrap_impl(colorScheme), deviceScaleFactor: unwrap_impl(deviceScaleFactor), extraHTTPHeaders: unwrap_impl(extraHTTPHeaders), geolocation: unwrap_impl(geolocation), hasTouch: unwrap_impl(hasTouch), httpCredentials: unwrap_impl(httpCredentials), ignoreHTTPSErrors: unwrap_impl(ignoreHTTPSErrors), isMobile: unwrap_impl(isMobile), javaScriptEnabled: unwrap_impl(javaScriptEnabled), locale: unwrap_impl(locale),
|
184
|
+
wrap_impl(@impl.new_page(acceptDownloads: unwrap_impl(acceptDownloads), bypassCSP: unwrap_impl(bypassCSP), colorScheme: unwrap_impl(colorScheme), deviceScaleFactor: unwrap_impl(deviceScaleFactor), extraHTTPHeaders: unwrap_impl(extraHTTPHeaders), geolocation: unwrap_impl(geolocation), hasTouch: unwrap_impl(hasTouch), httpCredentials: unwrap_impl(httpCredentials), 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), storageState: unwrap_impl(storageState), timezoneId: unwrap_impl(timezoneId), userAgent: unwrap_impl(userAgent), viewport: unwrap_impl(viewport)))
|
185
185
|
end
|
186
186
|
|
187
187
|
# Returns the browser version.
|
@@ -189,27 +189,26 @@ module Playwright
|
|
189
189
|
wrap_impl(@impl.version)
|
190
190
|
end
|
191
191
|
|
192
|
+
# -- inherited from EventEmitter --
|
192
193
|
# @nodoc
|
193
|
-
def
|
194
|
-
|
194
|
+
def once(event, callback)
|
195
|
+
event_emitter_proxy.once(event, callback)
|
195
196
|
end
|
196
197
|
|
197
198
|
# -- inherited from EventEmitter --
|
198
199
|
# @nodoc
|
199
200
|
def on(event, callback)
|
200
|
-
|
201
|
+
event_emitter_proxy.on(event, callback)
|
201
202
|
end
|
202
203
|
|
203
204
|
# -- inherited from EventEmitter --
|
204
205
|
# @nodoc
|
205
206
|
def off(event, callback)
|
206
|
-
|
207
|
+
event_emitter_proxy.off(event, callback)
|
207
208
|
end
|
208
209
|
|
209
|
-
|
210
|
-
|
211
|
-
def once(event, callback)
|
212
|
-
wrap_impl(@impl.once(unwrap_impl(event), unwrap_impl(callback)))
|
210
|
+
private def event_emitter_proxy
|
211
|
+
@event_emitter_proxy ||= EventEmitterProxy.new(self, @impl)
|
213
212
|
end
|
214
213
|
end
|
215
214
|
end
|
@@ -96,7 +96,7 @@ module Playwright
|
|
96
96
|
#
|
97
97
|
# > NOTE: The order of evaluation of multiple scripts installed via [`method: BrowserContext.addInitScript`] and
|
98
98
|
# [`method: Page.addInitScript`] is not defined.
|
99
|
-
def add_init_script(
|
99
|
+
def add_init_script(path: nil, script: nil)
|
100
100
|
raise NotImplementedError.new('add_init_script is not implemented yet.')
|
101
101
|
end
|
102
102
|
|
@@ -523,12 +523,6 @@ module Playwright
|
|
523
523
|
end
|
524
524
|
alias_method :geolocation=, :set_geolocation
|
525
525
|
|
526
|
-
# **DEPRECATED** Browsers may cache credentials after successful authentication. Create a new browser context instead.
|
527
|
-
def set_http_credentials(httpCredentials)
|
528
|
-
raise NotImplementedError.new('set_http_credentials is not implemented yet.')
|
529
|
-
end
|
530
|
-
alias_method :http_credentials=, :set_http_credentials
|
531
|
-
|
532
526
|
def set_offline(offline)
|
533
527
|
raise NotImplementedError.new('set_offline is not implemented yet.')
|
534
528
|
end
|
@@ -567,18 +561,24 @@ module Playwright
|
|
567
561
|
# page.click("button")
|
568
562
|
# page = event_info.value
|
569
563
|
# ```
|
570
|
-
def expect_event(event,
|
564
|
+
def expect_event(event, predicate: nil, timeout: nil)
|
571
565
|
raise NotImplementedError.new('expect_event is not implemented yet.')
|
572
566
|
end
|
573
567
|
|
574
|
-
#
|
575
|
-
|
576
|
-
|
568
|
+
# Performs action and waits for `page` event to fire. If predicate is provided, it passes `Page` value into the
|
569
|
+
# `predicate` function and waits for `predicate(event)` to return a truthy value. Will throw an error if the page is
|
570
|
+
# closed before the worker event is fired.
|
571
|
+
def expect_page(predicate: nil, timeout: nil)
|
572
|
+
raise NotImplementedError.new('expect_page is not implemented yet.')
|
577
573
|
end
|
578
574
|
|
579
|
-
#
|
580
|
-
|
581
|
-
|
575
|
+
# > NOTE: In most cases, you should use [`method: BrowserContext.waitForEvent`].
|
576
|
+
#
|
577
|
+
# Waits for given `event` to fire. If predicate is provided, it passes event's value into the `predicate` function and
|
578
|
+
# waits for `predicate(event)` to return a truthy value. Will throw an error if the socket is closed before the `event` is
|
579
|
+
# fired.
|
580
|
+
def wait_for_event(event, predicate: nil, timeout: nil)
|
581
|
+
raise NotImplementedError.new('wait_for_event is not implemented yet.')
|
582
582
|
end
|
583
583
|
|
584
584
|
# @nodoc
|
@@ -586,6 +586,11 @@ module Playwright
|
|
586
586
|
wrap_impl(@impl.browser=(unwrap_impl(req)))
|
587
587
|
end
|
588
588
|
|
589
|
+
# @nodoc
|
590
|
+
def owner_page=(req)
|
591
|
+
wrap_impl(@impl.owner_page=(unwrap_impl(req)))
|
592
|
+
end
|
593
|
+
|
589
594
|
# @nodoc
|
590
595
|
def options=(req)
|
591
596
|
wrap_impl(@impl.options=(unwrap_impl(req)))
|
@@ -593,20 +598,24 @@ module Playwright
|
|
593
598
|
|
594
599
|
# -- inherited from EventEmitter --
|
595
600
|
# @nodoc
|
596
|
-
def
|
597
|
-
|
601
|
+
def once(event, callback)
|
602
|
+
event_emitter_proxy.once(event, callback)
|
598
603
|
end
|
599
604
|
|
600
605
|
# -- inherited from EventEmitter --
|
601
606
|
# @nodoc
|
602
|
-
def
|
603
|
-
|
607
|
+
def on(event, callback)
|
608
|
+
event_emitter_proxy.on(event, callback)
|
604
609
|
end
|
605
610
|
|
606
611
|
# -- inherited from EventEmitter --
|
607
612
|
# @nodoc
|
608
|
-
def
|
609
|
-
|
613
|
+
def off(event, callback)
|
614
|
+
event_emitter_proxy.off(event, callback)
|
615
|
+
end
|
616
|
+
|
617
|
+
private def event_emitter_proxy
|
618
|
+
@event_emitter_proxy ||= EventEmitterProxy.new(self, @impl)
|
610
619
|
end
|
611
620
|
end
|
612
621
|
end
|
@@ -49,11 +49,6 @@ module Playwright
|
|
49
49
|
# ```
|
50
50
|
class BrowserType < PlaywrightApi
|
51
51
|
|
52
|
-
# This methods attaches Playwright to an existing browser instance.
|
53
|
-
def connect(params)
|
54
|
-
raise NotImplementedError.new('connect is not implemented yet.')
|
55
|
-
end
|
56
|
-
|
57
52
|
# A path where Playwright expects to find a bundled browser executable.
|
58
53
|
def executable_path
|
59
54
|
wrap_impl(@impl.executable_path)
|
@@ -109,12 +104,11 @@ module Playwright
|
|
109
104
|
handleSIGTERM: nil,
|
110
105
|
headless: nil,
|
111
106
|
ignoreDefaultArgs: nil,
|
112
|
-
logger: nil,
|
113
107
|
proxy: nil,
|
114
108
|
slowMo: nil,
|
115
109
|
timeout: nil,
|
116
110
|
&block)
|
117
|
-
wrap_impl(@impl.launch(args: unwrap_impl(args), chromiumSandbox: unwrap_impl(chromiumSandbox), devtools: unwrap_impl(devtools), downloadsPath: unwrap_impl(downloadsPath), env: unwrap_impl(env), executablePath: unwrap_impl(executablePath), firefoxUserPrefs: unwrap_impl(firefoxUserPrefs), handleSIGHUP: unwrap_impl(handleSIGHUP), handleSIGINT: unwrap_impl(handleSIGINT), handleSIGTERM: unwrap_impl(handleSIGTERM), headless: unwrap_impl(headless), ignoreDefaultArgs: unwrap_impl(ignoreDefaultArgs),
|
111
|
+
wrap_impl(@impl.launch(args: unwrap_impl(args), chromiumSandbox: unwrap_impl(chromiumSandbox), devtools: unwrap_impl(devtools), downloadsPath: unwrap_impl(downloadsPath), env: unwrap_impl(env), executablePath: unwrap_impl(executablePath), firefoxUserPrefs: unwrap_impl(firefoxUserPrefs), handleSIGHUP: unwrap_impl(handleSIGHUP), handleSIGINT: unwrap_impl(handleSIGINT), handleSIGTERM: unwrap_impl(handleSIGTERM), headless: unwrap_impl(headless), ignoreDefaultArgs: unwrap_impl(ignoreDefaultArgs), proxy: unwrap_impl(proxy), slowMo: unwrap_impl(slowMo), timeout: unwrap_impl(timeout), &wrap_block_call(block)))
|
118
112
|
end
|
119
113
|
|
120
114
|
# Returns the persistent browser context instance.
|
@@ -146,60 +140,22 @@ module Playwright
|
|
146
140
|
isMobile: nil,
|
147
141
|
javaScriptEnabled: nil,
|
148
142
|
locale: nil,
|
149
|
-
|
143
|
+
noViewport: nil,
|
150
144
|
offline: nil,
|
151
145
|
permissions: nil,
|
152
146
|
proxy: nil,
|
153
|
-
|
154
|
-
|
147
|
+
record_har_omit_content: nil,
|
148
|
+
record_har_path: nil,
|
149
|
+
record_video_dir: nil,
|
150
|
+
record_video_size: nil,
|
155
151
|
slowMo: nil,
|
156
152
|
timeout: nil,
|
157
153
|
timezoneId: nil,
|
158
154
|
userAgent: nil,
|
159
|
-
videoSize: nil,
|
160
|
-
videosPath: nil,
|
161
155
|
viewport: nil)
|
162
156
|
raise NotImplementedError.new('launch_persistent_context is not implemented yet.')
|
163
157
|
end
|
164
158
|
|
165
|
-
# Returns the browser app instance.
|
166
|
-
#
|
167
|
-
# Launches browser server that client can connect to. An example of launching a browser executable and connecting to it
|
168
|
-
# later:
|
169
|
-
#
|
170
|
-
#
|
171
|
-
# ```js
|
172
|
-
# const { chromium } = require('playwright'); // Or 'webkit' or 'firefox'.
|
173
|
-
#
|
174
|
-
# (async () => {
|
175
|
-
# const browserServer = await chromium.launchServer();
|
176
|
-
# const wsEndpoint = browserServer.wsEndpoint();
|
177
|
-
# // Use web socket endpoint later to establish a connection.
|
178
|
-
# const browser = await chromium.connect({ wsEndpoint });
|
179
|
-
# // Close browser instance.
|
180
|
-
# await browserServer.close();
|
181
|
-
# })();
|
182
|
-
# ```
|
183
|
-
def launch_server(
|
184
|
-
args: nil,
|
185
|
-
chromiumSandbox: nil,
|
186
|
-
devtools: nil,
|
187
|
-
downloadsPath: nil,
|
188
|
-
env: nil,
|
189
|
-
executablePath: nil,
|
190
|
-
firefoxUserPrefs: nil,
|
191
|
-
handleSIGHUP: nil,
|
192
|
-
handleSIGINT: nil,
|
193
|
-
handleSIGTERM: nil,
|
194
|
-
headless: nil,
|
195
|
-
ignoreDefaultArgs: nil,
|
196
|
-
logger: nil,
|
197
|
-
port: nil,
|
198
|
-
proxy: nil,
|
199
|
-
timeout: nil)
|
200
|
-
raise NotImplementedError.new('launch_server is not implemented yet.')
|
201
|
-
end
|
202
|
-
|
203
159
|
# Returns browser name. For example: `'chromium'`, `'webkit'` or `'firefox'`.
|
204
160
|
def name
|
205
161
|
wrap_impl(@impl.name)
|
@@ -207,20 +163,24 @@ module Playwright
|
|
207
163
|
|
208
164
|
# -- inherited from EventEmitter --
|
209
165
|
# @nodoc
|
210
|
-
def
|
211
|
-
|
166
|
+
def once(event, callback)
|
167
|
+
event_emitter_proxy.once(event, callback)
|
212
168
|
end
|
213
169
|
|
214
170
|
# -- inherited from EventEmitter --
|
215
171
|
# @nodoc
|
216
|
-
def
|
217
|
-
|
172
|
+
def on(event, callback)
|
173
|
+
event_emitter_proxy.on(event, callback)
|
218
174
|
end
|
219
175
|
|
220
176
|
# -- inherited from EventEmitter --
|
221
177
|
# @nodoc
|
222
|
-
def
|
223
|
-
|
178
|
+
def off(event, callback)
|
179
|
+
event_emitter_proxy.off(event, callback)
|
180
|
+
end
|
181
|
+
|
182
|
+
private def event_emitter_proxy
|
183
|
+
@event_emitter_proxy ||= EventEmitterProxy.new(self, @impl)
|
224
184
|
end
|
225
185
|
end
|
226
186
|
end
|