playwright-ruby-client 0.0.6 → 0.2.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 +117 -5
- data/docs/api_coverage.md +359 -0
- data/lib/playwright.rb +6 -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 +6 -7
- data/lib/playwright/channel_owners/android.rb +10 -1
- data/lib/playwright/channel_owners/android_device.rb +163 -0
- data/lib/playwright/channel_owners/browser.rb +14 -14
- 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 +243 -1
- data/lib/playwright/channel_owners/frame.rb +269 -22
- data/lib/playwright/channel_owners/js_handle.rb +51 -0
- data/lib/playwright/channel_owners/page.rb +379 -34
- data/lib/playwright/channel_owners/request.rb +9 -1
- data/lib/playwright/channel_owners/webkit_browser.rb +1 -1
- data/lib/playwright/connection.rb +9 -6
- data/lib/playwright/errors.rb +2 -2
- 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 +42 -0
- 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 +11 -11
- data/lib/playwright/{input_types/keyboard.rb → keyboard_impl.rb} +6 -2
- data/lib/playwright/mouse_impl.rb +7 -0
- data/lib/playwright/playwright_api.rb +66 -19
- data/lib/playwright/select_option_values.rb +42 -0
- data/lib/playwright/timeout_settings.rb +1 -1
- data/lib/playwright/touchscreen_impl.rb +7 -0
- data/lib/playwright/utils.rb +18 -0
- data/lib/playwright/version.rb +1 -1
- data/lib/playwright/wait_helper.rb +1 -1
- data/lib/playwright_api/android.rb +32 -0
- data/lib/playwright_api/android_device.rb +77 -0
- data/lib/playwright_api/android_input.rb +25 -0
- data/lib/playwright_api/binding_call.rb +10 -6
- data/lib/playwright_api/browser.rb +22 -22
- data/lib/playwright_api/browser_context.rb +31 -22
- 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 +9 -10
- data/lib/playwright_api/dialog.rb +7 -3
- data/lib/playwright_api/download.rb +28 -11
- data/lib/playwright_api/element_handle.rb +139 -127
- data/lib/playwright_api/file_chooser.rb +17 -9
- data/lib/playwright_api/frame.rb +148 -148
- data/lib/playwright_api/js_handle.rb +26 -22
- data/lib/playwright_api/keyboard.rb +6 -6
- data/lib/playwright_api/page.rb +215 -179
- data/lib/playwright_api/playwright.rb +34 -46
- 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
- data/playwright.gemspec +1 -0
- metadata +32 -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
@@ -0,0 +1,42 @@
|
|
1
|
+
module Playwright
|
2
|
+
class SelectOptionValues
|
3
|
+
def initialize(element: nil, index: nil, value: nil, label: nil)
|
4
|
+
@params =
|
5
|
+
if element
|
6
|
+
convert(elmeent)
|
7
|
+
elsif index
|
8
|
+
convert(index)
|
9
|
+
elsif value
|
10
|
+
convert(value)
|
11
|
+
elsif label
|
12
|
+
convert(label)
|
13
|
+
else
|
14
|
+
{}
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
# @return [Hash]
|
19
|
+
def as_params
|
20
|
+
@params
|
21
|
+
end
|
22
|
+
|
23
|
+
private def convert(values)
|
24
|
+
return convert([values]) unless values.is_a?(Enumerable)
|
25
|
+
return {} if values.empty?
|
26
|
+
values.each_with_index do |value, index|
|
27
|
+
unless values
|
28
|
+
raise ArgumentError.new("options[#{index}]: expected object, got null")
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
|
+
case values.first
|
33
|
+
when ElementHandle
|
34
|
+
{ elements: values.map(&:channel) }
|
35
|
+
when String
|
36
|
+
{ options: values.map { |value| { value: value } } }
|
37
|
+
else
|
38
|
+
{ options: values }
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
data/lib/playwright/utils.rb
CHANGED
@@ -1,5 +1,23 @@
|
|
1
1
|
module Playwright
|
2
2
|
module Utils
|
3
|
+
module PrepareBrowserContextOptions
|
4
|
+
# @see https://github.com/microsoft/playwright/blob/5a2cfdbd47ed3c3deff77bb73e5fac34241f649d/src/client/browserContext.ts#L265
|
5
|
+
private def prepare_browser_context_options(params)
|
6
|
+
if params[:noViewport] == 0
|
7
|
+
params.delete(:noViewport)
|
8
|
+
params[:noDefaultViewport] = true
|
9
|
+
end
|
10
|
+
if params[:extraHTTPHeaders]
|
11
|
+
params[:extraHTTPHeaders] = ::Playwright::HttpHeaders.new(params[:extraHTTPHeaders]).as_serialized
|
12
|
+
end
|
13
|
+
if params[:storageState].is_a?(String)
|
14
|
+
params[:storageState] = JSON.parse(File.read(params[:storageState]))
|
15
|
+
end
|
16
|
+
|
17
|
+
params
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
3
21
|
module Errors
|
4
22
|
module SafeCloseError
|
5
23
|
# @param err [Exception]
|
data/lib/playwright/version.rb
CHANGED
@@ -0,0 +1,32 @@
|
|
1
|
+
module Playwright
|
2
|
+
# @nodoc
|
3
|
+
class Android < PlaywrightApi
|
4
|
+
|
5
|
+
# @nodoc
|
6
|
+
def devices
|
7
|
+
wrap_impl(@impl.devices)
|
8
|
+
end
|
9
|
+
|
10
|
+
# -- inherited from EventEmitter --
|
11
|
+
# @nodoc
|
12
|
+
def once(event, callback)
|
13
|
+
event_emitter_proxy.once(event, callback)
|
14
|
+
end
|
15
|
+
|
16
|
+
# -- inherited from EventEmitter --
|
17
|
+
# @nodoc
|
18
|
+
def on(event, callback)
|
19
|
+
event_emitter_proxy.on(event, callback)
|
20
|
+
end
|
21
|
+
|
22
|
+
# -- inherited from EventEmitter --
|
23
|
+
# @nodoc
|
24
|
+
def off(event, callback)
|
25
|
+
event_emitter_proxy.off(event, callback)
|
26
|
+
end
|
27
|
+
|
28
|
+
private def event_emitter_proxy
|
29
|
+
@event_emitter_proxy ||= EventEmitterProxy.new(self, @impl)
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
@@ -0,0 +1,77 @@
|
|
1
|
+
module Playwright
|
2
|
+
# @nodoc
|
3
|
+
class AndroidDevice < PlaywrightApi
|
4
|
+
|
5
|
+
# @nodoc
|
6
|
+
def tree
|
7
|
+
wrap_impl(@impl.tree)
|
8
|
+
end
|
9
|
+
|
10
|
+
# @nodoc
|
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)))
|
23
|
+
end
|
24
|
+
|
25
|
+
# @nodoc
|
26
|
+
def shell(command)
|
27
|
+
wrap_impl(@impl.shell(unwrap_impl(command)))
|
28
|
+
end
|
29
|
+
|
30
|
+
# @nodoc
|
31
|
+
def input
|
32
|
+
wrap_impl(@impl.input)
|
33
|
+
end
|
34
|
+
|
35
|
+
# @nodoc
|
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)
|
53
|
+
end
|
54
|
+
|
55
|
+
# -- inherited from EventEmitter --
|
56
|
+
# @nodoc
|
57
|
+
def once(event, callback)
|
58
|
+
event_emitter_proxy.once(event, callback)
|
59
|
+
end
|
60
|
+
|
61
|
+
# -- inherited from EventEmitter --
|
62
|
+
# @nodoc
|
63
|
+
def on(event, callback)
|
64
|
+
event_emitter_proxy.on(event, callback)
|
65
|
+
end
|
66
|
+
|
67
|
+
# -- inherited from EventEmitter --
|
68
|
+
# @nodoc
|
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)
|
75
|
+
end
|
76
|
+
end
|
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,19 +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
|
-
|
148
|
-
|
149
|
-
|
150
|
-
wrap_impl(@impl.new_context(acceptDownloads: acceptDownloads, bypassCSP: bypassCSP, colorScheme: colorScheme, deviceScaleFactor: deviceScaleFactor, extraHTTPHeaders: extraHTTPHeaders, geolocation: geolocation, hasTouch: hasTouch, httpCredentials: httpCredentials, ignoreHTTPSErrors: ignoreHTTPSErrors, isMobile: isMobile, javaScriptEnabled: javaScriptEnabled, locale: locale, logger: logger, offline: offline, permissions: permissions, proxy: proxy, recordHar: recordHar, recordVideo: recordVideo, storageState: storageState, timezoneId: timezoneId, userAgent: userAgent, videoSize: videoSize, videosPath: videosPath, viewport: viewport))
|
149
|
+
viewport: nil,
|
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), 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)))
|
151
152
|
end
|
152
153
|
|
153
154
|
# Creates a new page in a new browser context. Closing this page will close the context as well.
|
@@ -168,19 +169,19 @@ module Playwright
|
|
168
169
|
isMobile: nil,
|
169
170
|
javaScriptEnabled: nil,
|
170
171
|
locale: nil,
|
171
|
-
|
172
|
+
noViewport: nil,
|
172
173
|
offline: nil,
|
173
174
|
permissions: nil,
|
174
175
|
proxy: nil,
|
175
|
-
|
176
|
-
|
176
|
+
record_har_omit_content: nil,
|
177
|
+
record_har_path: nil,
|
178
|
+
record_video_dir: nil,
|
179
|
+
record_video_size: nil,
|
177
180
|
storageState: nil,
|
178
181
|
timezoneId: nil,
|
179
182
|
userAgent: nil,
|
180
|
-
videoSize: nil,
|
181
|
-
videosPath: nil,
|
182
183
|
viewport: nil)
|
183
|
-
wrap_impl(@impl.new_page(acceptDownloads: acceptDownloads, bypassCSP: bypassCSP, colorScheme: colorScheme, deviceScaleFactor: deviceScaleFactor, extraHTTPHeaders: extraHTTPHeaders, geolocation: geolocation, hasTouch: hasTouch, httpCredentials: httpCredentials, ignoreHTTPSErrors: ignoreHTTPSErrors, isMobile: isMobile, javaScriptEnabled: javaScriptEnabled, locale: 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)))
|
184
185
|
end
|
185
186
|
|
186
187
|
# Returns the browser version.
|
@@ -188,27 +189,26 @@ module Playwright
|
|
188
189
|
wrap_impl(@impl.version)
|
189
190
|
end
|
190
191
|
|
192
|
+
# -- inherited from EventEmitter --
|
191
193
|
# @nodoc
|
192
|
-
def
|
193
|
-
|
194
|
+
def once(event, callback)
|
195
|
+
event_emitter_proxy.once(event, callback)
|
194
196
|
end
|
195
197
|
|
196
198
|
# -- inherited from EventEmitter --
|
197
199
|
# @nodoc
|
198
200
|
def on(event, callback)
|
199
|
-
|
201
|
+
event_emitter_proxy.on(event, callback)
|
200
202
|
end
|
201
203
|
|
202
204
|
# -- inherited from EventEmitter --
|
203
205
|
# @nodoc
|
204
206
|
def off(event, callback)
|
205
|
-
|
207
|
+
event_emitter_proxy.off(event, callback)
|
206
208
|
end
|
207
209
|
|
208
|
-
|
209
|
-
|
210
|
-
def once(event, callback)
|
211
|
-
wrap_impl(@impl.once(event, callback))
|
210
|
+
private def event_emitter_proxy
|
211
|
+
@event_emitter_proxy ||= EventEmitterProxy.new(self, @impl)
|
212
212
|
end
|
213
213
|
end
|
214
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,46 +561,61 @@ 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
|
585
585
|
def browser=(req)
|
586
|
-
wrap_impl(@impl.browser=(req))
|
586
|
+
wrap_impl(@impl.browser=(unwrap_impl(req)))
|
587
|
+
end
|
588
|
+
|
589
|
+
# @nodoc
|
590
|
+
def owner_page=(req)
|
591
|
+
wrap_impl(@impl.owner_page=(unwrap_impl(req)))
|
587
592
|
end
|
588
593
|
|
589
594
|
# @nodoc
|
590
595
|
def options=(req)
|
591
|
-
wrap_impl(@impl.options=(req))
|
596
|
+
wrap_impl(@impl.options=(unwrap_impl(req)))
|
592
597
|
end
|
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
|