View Source Playwright (playwright v1.49.1-alpha.1)
Playwright
launches and manages with Playwright browser-server instances.
An example of using Playwright
to drive automation:
Example
alias Playwright.API.{Browser, Page, Response}
{:ok, browser} = Playwright.launch(:chromium)
{:ok, page} = Browser.new_page(browser)
{:ok, response} = Page.goto(browser, "http://example.com")
assert Response.ok(response)
Browser.close(browser)
Summary
Functions
Initiates an instance of Playwright.Browser
use the WebSocket transport.
Optional callback implementation for Playwright.SDK.ChannelOwner.init/2
.
Initiates an instance of Playwright.Browser
use the Driver transport.
Types
@type client() :: :chromium | :firefox | :webkit
The web client type used for launch
and connect
functions.
@type t() :: %Playwright{ chromium: term(), firefox: term(), guid: term(), initializer: term(), listeners: term(), parent: term(), session: term(), type: term(), webkit: term() }
%Playwright{}
Functions
Initiates an instance of Playwright.Browser
use the WebSocket transport.
Note that this approach assumes the a Playwright Server is running and
handling WebSocket requests at the configured ws_endpoint
.
Returns
{:ok, Playwright.Browser.t()}
Arguments
key/name | typ | description | |
---|---|---|---|
client | param | client() | The type of client (browser) to launch. |
options | param | options() | Playwright.SDK.Config.connect_options() |
Optional callback implementation for Playwright.SDK.ChannelOwner.init/2
.
If implemented, the callback will receive:
- The newly created "channel owner" struct.
- 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.warning("Closing #{inspect(event.target)}")
end)
{:ok, %{owner | version: "1.2.3"}}
end
Returns
{:ok, struct()}
Arguments
key/name | type | description | |
---|---|---|---|
owner | param | struct() | The newly created channel owner (resource). |
initializer | param | struct() | The initializer received from with the channel owner instance was derived. |
@spec launch(client(), Playwright.SDK.Config.connect_options() | map()) :: {:ok, Playwright.Browser.t()}
@spec launch(client(), Playwright.SDK.Config.launch_options() | map()) :: {:ok, Playwright.Browser.t()}
Initiates an instance of Playwright.Browser
use the Driver transport.
Returns
{:ok, Playwright.Browser.t()}
Arguments
key/name | typ | description | |
---|---|---|---|
client | param | client() | The type of client (browser) to launch. |
options | param | options() | Playwright.SDK.Config.launch_options() |