Class: Playwright::Worker
- Inherits:
-
PlaywrightApi
- Object
- PlaywrightApi
- Playwright::Worker
- Defined in:
- lib/playwright_api/worker.rb
Overview
The Worker class represents a [WebWorker](developer.mozilla.org/en-US/docs/Web/API/Web_Workers_API). ‘worker` event is emitted on the page object to signal a worker creation. `close` event is emitted on the worker object when the worker is gone.
“‘py def handle_worker(worker):
print("worker created: " + worker.url)
worker.on("close", lambda: print("worker destroyed: " + worker.url))
page.on(‘worker’, handle_worker)
print(“current workers:”) for worker in page.workers:
print(" " + worker.url)
“‘
Instance Method Summary collapse
- #context=(req) ⇒ Object
-
#evaluate(expression, arg: nil) ⇒ Object
Returns the return value of ‘expression`.
-
#evaluate_handle(expression, arg: nil) ⇒ Object
Returns the return value of ‘expression` as a `JSHandle`.
-
#expect_event(event, predicate: nil, timeout: nil, &block) ⇒ Object
Waits for event to fire and passes its value into the predicate function.
-
#off(event, callback) ⇒ Object
– inherited from EventEmitter –.
-
#on(event, callback) ⇒ Object
– inherited from EventEmitter –.
-
#once(event, callback) ⇒ Object
– inherited from EventEmitter –.
- #page=(req) ⇒ Object
- #url ⇒ Object
Methods inherited from PlaywrightApi
Constructor Details
This class inherits a constructor from Playwright::PlaywrightApi
Instance Method Details
#context=(req) ⇒ Object
67 68 69 |
# File 'lib/playwright_api/worker.rb', line 67 def context=(req) wrap_impl(@impl.context=(unwrap_impl(req))) end |
#evaluate(expression, arg: nil) ⇒ Object
Returns the return value of ‘expression`.
If the function passed to the [‘method: Worker.evaluate`] returns a [Promise], then [`method: Worker.evaluate`] would wait for the promise to resolve and return its value.
If the function passed to the [‘method: Worker.evaluate`] returns a non- value, then [`method: Worker.evaluate`] returns `undefined`. Playwright also supports transferring some additional values that are not serializable by `JSON`: `-0`, `NaN`, `Infinity`, `-Infinity`.
28 29 30 |
# File 'lib/playwright_api/worker.rb', line 28 def evaluate(expression, arg: nil) wrap_impl(@impl.evaluate(unwrap_impl(expression), arg: unwrap_impl(arg))) end |
#evaluate_handle(expression, arg: nil) ⇒ Object
Returns the return value of ‘expression` as a `JSHandle`.
The only difference between [‘method: Worker.evaluate`] and
- ‘method: Worker.evaluateHandle`
-
is that [‘method: Worker.evaluateHandle`]
returns ‘JSHandle`.
If the function passed to the [‘method: Worker.evaluateHandle`] returns a [Promise], then [`method: Worker.evaluateHandle`] would wait for the promise to resolve and return its value.
41 42 43 |
# File 'lib/playwright_api/worker.rb', line 41 def evaluate_handle(expression, arg: nil) wrap_impl(@impl.evaluate_handle(unwrap_impl(expression), arg: unwrap_impl(arg))) end |
#expect_event(event, predicate: nil, timeout: nil, &block) ⇒ Object
Waits for event to fire and passes its value into the predicate function. Returns when the predicate returns truthy value. Will throw an error if the page is closed before the event is fired. Returns the event data value.
Usage
“‘python sync with worker.expect_event(“console”) as event_info:
worker.evaluate("console.log(42)")
message = event_info.value “‘
62 63 64 |
# File 'lib/playwright_api/worker.rb', line 62 def expect_event(event, predicate: nil, timeout: nil, &block) wrap_impl(@impl.expect_event(unwrap_impl(event), predicate: unwrap_impl(predicate), timeout: unwrap_impl(timeout), &wrap_block_call(block))) end |
#off(event, callback) ⇒ Object
– inherited from EventEmitter –
90 91 92 |
# File 'lib/playwright_api/worker.rb', line 90 def off(event, callback) event_emitter_proxy.off(event, callback) end |
#on(event, callback) ⇒ Object
– inherited from EventEmitter –
84 85 86 |
# File 'lib/playwright_api/worker.rb', line 84 def on(event, callback) event_emitter_proxy.on(event, callback) end |
#once(event, callback) ⇒ Object
– inherited from EventEmitter –
78 79 80 |
# File 'lib/playwright_api/worker.rb', line 78 def once(event, callback) event_emitter_proxy.once(event, callback) end |
#page=(req) ⇒ Object
72 73 74 |
# File 'lib/playwright_api/worker.rb', line 72 def page=(req) wrap_impl(@impl.page=(unwrap_impl(req))) end |
#url ⇒ Object
45 46 47 |
# File 'lib/playwright_api/worker.rb', line 45 def url wrap_impl(@impl.url) end |