Playwright (playwright v1.18.0-alpha.1) View Source

Playwright module provides functions to launch a Playwright.Browser.

The following is a typical example of using Playwright to drive automation.

Example

alias Playwright.{Browser, Page, Response}

browser = Playwright.launch(:chromium)

assert Browser.new_page(browser)
|> Page.goto("http://example.com")
|> Response.ok()

Browser.close(browser)

Link to this section Summary

Types

The web client type used for launch and connect functions.

t()

%Playwright{}

Functions

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

Launch an instance of Playwright.Browser.

Link to this section Types

Specs

client_type() :: :chromium | :firefox | :webkit

The web client type used for launch and connect functions.

Specs

t() :: %Playwright{
  chromium: term(),
  guid: term(),
  initializer: term(),
  listeners: term(),
  parent: term(),
  session: term(),
  type: term()
}

%Playwright{}

Link to this section Functions

Link to this function

init(owner, initializer)

View Source

Specs

init(
  struct(),
  map()
) :: {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.

Example

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

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

Returns

  • {:ok, struct()}

Arguments

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

Specs

launch(client_type() | nil) :: Playwright.Browser.t()

Launch an instance of Playwright.Browser.

Arguments

  • type: The type of client (browser) to launch. (:chromium | nil) with default :chromium