playwright-ruby-client 0.0.7 → 0.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|