View Source Playwright.JSHandle (playwright v1.49.1-alpha.2)
Playwright.JSHandle represents an in-page JavaScript object. JSHandles
can be created with Playwright.Page.evaluate_handle/3.
Example
handle = Page.evaluate_handle(page, "() => window")JSHandle prevents the referenced JavaScript object from being garbage
collected unless the handle is disposed with Playwright.JSHandle.dispose/1.
JSHandles are auto-disposed when their origin frame gets navigated or the
parent context gets destroyed.
JSHandle instances can be used as arguments to:
Summary
Functions
Returns either nil or the object handle itself, if the object handle is an instance of Playwright.ElementHandle.
Returns the return value from executing param: expression in the browser as
a Playwright.JSHandle.
Optional callback implementation for Playwright.SDK.ChannelOwner.init/2.
Types
Functions
@spec as_element(struct()) :: Playwright.ElementHandle.t() | nil
Returns either nil or the object handle itself, if the object handle is an instance of Playwright.ElementHandle.
@spec evaluate_handle(t() | Playwright.ElementHandle.t(), binary(), any()) :: Playwright.ElementHandle.t()
Returns the return value from executing param: expression in the browser as
a Playwright.JSHandle.
This function passes the handle as the first argument to param: expression.
The only difference between Playwright.JSHandle.evaluate/3 and
Playwright.JSHandle.evaluate_handle/3 is that evaluate_handle returns
Playwright.JSHandle.
If the expression passed to Playwright.JSHandle.evaluate_handle/3 returns
a Promise, Playwright.JSHandle.evaluate_handle/3 waits for the promise to
resolve and return its value.
See Playwright.Page.evaluate_handle/3 for more details.
Returns
Playwright.ElementHandle.t()
Arguments
| key/name | type | description | |
|---|---|---|---|
expression | param | binary() | Function to be evaluated in the page context. |
arg | param | any() | Argument to pass to expression (optional) |
Optional callback implementation for Playwright.SDK.ChannelOwner.init/2.
If implemented, the callback will receive:
- The newly created "channel owner" struct.
- The
:initializerreceived 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"}}
endReturns
{: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. |