Playwright.Request (playwright v0.1.17-preview-3) View Source

Playwright.Request represents a request for a network resource.

Whenever the page sends a request for a network resource, the following sequence of events are emitted by Playwright.Page:

  • Playwright.Page.on/3 for "request": emitted when the request is issued by the page.
  • Playwright.Page.on/3 for "response": emitted when/if the response status and headers are received for the request.
  • Playwright.Page.on/3 for "requestFinished": emitted when the response body is downloaded and the request is complete.

If the request fails at some point, instead of a "requestFinished" event (and possibly "response" as well), the Playwright.Page.on/3 for "requestFailed" is emitted.


HTTP error responses, such as 404 or 503, are still successful responses from an HTTP stanpoint. So, such requests will complete with a "requestFinished" event.

If a request gets a "redirect" response, the request is successfully finished with the "requestFinished" event, and a new request is issued to the target redirected URL.

Link to this section Summary





Optional callback implementation for Playwright.ChannelOwner.init/2.

Link to this section Types


t() :: %Playwright.Request{
  connection: term(),
  failure: term(),
  frame: term(),
  guid: term(),
  headers: term(),
  initializer: term(),
  is_navigation_request: term(),
  listeners: term(),
  method: term(),
  parent: term(),
  post_data: term(),
  post_data_buffer: term(),
  post_data_json: term(),
  redirected_from: term(),
  redirected_to: term(),
  resource_type: term(),
  timing: term(),
  type: term(),
  url: term()


Link to this section Functions

Link to this function

init(owner, initializer)

View Source


) :: {atom(), struct()}

Optional callback implementation for Playwright.ChannelOwner.init/2.

If implemented, the callback will receive:

  1. The newly created "channel owner" struct.
  2. The :initializer received from the Playwright browser server.

The implementation has the option of "patching" the struct as stored in the catalog, and/or binding event handlers.


def init(owner, _initializer) do
  Channel.bind(owner, :close, fn event ->
    Logger.warn("Closing #{inspect(}")

  {:ok, %{owner | version: "1.2.3"}}


  • {:ok, struct()}


key / nametypedescription
ownerparamstruct()The newly created channel owner (resource).
initializerparamstruct()The initializer received from with the channel owner instance was derived.