Class: Playwright::Worker

Inherits:
PlaywrightApi show all
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

Methods inherited from PlaywrightApi

#initialize, unwrap, wrap

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

#urlObject



45
46
47
# File 'lib/playwright_api/worker.rb', line 45

def url
  wrap_impl(@impl.url)
end