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.

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

Console.WriteLine("Current Workers:");
foreach(var pageWorker in page.Workers)
{
Console.WriteLine($"\tWorker: {pageWorker.Url}");
}

Methods

EvaluateAsync

Added before v1.9 worker.EvaluateAsync

Returns the return value of expression.

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

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

Usage

await Worker.EvaluateAsync(expression, arg);

Arguments

  • expression string#

    JavaScript expression to be evaluated in the browser context. If the expression evaluates to a function, the function is automatically invoked.

  • arg EvaluationArgument? (optional)#

    Optional argument to pass to expression.

Returns

  • [object]#

EvaluateHandleAsync

Added before v1.9 worker.EvaluateHandleAsync

Returns the return value of expression as a JSHandle.

The only difference between Worker.EvaluateAsync() and Worker.EvaluateHandleAsync() is that Worker.EvaluateHandleAsync() returns JSHandle.

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

Usage

await Worker.EvaluateHandleAsync(expression, arg);

Arguments

  • expression string#

    JavaScript expression to be evaluated in the browser context. If the expression evaluates to a function, the function is automatically invoked.

  • arg EvaluationArgument? (optional)#

    Optional argument to pass to expression.

Returns


Url

Added before v1.9 worker.Url

Usage

Worker.Url

Returns


Events

event Close

Added before v1.9 worker.event Close

Emitted when this dedicated WebWorker is terminated.

Usage

Worker.Close += async (_, worker) => {};

Event data