Skip to main content

Worker

The Worker class represents a WebWorker. 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.

def handle_worker(worker)
puts "worker created: #{worker.url}"
worker.once("close", -> (w) { puts "worker destroyed: #{w.url}" })
end

page.on('worker', method(:handle_worker))

puts "current workers:"
page.workers.each do |worker|
puts " #{worker.url}"
end

evaluate

def evaluate(expression, arg: nil)

Returns the return value of expression.

If the function passed to the Worker#evaluate returns a Promise, then Worker#evaluate would wait for the promise to resolve and return its value.

If the function passed to the Worker#evaluate returns a non-Serializable value, then Worker#evaluate returns undefined. Playwright also supports transferring some additional values that are not serializable by JSON: -0, NaN, Infinity, -Infinity.

evaluate_handle

def evaluate_handle(expression, arg: nil)

Returns the return value of expression as a JSHandle.

The only difference between Worker#evaluate and Worker#evaluate_handle is that Worker#evaluate_handle returns JSHandle.

If the function passed to the Worker#evaluate_handle returns a Promise, then Worker#evaluate_handle would wait for the promise to resolve and return its value.

url

def url