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.

“‘js page.on(’worker’, worker =>

console.log('Worker created: ' + worker.url());
worker.on('close', worker => console.log('Worker destroyed: ' + worker.url()));

);

console.log(‘Current workers:’); for (const worker of page.workers())

console.log('  ' + worker.url());

“‘

“‘java page.onWorker(worker ->

System.out.println("Worker created: " + worker.url());
worker.onClose(worker1 -> System.out.println("Worker destroyed: " + worker1.url()));

); System.out.println(“Current workers:”); for (Worker worker : page.workers())

System.out.println("  " + worker.url());

“‘

“‘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)

“‘

“‘csharp Page.Worker += (_, worker) =>

Console.WriteLine($"Worker created: {worker.Url");
worker.Close += (_, _) => Console.WriteLine($"Worker closed workerworker.Url");

};

Console.WriteLine(“Current Workers:”); foreach(var pageWorker in Page.Workers) {

Console.WriteLine($"\tWorker: {pageWorker.Url}");

} “‘

Instance Method Summary collapse

Methods inherited from PlaywrightApi

#==, #initialize, wrap

Constructor Details

This class inherits a constructor from Playwright::PlaywrightApi

Instance Method Details

#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.

Raises:



63
64
65
# File 'lib/playwright_api/worker.rb', line 63

def evaluate(expression, arg: nil)
  raise NotImplementedError.new('evaluate is not implemented yet.')
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.

Raises:



74
75
76
# File 'lib/playwright_api/worker.rb', line 74

def evaluate_handle(expression, arg: nil)
  raise NotImplementedError.new('evaluate_handle is not implemented yet.')
end

#urlObject

Raises:



78
79
80
# File 'lib/playwright_api/worker.rb', line 78

def url
  raise NotImplementedError.new('url is not implemented yet.')
end