WebDriver
WebDriver
W3C Working Draft
01 April 2026
More details about this document
This version:
Latest published version:
Latest editor's draft:
History:
Commit history
Test suite:
Implementation report:
Editors:
Simon Stewart
Apple
David Burns
BrowserStack
Feedback:
GitHub w3c/webdriver
pull requests
new issue
open issues
Channel
#webdriver on irc.w3.org
2026
World Wide Web Consortium
W3C
liability
trademark
and
permissive document license
rules apply.
Abstract
WebDriver is a remote control interface
that enables introspection and control of user agents.
It provides a platform- and language-neutral wire protocol
as a way for out-of-process programs
to remotely instruct the behavior of web browsers.
Provided is a set of interfaces
to discover and manipulate DOM elements in web documents
and to control the behavior of a user agent.
It is primarily intended to allow web authors to write tests
that automate a user agent from a separate controlling process,
but may also be used in such a way as to allow in-browser scripts
to control a — possibly separate — browser.
Status of This Document
This section describes the status of this
document at the time of its publication. A list of current
W3C
publications and the latest revision of this technical report can be found
in the
W3C
standards and drafts index
This document was published by the
Browser Testing and Tools Working Group
as
a Working Draft using the
Recommendation track
Publication as a Working Draft does not
imply endorsement by
W3C
and its Members.
This is a draft document and may be updated, replaced, or obsoleted by other
documents at any time. It is inappropriate to cite this document as other
than a work in progress.
This document was produced by a group
operating under the
W3C
Patent
Policy
W3C
maintains a
public list of any patent disclosures
made in connection with the deliverables of
the group; that page also includes
instructions for disclosing a patent. An individual who has actual
knowledge of a patent that the individual believes contains
Essential Claim(s)
must disclose the information in accordance with
section 6 of the
W3C
Patent Policy
This document is governed by the
18 August 2025
W3C
Process Document
1.
Design
This section is non-normative.
The WebDriver standard attempts to follow a number of design goals:
1.1
Compatibility
This specification is derived from the popular
Selenium WebDriver
browser automation framework.
Selenium is a long-lived project,
and due to its age and breadth of use
it has a wide range of expected functionality.
This specification uses these expectations to inform its design.
Where improvements or clarifications have been made,
they have been made with care to allow existing users of Selenium WebDriver
to avoid unexpected breakages.
1.2
Simplicity
The largest intended group of users of this specification
are software developers and testers
writing automated tests and other tooling,
such as monitoring or load testing, that relies on automating a browser.
As such, care has been taken to provide commands
that simplify common tasks such as
typing into
and
clicking
elements.
1.3
Extensions
WebDriver provides a mechanism for others to define extensions to the protocol
for the purposes of automating functionality that cannot be implemented entirely
in
ECMAScript
. This allows other
web standards to support the automation of new platform features. It also
allows vendors to expose functionality that is specific to their browser.
2.
Conformance
As well as sections marked as non-normative, all authoring guidelines, diagrams, examples, and notes in this specification are non-normative. Everything else in this specification is normative.
Conformance requirements phrased as algorithms
or specific steps may be implemented in any manner,
so long as the end result is equivalent.
Algorithms in this document are typically written with readability,
rather than performance, in mind.
3.
Terminology
In equations, all numbers are integers,
addition is represented by “+”,
subtraction by “−”,
division by “÷”,
and bitwise OR by “|”.
The characters “(” and “)” are used to provide logical grouping in these contexts.
The mathematical function
min
value
value
[,
value
])
returns the smallest item of two or more values.
Conversely, the function
max
value
value
[,
value
])
returns the largest item of two or more values.
The mathematical function
floor
value
produces the largest integer, closest to positive infinity,
that is not larger than
value
Universally Unique Identifier (UUID)
is a 128 bits long URN that requires no central registration process.
Generating a UUID
means
Creating a UUID From Truly Random or Pseudo-Random Numbers
and converting it to the string representation.
RFC4122
The
Unix Epoch
is a value that approximates the number of seconds
that have elapsed since the Epoch,
as described by The Open Group Base Specifications Issue 7
section 4.15
(IEEE Std 1003.1).
An
integer
is a
Number
that is unchanged
under the
ToInteger
operation.
The
initial value
of an ECMAScript property
is the value defined by the platform for that property,
i.e. the value it would have in the absence of any shadowing by content script.
The
browser chrome
is a non-normative term
to refer to the representation through which the user
interacts with the user agent itself,
as distinct from the accessed web content.
Examples of
browser chrome elements
include, but are not limited to,
toolbars (such as the bookmark toolbar),
menus (such as the file or context menu),
buttons (such as the back and forward buttons),
door hangers (such as security and certificate indicators),
and decorations (such as operating system widget borders).
MDN
Navigator/webdriver
This feature is in all major engines.
Chrome
63+
Chrome Android
Edge
12+
Edge Mobile
Firefox
60+
Firefox Android
Opera
Opera Android
Safari
10.1+
Safari iOS
Samsung Internet
WebView Android
4.
Interface
The
webdriver-active flag
is set to true when the user agent is under remote control.
It is initially false.
WebIDL
interface mixin
NavigatorAutomationInformation
readonly attribute
boolean
webdriver
};
Navigator
includes
NavigatorAutomationInformation
Note
The
NavigatorAutomationInformation
interface
should not be exposed on
WorkerNavigator
webdriver
Returns true if
webdriver-active flag
is set, false otherwise.
Example
For web authors (non-normative):
navigator
webdriver
Defines a standard way for co-operating user agents
to inform the document that it is controlled by WebDriver,
for example so that alternate code paths can be triggered during automation.
It is acknowledged that this is complementary to the Evil Bit [
RFC3514
].
5.
Nodes
The WebDriver protocol consists of communication between:
Local end
The local end represents the client side of the protocol,
which is usually in the form of language-specific libraries
providing an API on top of the WebDriver
protocol
This specification does not place any restrictions on the details of those libraries
above the level of the wire protocol.
Remote end
The remote end hosts the server side of
the
protocol
. Defining the behavior of
remote end
in response to the WebDriver protocol forms the
largest part of this specification.
For
remote ends
the standard defines two broad conformance
classes, known as
node types
Intermediary node
Intermediary nodes are those that act as proxies, implementing
both the
local end
and
remote end
of
the
protocol
. However they are not expected
to implement
remote end steps
directly. Nodes between
a specific
intermediary node
and an
endpoint node
are
said to be
upstream
of the
endpoint node
Endpoint node
An endpoint node is the final
remote end
in a chain of nodes that is not an
intermediary node
The endpoint node is implemented by a user agent or a similar program.
All remote end
node types
must be black-box indistinguishable
from a
remote end
, from the point of view of
local end
and so are bound by the requirements on a
remote end
in terms
of the wire protocol.
The
readiness state
of a
remote end
indicates
whether it is free to accept new connections. It must be false if the
implementation is an
endpoint node
and the list of
active
HTTP sessions
is not empty, or otherwise if the
remote end
is known to
be in a state in which attempting to create
new sessions
would
fail. In all other cases it must be true.
If the
intermediary node
is a multiplexer that
manages multiple
endpoint nodes
, this
might indicate its ability to purvey more
sessions
, for
example if it has hit its maximum capacity.
6.
Protocol
WebDriver
remote ends
must provide
an
HTTP compliant
wire protocol
where the
endpoints
map to different
commands
As this standard only defines the
remote end
protocol,
it puts no demands to how
local ends
should be implemented.
Local ends
are only expected to be compatible to the extent
that they can speak the
remote end
's protocol;
no requirements are made upon their exposed user-facing API.
6.1
Algorithms
Various parts of this specification are written in terms of step-by-step algorithms.
The details of these algorithms do not have any normative significance;
implementations are free to adopt any implementation strategy
that produces equivalent output to the specification.
In particular, algorithms in this document are optimized
for readability rather than performance.
Where algorithms that return values are fallible,
they are written in terms of returning either
success
or
error
success
value has an associated
data
field
which encapsulates the value returned,
whereas an
error
value has an associated
error code
When calling a fallible algorithm,
the construct “Let
result
be the result
of
trying
to call
algorithm
is equivalent to
Let
temp
be the result of calling
algorithm
If
temp
is an
error
return
temp
otherwise let
result
be
temp
's
data
field.
The result of
getting a property
with
name
from
object
is defined as being the same as the result of
calling
Object.[[GetOwnProperty]]
name
) on
object
The result of
getting a property with default
with
arguments
name
and
default
from
object
is defined as being the same as the result of
calling
Object.[[GetOwnProperty]]
name
on
object
if that results in a value other
than
undefined
and
default
otherwise.
Setting a property
with
arguments
name
and
value
on
object
is defined as being the same as calling
Object.[[Put]]
name
value
) on
object
The result of
JSON serialization
with
object
of type JSON
Object
is defined as the result of
calling
stringify
object
).
The result of
JSON deserialization
with
text
is defined as
the result of calling
parse
text
).
6.2
Commands
The WebDriver protocol is organized into
commands
Each
HTTP request
with a method and template defined in this specification
represents a single
command
and therefore each command produces a single
HTTP response
In response to a
command
remote end
will run a series of actions
known as
remote end steps
These provide the sequences of actions that a
remote end
takes
when it receives a particular
command
6.3
Processing model
The
remote end
is an HTTP server
reading requests from the client and writing responses,
typically over a TCP socket.
For the purposes of this specification we model the data transmission between
a particular
local end
and
remote end
with a
connection
to which the
remote end
may
write bytes
and
read bytes
However the exact details of how this
connection
works
and how it is established are out of scope.
After a
connection
is established, the
remote end
must run
the following steps:
While
the
connection
is not closed:
Read bytes
from the
connection
until a
complete
HTTP request
can be constructed from the data.
Let
request
be a
request
constructed from the
received data, according to the requirements of [
RFC7230
]. If it
is not possible to construct a complete
HTTP request
the
remote end
must either close the
connection
return an HTTP response with status code 500, or return
an
error
with
error code
unknown error
Let
request match
be the result of the algorithm
to
match a request
with
request
's
method
and
URL
as arguments.
If
request match
is of type
error
send an error
with
request match
's
error code
and
continue
Otherwise, let
command
and
URL variables
be
request match
's data.
Let
session
be null.
If
URL variables
contains
session id"
Note
This condition is intended to exclude the
New Session
and
Status
commands
and any
extension commands
which do not operate on a particular
session
Let
session id
be
URL variables
["
session id
"].
For each
active session
in the list of
active sessions
If
active session
's
session ID
is equal
to
session id
, then let
session
be
active session
, and break.
If the
session
is
null
send an error
with
error code
invalid session id
then
continue
Enqueue a task on
remote end
's
request queue
to run the following
steps:
If
session
is no longer in the list of
active
sessions
, then
send an error
with
error code
invalid session id
and return.
Let
parameters
be
null
If
request
's
method
is POST:
Let
parse result
be the result of
parsing as JSON
with
request
's
body
as the argument. If this process throws an exception,
return an
error
with
error code
invalid
argument
and jump back to step 1 in this overall algorithm.
If
parse result
is not an
Object
send an error
with
error code
invalid argument
and jump back to step 1 in this overall algorithm.
Otherwise, let
parameters
be
parse result
Let
navigate result
be the result
of
wait for navigation to complete
with
session
If
navigate result
is an
error
send an error
with
error code
equal to
navigate result
's
error code
and return.
Let
response result
be the return value
obtained by running the
remote end steps
for
command
with
session
URL
variables
, and
parameters
If
response result
is an
error
send an error
with
error code
equal to
response result
's
error code
and return.
Assert:
response result
is a
success
Let
response data
be
response result
's data.
Send a response
with status 200 and
response data
When required to
send an error
, with
error
code
and an optional
error data
dictionary,
remote end
must run the following steps:
Let
status
and
name
be the
error response data
for
error code
Let
message
be an implementation-defined string
containing a human-readable description of the reason for the error.
Let
stacktrace
be an implementation-defined string
containing a stack trace report of the active stack frames
at the time when the error occurred.
Let
body
be a new JSON
Object
initialized with the following properties:
error
name
message
message
stacktrace
stacktrace
If the
error data
dictionary contains any entries,
set the "
data
" field on
body
to a new JSON
Object
populated with the dictionary.
Send a response
with
status
and
body
as arguments.
When required to
send a response
with arguments
status
and
data
remote end
must run the following steps:
Let
response
be a new
response
Set
response
's
HTTP status
to
status
and
status message
to the string corresponding
to the description of
status
in the
status code registry
Set
the
response
's
header
with
name
and
value
with the following values:
Content-Type
application/json; charset=utf-8
Cache-Control
no-cache
Let
response
's
body
be
the
UTF-8 encoded
JSON
serialization
of a JSON
Object
with a key
value
" set to
data
Let
response bytes
be the byte sequence resulting
from serializing
response
according to the rules in [
RFC7230
].
Write
response bytes
to the
connection
6.4
Routing requests
Request routing
is the process of going from an
HTTP request
to the
series of steps
needed
to implement the
command
represented by that request.
remote end
has an associated
URL prefix
which is used as a prefix on all WebDriver-defined URLs on that
remote end
This must either be
undefined
or a
path-absolute URL
Example
For example a
remote end
wishing
to run alongside other services on
example.com
might set its
URL prefix
to
/wd
so that a
new session
command
would be invoked
by sending a POST request to
/wd/session
rather than
/session
In order to
match a request
given
method
and
URL
the following steps must be taken:
Let
endpoints
be a list
containing each row in the
table of endpoints
Remove each entry from
endpoints
for which the
concatenation of the
URL prefix
and the entry's
URI
template
does not have a valid expansion equal to
URL
's
path
If there are no entries in
endpoints
return
error
with
error code
unknown command
Remove each entry in
endpoints
for which the
method
column
is not equal to
method
If there are no entries in
endpoints
return
error
with
error code
unknown method
There is now exactly one entry in
endpoints
let
entry
be this entry.
Let
URI template
be the concatenation of
URL
prefix
with
entry
's
URI template
Let
command
be
entry
's
command
Let
URL variables
be a
map
with one
entry
for each variable defined in
URI template
with the entry name equal to the template variable name, and the
entry value being the variable value required to expand the
URI
template
to match
URL
's
path
Return
success
with data
command
and
URL variables
6.5
Endpoints
The following
table of endpoints
lists
the
method
and
URI template
for each
endpoint
node
command
Extension commands
are implicitly
appended to this table.
Method
URI Template
Command
POST
/session
New Session
DELETE
/session/{
session id
Delete Session
GET
/status
Status
GET
/session/{
session id
}/timeouts
Get Timeouts
POST
/session/{
session id
}/timeouts
Set Timeouts
POST
/session/{
session id
}/url
Navigate To
GET
/session/{
session id
}/url
Get Current URL
POST
/session/{
session id
}/back
Back
POST
/session/{
session id
}/forward
Forward
POST
/session/{
session id
}/refresh
Refresh
GET
/session/{
session id
}/title
Get Title
GET
/session/{
session id
}/window
Get Window Handle
DELETE
/session/{
session id
}/window
Close Window
POST
/session/{
session id
}/window
Switch To Window
GET
/session/{
session id
}/window/handles
Get Window Handles
POST
/session/{
session id
}/window/new
New Window
POST
/session/{
session id
}/frame
Switch To Frame
POST
/session/{
session id
}/frame/parent
Switch To Parent Frame
GET
/session/{
session id
}/window/rect
Get Window Rect
POST
/session/{
session id
}/window/rect
Set Window Rect
POST
/session/{
session id
}/window/maximize
Maximize Window
POST
/session/{
session id
}/window/minimize
Minimize Window
POST
/session/{
session id
}/window/fullscreen
Fullscreen Window
GET
/session/{
session id
}/element/active
Get Active Element
GET
/session/{
session id
}/element/{
element id
}/shadow
Get Element Shadow Root
POST
/session/{
session id
}/element
Find Element
POST
/session/{
session id
}/elements
Find Elements
POST
/session/{
session id
}/element/{element id}/element
Find Element From Element
POST
/session/{
session id
}/element/{element id}/elements
Find Elements From Element
POST
/session/{
session id
}/shadow/
{shadow id}
/element
Find Element From Shadow Root
POST
/session/{
session id
}/shadow/
{shadow id}
/elements
Find Elements From Shadow Root
GET
/session/{
session id
}/element/{
element id
}/selected
Is Element Selected
GET
/session/{
session id
}/element/{
element id
}/attribute/{
name
Get Element Attribute
GET
/session/{
session id
}/element/{
element id
}/property/{
name
Get Element Property
GET
/session/{
session id
}/element/{
element id
}/css/{
property name
Get Element CSS Value
GET
/session/{
session id
}/element/{
element id
}/text
Get Element Text
GET
/session/{
session id
}/element/{
element id
}/name
Get Element Tag Name
GET
/session/{
session id
}/element/{
element id
}/rect
Get Element Rect
GET
/session/{
session id
}/element/{
element id
}/enabled
Is Element Enabled
GET
/session/{
session id
}/element/{
element id
}/computedrole
Get Computed Role
GET
/session/{
session id
}/element/{
element id
}/computedlabel
Get Computed Label
POST
/session/{
session id
}/element/{
element id
}/click
Element Click
POST
/session/{
session id
}/element/{
element id
}/clear
Element Clear
POST
/session/{
session id
}/element/{
element id
}/value
Element Send Keys
GET
/session/{
session id
}/source
Get Page Source
POST
/session/{
session id
}/execute/sync
Execute Script
POST
/session/{
session id
}/execute/async
Execute Async Script
GET
/session/{
session id
}/cookie
Get All Cookies
GET
/session/{
session id
}/cookie/{
name
Get Named Cookie
POST
/session/{
session id
}/cookie
Add Cookie
DELETE
/session/{
session id
}/cookie/{
name
Delete Cookie
DELETE
/session/{
session id
}/cookie
Delete All Cookies
POST
/session/{
session id
}/actions
Perform Actions
DELETE
/session/{
session id
}/actions
Release Actions
POST
/session/{
session id
}/alert/dismiss
Dismiss Alert
POST
/session/{
session id
}/alert/accept
Accept Alert
GET
/session/{
session id
}/alert/text
Get Alert Text
POST
/session/{
session id
}/alert/text
Send Alert Text
GET
/session/{
session id
}/screenshot
Take Screenshot
GET
/session/{
session id
}/element/{
element id
}/screenshot
Take Element Screenshot
POST
/session/{
session id
}/print
Print Page
6.6
Errors
Errors
are represented in the WebDriver protocol
by an
HTTP response
with an
HTTP status
in the 4xx or 5xx range,
and a JSON body containing details of the
error
The body is a JSON
Object
and has a field named "
value
whose value is an object bearing three, and sometimes four, fields:
error
", containing a string indicating the
error code
message
", containing an implementation-defined string
with a human readable description of the kind of error that occurred.
stacktrace
", containing an implementation-defined string
with a stack trace report of the active stack frames at the time when the error occurred.
Optionally "
data
", which is a JSON
Object
with additional
error data
helpful in diagnosing the error.
Example
GET
request to
/session/1234/url
where
1234
is not the
session id
of a
session
would return an
HTTP response
with the status 404 and a body of the form:
"value"
"error"
"invalid session id"
"message"
"No active session with ID 1234"
"stacktrace"
""
Certain commands may also annotate
errors
with additional
error data
Notably, this is the case for commands
which invoke the
user prompt handler
where the
user prompt message
may be included in a "
text
" field:
"value": {
"error":
"unexpected alert open"
"message"
""
"stacktrace"
""
"data"
: {
text
":
"Message from window.alert"
The following table lists each
error code
its associated
HTTP status
JSON
error
code,
and a non-normative description of the error.
The
error response data
for a particular
error code
is the values of the
HTTP Status
and
JSON Error Code
columns for the row corresponding to that
error code
Error Code
HTTP Status
JSON Error Code
Description
element click intercepted
400
element click intercepted
The
Element Click
command
could not be completed
because the
element
receiving the events
is
obscuring
the element that was requested clicked.
element not interactable
400
element not interactable
command
could not be completed
because the element is not
pointer
- or
keyboard
interactable
insecure certificate
400
insecure certificate
caused
the user agent to hit a certificate warning,
which is usually the result of an expired or invalid TLS certificate.
invalid argument
400
invalid argument
The arguments passed to a
command
are either invalid or malformed.
invalid cookie domain
400
invalid cookie domain
An illegal attempt was made to set a cookie
under a different domain than the current page.
invalid element state
400
invalid element state
command
could not be completed because the element is
in an invalid state, e.g. attempting to
clear
an element that isn't
both
editable
and
resettable
invalid selector
400
invalid selector
Argument was an invalid selector.
invalid session id
404
invalid session id
Occurs if the given
session id
is not in the list of
active sessions
meaning the
session
either does not exist or that it's not active.
javascript error
500
javascript error
An error occurred while executing JavaScript supplied by the user.
move target out of bounds
500
move target out of bounds
The target for mouse interaction is not in the browser's viewport
and cannot be brought into that viewport.
no such alert
404
no such alert
An attempt was made to operate on a modal dialog
when one was not open.
no such cookie
404
no such cookie
No cookie matching the given path name
was found amongst the
associated cookies
of
session
's
current browsing context
's
active document
no such element
404
no such element
An element could not be located on the page
using the given search parameters.
no such frame
404
no such frame
command
to switch to a frame
could not be satisfied because the frame could not be found.
no such window
404
no such window
command
to switch to a window
could not be satisfied because the window could not be found.
no such shadow root
404
no such shadow root
The element does not have a shadow root.
script timeout error
500
script timeout
A script did not complete before its timeout expired.
session not created
500
session not created
A new
session
could not be created.
stale element reference
404
stale element reference
command
failed because
the referenced
element
is no longer attached to the DOM.
detached shadow root
404
detached shadow root
command
failed because
the referenced
shadow root
is no longer attached to the DOM.
timeout
500
timeout
An operation did not complete before its timeout expired.
unable to set cookie
500
unable to set cookie
command
to set a cookie's value could not be satisfied.
unable to capture screen
500
unable to capture screen
A screen capture was made impossible.
unexpected alert open
500
unexpected alert open
A modal dialog was open, blocking this operation.
unknown command
404
unknown command
command
could not be executed
because the
remote end
is not aware of it.
unknown error
500
unknown error
An unknown error occurred in the
remote end
while processing the
command
unknown method
405
unknown method
The requested
command
matched a known URL
but did not match any method for that URL.
unsupported operation
500
unsupported operation
Indicates that a
command
that should have
executed properly cannot be supported for some reason.
An
error data
dictionary
is a mapping of string keys to JSON serializable values
that can optionally be included with
error
objects.
6.7
Extensions
Using the terminology defined in this section, others may define additional
commands that seamlessly integrate with the standard protocol. This allows
vendors to expose functionality that is specific to their user agent, and it
also allows other web standards to define commands for automating new platform
features.
Commands defined in this way
are called
extension commands
and behave no differently than other
commands
each has a dedicated HTTP endpoint and a set of
remote end steps
Each
extension command
has an associated
extension command URI Template
that is a
URI Template
string,
and which should bear some resemblance to what the command performs.
This value,
along with the HTTP method and
extension command
is added to the
table of endpoints
and thus follows the same rules for
request routing
as that of other built-in
commands
In order to avoid potential resource conflicts with other implementations,
vendor-specific
extension command URI Templates
must begin with one
or more path segments which uniquely identifies the vendor and UA.
It is suggested that vendors use their vendor prefixes
without additional characters as outlined in [
CSS21
],
notably in
section 4.1.2.2 on
vendor keywords
as the name for this path element,
and include a vendor-chosen UA identifier.
Note
If the
extension command URI Template
includes a variable named
session id
, the value of this variable will be used to define the
session
during command processing.
Example
This might lead to a URL of the form
/session/5d376174-36f0-11e5-9b9a-6bdf200a3f7f/
ms
edge
context
where
session/{
session id
associates the request
with the specified session,
ms/edge
identifies the command as
specific to the Edge browser distributed by Microsoft,
and
context
describes the functionality
that, in the context of Edge, allows a
local end
to switch between browser-specific contexts.
Requesting this URL will call the
extension command
's
remote end steps
Other specifications may define
additional WebDriver capabilities
. Each defined
capability must have a
capability name
which
is a string not containing a "
" (colon) character,
an
additional capability deserialization
algorithm
which is a set of steps taking a single
argument
value
which has a JSON type, returning
either
success
wrapping the deserialized capability value
or
error
An
additional WebDriver capability
may also define
matched capability serialization algorithm
which is a set of steps used to determine if a capability is matched
by the current implementation and provide any computed value to return
to the user. This set of steps takes a single
argument
value
, which is the output of the
corresponding
additional capability deserialization algorithm
and returns either
null
to indicate the capability
is not matched, or a non-null JSON-serializable value if the
capability is matched.
Other specifications may also define
WebDriver
new session algorithms
, which are called just after a new
session is created, and before the
new session
response is sent
to the
remote end
. These algorithms are called
with
session
representing the WebDriver session that will
be established, and
capabilities
, the capabilities object that will be returned
to the
remote end
. It is permitted for such an algorithm to
modify any entry in the capabilities object with a name that's an
additional WebDriver capability
defined by the same
specification.
Remote ends
may also introduce
extension capabilities
that are extra
capabilities
used to provide configuration or fulfill other vendor-specific needs.
Extension capabilities' key
must contain a "
" (colon) character,
denoting an implementation specific namespace.
The value can be arbitrary JSON types.
As with
extension commands
it is suggested that the key used to denote
the
extension capability
namespace
is based on the
vendor keywords
listed in [
CSS21
and precedes the first "
" character in the string.
Example
Extension capabilities
are typically used
to provide UA or
intermediary node
specific configuration
that is not handled by the
table of standard capabilities
An example
new session
request body
might look like this:
"capabilities"
"alwaysMatch"
// browser specific configuration
"
"binary"
"/usr/bin/browser-binary"
"args"
"--start-page=https://example.com"
7.
Capabilities
WebDriver
capabilities
are used to communicate the features supported by a given implementation.
The
local end
may use capabilities
to define which features it requires the
remote end
to satisfy when creating a
new session
Likewise, the
remote end
uses capabilities
to describe the full feature set for a
session
The following
table of standard capabilities
enumerates the capabilities each implementation must support.
An implementation may define additional
extension capabilities
Example
As an example, Mozilla could elect to hide new features behind capabilities
with a "
moz:
" prefix:
"browserName"
"firefox"
"browserVersion"
"1234"
"moz:experimental-webdriver"
true
Capability
Key
Value Type
Description
Browser name
browserName
string
Identifies the user agent.
Browser version
browserVersion
string
Identifies the version of the user agent.
Platform name
platformName
string
Identifies the operating system of the
endpoint node
Accept insecure TLS certificates
acceptInsecureCerts
boolean
Indicates whether untrusted and self-signed TLS certificates
are implicitly trusted on
for the duration of the
session
Page load strategy
pageLoadStrategy
string
Defines the
session
's
page load strategy
Proxy configuration
proxy
JSON
Object
Defines the
session
's
proxy configuration
Window dimensioning/positioning
setWindowRect
boolean
Indicates whether the remote end supports all of the
resizing and repositioning
commands
Session timeouts
timeouts
JSON
Object
Describes the
timeouts
imposed on certain session operations.
Strict file interactability
strictFileInteractability
boolean
Defines the
session
's
strict file interactability
Unhandled prompt behavior
unhandledPromptBehavior
string
Describes the
session
's
user prompt handler
Defaults to "
dismiss and notify
".
User Agent
userAgent
string
Identifies the
default User-Agent value
of the
endpoint node
7.1
Proxy
The
proxy configuration
capability
is a JSON
Object
nested
within the primary
capabilities
Implementations may define additional proxy configuration options,
but they must not alter the semantics of those listed below.
Key
Value Type
Description
Valid values
proxyType
string
Indicates the type of proxy configuration.
pac
",
direct
",
autodetect
",
system
",
or "
manual
".
proxyAutoconfigUrl
string
Defines the URL for a
proxy autoconfiguration
file
if
proxyType
is equal to "
pac
".
Any
URL
httpProxy
string
Defines the proxy
host
for HTTP traffic when
the
proxyType
is "
manual
".
host and optional port
for
scheme "
http
".
noProxy
array
Lists the address for which the proxy should be bypassed when
the
proxyType
is "
manual
".
List
containing any number of
String
s.
sslProxy
string
Defines the proxy
host
for encrypted TLS traffic
when the
proxyType
is "
manual
".
host and optional port
for
scheme "
https
".
socksProxy
string
Defines the proxy
host
for a
SOCKS proxy
when the
proxyType
is "
manual
".
host and optional port
with an
undefined
scheme.
socksVersion
number
Defines the
SOCKS proxy
version
when the
proxyType
is "
manual
".
Any
integer
between 0 and 255 inclusive.
host and optional port
for a
scheme
is
defined as being a valid
host
, optionally followed by a colon
and a valid
port
. The
host
may
include credentials
. If the
port is omitted and
scheme
has a
default port
this is the implied port. Otherwise, the port is left undefined.
proxyType
of "
direct
" indicates
that the browser should not use a proxy at all.
proxyType
of "
system
" indicates
that the browser should use the various proxies configured for the
underlying Operating System.
proxyType
of "
autodetect
indicates that the proxy to use should be detected in an
implementation-specific way.
The
remote end
steps to
deserialize as a proxy
argument
parameter
are:
If
parameter
is not a JSON
Object
return
an
error
with
error code
invalid argument
Let
proxy
be a new, empty
proxy configuration object
For each enumerable
own property
in
parameter
run the following substeps:
Let
key
be the name of the property.
Let
value
be the result of
getting a
property
named
name
from
parameter
If there is no matching
key
for
key
in the
proxy configuration
table return an
error
with
error code
invalid argument
If
value
is not one of the
valid values
for that
key
, return
an
error
with
error code
invalid argument
Set a property
key
to
value
on
proxy
If
proxy
does not have an
own property
for
proxyType
" return an
error
with
error
code
invalid argument
If the result of
getting a property
named "
proxyType
" from
proxy
equals
pac
", and
proxy
does not have an
own property
for "
proxyAutoconfigUrl
" return
an
error
with
error code
invalid argument
If
proxy
has an
own property
for
socksProxy
" and does not have an
own property
for "
socksVersion
" return an
error
with
error
code
invalid argument
Return
success
with data
proxy
proxy configuration object
is a
JSON
Object
where each of its
own properties
matching
keys in the
proxy configuration
meets the validity criteria for
that key.
7.2
Processing capabilities
To
process
capabilities
given
parameters
, and
session
configuration flags
flags
, the
endpoint node
must take the following steps:
Let
capabilities request
be the result of
getting the property
capabilities
" from
parameters
If
capabilities request
is not a JSON
Object
return
error
with
error code
invalid argument
Let
required capabilities
be the result of
getting the property
alwaysMatch
" from
capabilities request
If
required capabilities
is
undefined
set the value to an empty JSON
Object
Let
required capabilities
be the result
of
trying
to
validate capabilities
with
arguments
required capabilities
and
flag
Let
all first match capabilities
be the result of
getting the property
firstMatch
" from
capabilities request
If
all first match capabilities
is
undefined
set the value to a
List
with a single entry of an empty JSON
Object
If
all first match capabilities
is not a
List
with one or more entries, return
error
with
error code
invalid argument
Let
validated first match capabilities
be an empty
List
For each
first match capabilities
corresponding
to an indexed property in
all first match capabilities
Let
validated capabilities
be the result
of
trying
to
validate capabilities
with arguments
first match capabilities
and
flags
Append
validated capabilities
to
validated first match capabilities
Let
merged capabilities
be an empty
List
For each
first match capabilities
corresponding
to an indexed property in
validated first match capabilities
Let
merged
be the result of
trying
to
merge
capabilities
with
required capabilities
and
first match capabilities
as arguments.
Append
merged
to
merged capabilities
For each
capabilities
corresponding
to an indexed property in
merged capabilities
Let
matched capabilities
be the result of
trying
to
match
capabilities
with
capabilities
as an
argument.
If
matched capabilities
is not
null
return
success
with data
matched capabilities
Return
success
with data
null
When required to
validate capabilities
with
argument
capabilities
If
capabilities
is not a JSON
Object
return
an
error
with
error code
invalid argument
Let
result
be an empty JSON
Object
For each enumerable
own property
in
capabilities
, run the following substeps:
Let
name
be the name of the property.
Let
value
be the result of
getting a
property
named
name
from
capabilities
Run the substeps of the first matching condition:
value
is
null
Let
deserialized
be set to
null
name
equals "
acceptInsecureCerts
If
value
is not a
boolean
return
an
error
with
error code
invalid
argument
. Otherwise, let
deserialized
be
set to
value
name
equals "
browserName
name
equals "
browserVersion
name
equals "
platformName
If
value
is not a
string
return
an
error
with
error code
invalid
argument
. Otherwise, let
deserialized
be
set to
value
name
equals "
pageLoadStrategy
Let
deserialized
be the result of
trying
to
deserialize as a page load strategy
with argument
value
name
equals "
proxy
Let
deserialized
be the result of
trying
to
deserialize as a proxy
with argument
value
name
equals "
strictFileInteractability
If
value
is not a
boolean
return
an
error
with
error code
invalid
argument
. Otherwise, let
deserialized
be
set to
value
name
equals "
timeouts
Let
deserialized
be the result of
trying
to
deserialize as timeouts configuration
with
value
name
equals "
unhandledPromptBehavior
Let
deserialized
be the result of
trying
to
deserialize as an unhandled prompt behavior
with argument
value
name
is the name of an
additional WebDriver
capability
Let
deserialized
be the result of
trying
to run the
additional capability deserialization
algorithm
for the extension capability corresponding
to
name
, with argument
value
name
is the key of an
extension capability
If
name
is known to the implementation,
let
deserialized
be the result of
trying
to deserialize
value
in an implementation-specific way.
Otherwise, let
deserialized
be set to
value
The
remote end
is an
endpoint node
Return an
error
with
error code
invalid argument
If
deserialized
is not
null
set a property
on
result
with name
name
and value
deserialized
Return
success
with data
result
When
merging capabilities
with JSON
Object
arguments
primary
and
secondary
an
endpoint node
must take the following steps:
Let
result
be a new JSON
Object
For each enumerable
own property
in
primary
run the following substeps:
Let
name
be the name of the property.
Let
value
be the result of
getting a
property
named
name
from
primary
Set a property
on
result
with
name
name
and value
value
If
secondary
is
undefined
return
result
For each enumerable
own property
in
secondary
run the following substeps:
Let
name
be the name of the property.
Let
value
be the result of
getting a
property
named
name
from
secondary
Let
primary value
be the result of
getting the property
name
from
primary
If
primary value
is not
undefined
return an
error
with
error code
invalid argument
Set a property
on
result
with name
name
and value
value
Return
result
Note
The algorithm outlined in
matching capabilities
blithely ignores real-world problems
that make implementation less than perfectly straightforward,
particularly since capabilities can interact in unforeseen ways.
As an example, an implementation could have a capability
that gives the path to the browser binary to use.
This could cause both
browserName
and
browserVersion
to be impossible to match against until the browser process is started.
When
matching capabilities
given
JSON
Object
capabilities
, and a
session
configuration flags
flags
, an
endpoint node
must take the following steps:
Let
matched capabilities
be a JSON
Object
with the following entries:
browserName
ASCII Lowercase
name of the user agent as a
string
browserVersion
The user agent version, as a
string
platformName
ASCII Lowercase
name of the current platform as a
string
acceptInsecureCerts
Boolean
initially set to false,
indicating the session will not implicitly trust untrusted
or self-signed TLS certificates on
strictFileInteractability
Boolean
initially set to false,
indicating that interactability checks will be applied to
.
setWindowRect
Boolean indicating whether the
remote end
supports all
of the
resizing and
positioning
commands
userAgent
String containing the
default User-Agent value
If
flags
contains "
http
", add the
following entries to
matched capabilities
strictFileInteractability
Boolean
initially set to false,
indicating that interactabilty checks will be applied to
.
Optionally add
extension capabilities
as entries
to
matched capabilities
. The values of these may be
elided, and there is no requirement that all
extension capabilities
be added.
Note
This allows a
remote end
to add information that might be
useful to a
local end
without unnecessarily bloating the
response sent back to the user with (e.g.) an entire browser
profile.
For example, an implementation could choose to indicate that a
screenshot will be taken when returning an error by setting the
capability
se:screenshot-on-error
to
true
For each
name
and
value
corresponding
to
capabilities
's
own properties
Let
match value
equal
value
Run the substeps of the first matching
name
browserName
If
value
is not a string equal to
the "
browserName
" entry in
matched capabilities
, return
success
with data
null
Note
There is a chance the
remote end
will need
to start a browser process to correctly determine
the
browserName
. Lightweight checks are preferred
before this is done.
browserVersion
Compare
value
to the "
browserVersion
" entry in
matched capabilities
using an implementation-defined comparison algorithm.
The comparison is to accept a
value
that places constraints on the version using
the "
", "
<=
", "
",
and "
>=
" operators.
If the two values do not match,
return
success
with data
null
Note
Version comparison is left as an implementation detail
since each user agent will likely have conflicting methods
of encoding the user agent version,
and standardizing these schemes is beyond the scope of this standard.
Note
There is a chance the
remote end
will need
to start a browser process to correctly determine
the
browserVersion
. Lightweight checks are preferred
before this is done.
platformName
If
value
is not a string equal
to the "
platformName
" entry in
matched capabilities
return
success
with data
null
Note
The following platform names are in common usage with
well-understood semantics and, when
matching
capabilities
for
platform name
, greatest interoperability can be achieved by
honoring them as valid synonyms for well-known Operating
Systems:
Key
System
linux
Any server or desktop system based upon the Linux kernel.
mac
Any version of Apple's macOS.
windows
Any version of Microsoft Windows, including desktop and mobile versions.
This list is not exhaustive.
When returning
capabilities
from
New Session
it is valid to return a more
specific
platformName
, allowing users to
correctly identify the Operating System the WebDriver
implementation is running on.
acceptInsecureCerts
If
accept insecure TLS
flag is set and not equal
to
value
, return
success
with
data
null
Note
If the
endpoint node
does not
support
insecure TLS certificates
and this is the reason
no match is ultimately made, it is useful to provide this
information to the
local end
proxy
If the
has proxy configuration
flag is set, or if
the proxy configuration defined in
value
is not one
that passes the
endpoint node
's implementation-specific
validity checks, return
success
with
data
null
Note
local end
would only send this capability
if it expected it to be honored and the configured proxy
used. The intent is that if this is not possible a new session
will not be established.
unhandledPromptBehavior
If
check user prompt handler matches
with
value
is false, return
success
with
data
null
Otherwise
If
name
is the name of an
additional
WebDriver capability
which defines a
matched
capability serialization algorithm
, let
match
value
be the result of running the
matched
capability serialization algorithm
for
capability
name
with
arguments
value
, and
flags
Otherwise, if
name
is the key of an
extension capability
, let
match value
be the
result of
trying
implementation-specific steps to
match on
name
with
value
. If the
match is not successful, return
success
with
data
null
If
match value
is not null,
set a property
on
matched capabilities
with name
name
and
value
match value
Return
success
with data
matched capabilities
8.
Sessions
A WebDriver
session
represents the
logical connection between a
local end
and a
specific
remote end
. The
session
object holds state
specific to that connection.
An
intermediary node
will maintain an
associated
session
for each active
session
. This is
the
session
on the
upstream
neighbor that is created
when the
intermediary node
executes the
New
Session
command
. Closing a
session
on
an
intermediary node
will also
close the session
of
the
associated session
session
has a
session ID
, which is the string
representation of a
UUID
used to uniquely identify the
session. This is set when creating the session.
session
has a boolean
HTTP flag
which is set
when the session is created. A session with this flag set is
an
HTTP session
remote end
has an associated list of
active sessions
, which is a list of all
session
that are currently started.
remote end
has an associated list of
active HTTP sessions
, which is a list of all
HTTP
session
s that are currently started.
Note
The limitation of a single HTTP session for
endpoint
node
s means that the first entry in the list of
active HTTP
sessions
will be the only entry.
HTTP session
has an associated
current browsing
context
, which is the
browsing context
against
which
commands
will run, an associated
current parent
browsing context
, which is set to the parent of the
current
browsing context
when changing browsing contexts, and an
associated
current top-level browsing context
, which is
set to the top-browsing context ancestor of the
current browsing
context
, when changing browsing contexts.
An
HTTP session
has an associated
session
timeouts
which is a
timeouts configuration
. This is
initially set to a new
timeouts configuration
An
HTTP session
has an associated
page loading
strategy
, which is one of the keywords from the
table of page
load strategies
. This is initially set to
normal
An
HTTP session
has an associated
strict file
interactability
state which is a boolean. This is initially set
to false.
session
has an associated
browsing context input
state map
, which is a
weak map
with
top-level browsing
contexts
as keys, and
input state
objects as values. This
is initially set to an empty map.
An
HTTP session
has an associated
request queue
which is a
queue
of
requests
that are currently awaiting
processing.
When a session is created, a
set
of
session configuration
flags
are provided that define the features of the session. This
specification always creates sessions with "
http
in
session configuration flags
, which corresponds to
the
HTTP flag
. External specifications may define additional
flags, or create sessions without the
HTTP flag
8.1
Global State
In addition to per-session state, a
remote end
that is
an
endpoint node
also has additional state that is global
across all sessions.
An
endpoint node
has an associated
accept insecure
TLS
flag that indicates whether untrusted or self-signed TLS
certificates are treated as trusted. The default value of the flag is
false if the endpoint doesn't support accepting insecure TLS
connections, or unset otherwise.
An
endpoint node
has an associated
has proxy
configuration
flag that indicates whether the proxy is already
configured. The default value of the flag is true if the endpoint
doesn't support proxy configuration, or false otherwise.
To
create a session
, given a JSON
Object
capabilites
, and
session configuration
flags
flags
Let
session id
be the result of
generating a UUID
Let
session
be a new
session
with
session
ID
session id
, and
HTTP flag
flags
contains
http
".
Let
proxy
be the result of getting property
proxy
" from
capabilities
and run the
substeps of the first matching statement:
proxy
is a
proxy configuration
object
Take implementation-defined steps to set the user agent proxy
using the extracted
proxy
configuration. If the
defined proxy cannot be configured return
error
with
error code
session not created
. Otherwise
set the
has proxy configuration
flag to true.
Otherwise
Set a property
of
capabilities
with name
proxy
" and a value that is a new JSON
Object
If
capabilites
has a property named
acceptInsecureCerts
", set the
endpoint
node
's
accept insecure TLS
flag to the result
of
getting a property
named
acceptInsecureCerts
" from
capabilities
Let
user prompt handler capability
be the result of getting property
unhandledPromptBehavior
" from
capabilities
If
user prompt handler capability
is not
undefined,
update the user prompt handler
with
user
prompt handler capability
Let
serialized user prompt handler
be
serialize the user prompt handler
Set a property on
capabilities
with the name
unhandledPromptBehavior
", and the value
serialized
user prompt handler
If
flags
contains
http
":
Let
strategy
be the result of getting
property "
pageLoadStrategy
from
capabilities
If
strategy
is a
string, set the
session
's
page loading
strategy
to
strategy
. Otherwise, set
the
page loading strategy
to
normal
and
set a
property
of
capabilities
with name
pageLoadStrategy
" and value
normal
".
Let
strictFileInteractability
be the result
of getting property "
strictFileInteractability
from
capabilities
. If
strictFileInteractability
is a boolean, set
session
's
strict file
interactability
to
strictFileInteractability
Let
timeouts
be the result of getting a
property "
timeouts
" from
capabilities
If
timeouts
is not undefined, set
session
's
session timeouts
to
timeouts
Set a property on
capabilities
with name
timeouts
" and value
serialize the timeouts
configuration
with
session
's
session timeouts
Process any
extension capabilities
in
capabilities
in an implementation-defined manner.
Run any
WebDriver new session algorithm
defined in
external specifications, with arguments
session
capabilities
, and
flags
Append
session
to
active sessions
If
flags
contains "
http
",
append
session
to
active HTTP sessions
Set the
webdriver-active flag
to true.
To
close the session
, given
session
remote end
must take the following steps:
If
session
's
HTTP flag
is set,
remove
session
from
active HTTP sessions
Remove
session
from
active sessions
Perform the following substeps based on the
remote end
's
type:
Remote end
is an
endpoint node
If the list of
active sessions
is empty:
Set the
webdriver-active flag
to false
Set the
user prompt handler
to null.
Unset the
accept insecure TLS
flag.
Reset the
has proxy configuration
flag to its
default value.
Optionally,
close
all
top-level browsing contexts
without
prompting to unload
Remote end
is an
intermediary node
Close
the
associated session
. If this causes
an
error
to occur, complete the remainder of this
algorithm before returning the
error
Perform any implementation-specific cleanup steps.
If an
error
has occurred in any of the steps above,
return the
error
, otherwise return
success
with
data
null
Closing a
session
might cause the associated browser process to be killed.
It is assumed that any implementation-specific cleanup steps
are performed
after
the response has been sent back to the client
so that the
connection
is not prematurely closed.
8.2
New Session
HTTP Method
URI Template
POST
/session
The
New Session
command
creates a new WebDriver
session
with the
endpoint node
If the creation fails, a
session not created
error
is returned.
If the
remote end
is an
intermediary node
it may use the result of the
capabilities processing
algorithm
to route the
new session
request to the appropriate
endpoint node
An
intermediary node
is free to define
extension capabilities
to assist in this process, however, these specific capabilities
must not be forwarded to the
endpoint node
If the
intermediary node
requires additional information unrelated to user agent features,
it is recommended that this information be passed as top-level parameters,
and not as part of the requested
capabilities
An
intermediary node
must forward custom,
top-level parameters (i.e. non-
capabilities
) to subsequent
remote end
nodes.
Example
An
intermediary node
might require authentication
on
creating a new session
This authentication is an argument to the
New Session
command
itself and not the user agent's
capabilities
Therefore, the authentication should be passed
as a top-level parameter and not embedded in
capabilities
"user":
"alice"
"password"
"hunter2"
"capabilities"
: {…}
However, because an
intermediary node
cannot forward
extension capabilities
specific to that implementation to an
endpoint node
the following is also permitted by this specification:
"capabilities"
"alwaysMatch"
"cloud:user"
"alice"
"cloud:password"
"hunter2"
"platformName"
"linux"
"firstMatch"
"browserName"
"chrome"
"browserName"
"edge"
Once all
capabilities are merged
from this example,
an
endpoint node
would receive
New Session
capabilities identical to:
"browserName"
"chrome"
"platformName"
"linux"
"browserName"
"edge"
"platformName"
"linux"
The
remote end steps
, given
session
URL
variables
and
parameters
are:
If the implementation is an
endpoint node
, and the
list of
active HTTP sessions
is not empty, or otherwise if
the implementation is unable to start an additional session,
return
error
with
error code
session not
created
If the
remote end
is an
intermediary node
, take
implementation-defined steps that either result in returning
an
error
with
error code
session not created
or in returning a
success
with data that is isomorphic to
that returned by
remote ends
according to the rest of this
algorithm. If an
error
is not returned, the
intermediary
node
must retain a reference to the
session
created on
the
upstream
node as the
associated session
such that
commands may be forwarded to this
associated session
on
subsequent commands.
Note
How this is done is entirely up to the implementation,
but typically the
sessionId
, and
URL
and
URL prefix
of the
upstream
remote end
will need
to be tracked.
Let
flags
be a set containing "
http
".
Let
capabilities
be the result of
trying
to
process capabilities
with
parameters
and
flags
If
capabilities
's is
null
return
error
with
error code
session not created
Let
session
be the result of
create a
session
, with
capabilities
, and
flags
Let
body
be a JSON
Object
initialized with:
sessionId
session
's
session ID
capabilities
capabilities
Set
session
current top-level browsing
context
to one of the
endpoint node
's
top-level
browsing context
s, preferring the
top-level browsing
context
that
has
system
focus
, or otherwise preferring any
top-level browsing
context
whose
visibility
state
is
visible
Note
WebDriver implementations typically start a
completely new browser instance, but there is no requirement in
this specification (or for WebDriver only to be used to automate
only web browsers). Implementations might choose to use an existing
browser instance, eg. by selecting the window that currently has
focus.
Set the
request queue
to a new
queue
Return
success
with data
body
8.3
Delete Session
HTTP Method
URI Template
DELETE
/session/{
session id
The
remote end steps
, given
session
URL
variables
and
parameters
are:
If
session
is an
active HTTP session
try
to
close the session
with
session
Return
success
with data
null
8.4
Status
HTTP Method
URI Template
GET
/status
Note
Status
returns information
about whether a
remote end
is in a state in which it can create
new sessions
but may additionally include arbitrary meta information
that is specific to the implementation.
The
remote end
's
readiness state
is represented
by the
ready
property of the body,
which is false if an attempt to
create a session
at the current time would fail.
However, the value true does not guarantee
that a
New Session
command will succeed.
Implementations may optionally include
additional meta information as part of the body,
but the top-level properties
ready
and
message
are reserved and must not be overwritten.
The
remote end steps
, given
session
URL
variables
and
parameters
are:
Let
body
be a new JSON
Object
with the following properties:
ready
The
remote end
's
readiness state
message
An implementation-defined string
explaining the
remote end
's
readiness state
Return
success
with data
body
9.
Timeouts
timer
is a
struct
. It has
timeout fired flag
, which is a
boolean, initially false.
To
start the timer
given
timer
and
timeout
Assert:
timeout
is not null.
Run the following steps
in parallel
Wait for at least
timeout
milliseconds to pass.
Set
timer
's
timeout fired flag
to true.
timeouts configuration
is a
struct
representing
the timeouts for
script evaluation
, and
element
retrieval
. It has a
script
timeout
item
which is an integer or null and is
initially set to 30,000, a
page load
timeout
item
which is an integer or null and is
initially set to 300,000, and an
implicit
wait timeout
item
which is an integer or null and is
initially set to 0.
To
deserialize as timeouts configuration
given
timeouts
Set
timeouts
to the result of
converting a
JSON-derived JavaScript value to an Infra value
with
timeouts
Let
configuration
be a new
timeouts
configuration
For each
key
value
in
timeouts
If «"
script
", "
pageLoad
",
implicit
"» does not
contain
key
then continue.
If
value
is neither null nor a number greater than
or equal to 0 and less than or equal to the
maximum safe
integer
return
error
with
error code
invalid
argument
Run the substeps matching
key
script
Set
configuration
's
script timeout
to
value
pageLoad
Set
configuration
's
page load timeout
to
value
implicit
Set
configuration
's
implicit wait timeout
to
value
Return
success
with data
configuration
To
serialize the timeouts configuration
given
timeouts
Let
serialized
be an empty
map
Set
serialized
["
script
"]
to
timeouts
script timeout
Set
serialized
["
pageLoad
"]
to
timeouts
page load timeout
Set
serialized
["
implicit
"]
to
timeouts
implicit wait timeout
Return
convert an Infra value to a JSON-compatible
JavaScript value
with
serialized
MDN
Commands/GetTimeouts
Chrome
65+
Chrome Android
No
Edge
Edge Mobile
Firefox
55+
Firefox Android
No
Opera
No
Opera Android
Safari
No
Safari iOS
Samsung Internet
No
WebView Android
9.1
Get Timeouts
HTTP Method
URI Template
GET
/session/{
session id
}/timeouts
The
remote end steps
, given
session
URL
variables
and
parameters
are:
Let
timeouts
be
serialize the timeouts
configuration
with
session
's
timeouts
configuration
Return
success
with data
timeouts
MDN
Commands/SetTimeouts
Chrome
65+
Chrome Android
No
Edge
Edge Mobile
Firefox
55+
Firefox Android
No
Opera
No
Opera Android
Safari
No
Safari iOS
Samsung Internet
No
WebView Android
9.2
Set Timeouts
HTTP Method
URI Template
POST
/session/{
session id
}/timeouts
The
remote end steps
, given
session
URL
variables
and
parameters
are:
Let
timeouts
be the result of
trying
to
deserialize as timeouts configuration
with
parameters
Set
session
's
timeouts configuration
to
timeouts
Return
success
with data
null
10.
The
commands
in this section allow navigation of
the
session
's
current top-level browsing context
to new
URLs and introspection of the document currently loaded in
this
browsing context
For
commands
that cause a new document to load,
the point at which the command returns
is determined by the session's
page loading strategy
The
normal
state causes it
to return after the
load
event fires
on the new page,
eager
causes it to return
after the
DOMContentLoaded
event fires
and
none
causes it to return immediately.
Navigation actions are also affected by the value of
the
page load timeout
which determines the maximum time that commands will block
before returning with a
timeout
error
The following is the
table of page load strategies
that links the
pageLoadStrategy
capability
keyword
to a
page loading strategy
state,
and shows which
document readiness
state
that corresponds to it:
Keyword
Page load strategy state
Document readiness state
none
none
eager
eager
interactive
normal
normal
complete
When asked to
deserialize as a page load strategy
with
argument
value
If
value
is not a
string
return
an
error
with
error code
invalid argument
If there is no entry in the
table of page load
strategies
with
keyword
value
return
an
error
with
error code
invalid argument
Return
success
with data
value
To
wait for navigation to complete
given
session
and optional
timer
(default
null):
If
session
's
page loading strategy
is
none
, return
success
with
data
null
If
session
's
current browsing context
is
no longer open
, return
success
with
data
null
Let
timeout
be
session
timeouts
page load timeout
If
timer
is null:
Set
timer
to a new
timer
If
timeout
is not null:
Start the timer
with
timer
and
timeout
Run these steps, but
abort when
timer
's
timeout fired flag
is set:
If there is an ongoing attempt to
navigate
session
's
current browsing context
that has not
yet
matured
, wait for navigation to
mature
Let
readiness target
be the
document
readiness
state associated with the
session
's
page
loading strategy
, which can be found in the
table of page
load strategies
Wait for
session
's
current browsing
context
's
document readiness
state to reach
readiness target
If aborted
return an
error
with
error
code
timeout
Return
success
with data
null
When asked to run the
post-navigation checks
run the substeps of the first matching statement:
response
is a network error
Return
error
with
error code
unknown error
Note
A "network error" in this case is not an
HTTP response with a status code indicating an unsuccessful result,
but could be a problem occurring lower in the OSI model, or a
failed DNS lookup.
response
is
blocked by content security policy
If the
remote end
's
accept insecure TLS
state is
true, take implementation specific steps to ensure the navigation
is not aborted and that the untrusted or invalid TLS certificate
error that would normally occur under these circumstances, are
suppressed.
Otherwise return
error
with
error code
insecure certificate
response
's
HTTP status
is 401
Otherwise
Irrespective of how a possible authentication challenge is handled,
return
success
with data
null
10.1
Navigate To
HTTP Method
URI Template
POST
/session/{
session id
}/url
Note
The command causes the user agent to
navigate
the
session
's
current top-level browsing context
to a
new location.
If the
remote end
's
accept insecure TLS
flag is true, no
certificate errors that would normally cause the user agent to abort
and show a security warning are to hinder navigation to the requested
address.
Example
To navigate the
current top-level browsing context
of
the
session
with ID
to
, the
local end
would POST
to
/session/1/url
with the body:
"url"
"https://example.com"
The
remote end steps
, given
session
URL
variables
and
parameters
are:
Let
URL
be the result of
getting a property
named "
url
" from
parameters
If
session
's
current top-level browsing
context
is
no longer open
, return
error
with
error code
no such window
If
URL
is not an
absolute URL
or is not an
absolute URL with fragment
or not a
local scheme
, return
error
with
error
code
invalid argument
Try
to
handle any user prompts
with
session
Let
timeout
be
session
's
session
timeouts
page load timeout
Let
current URL
be
session
's
current
top-level browsing context
's
active document
's
URL
If
current URL
and
URL
do not have the
same
absolute URL
and
timeout
is not null:
Set
timer
to a new
timer
Start the timer
with
timer
and
timeout
Run these steps, but
abort when
timer
's
timeout fired flag
is set:
Navigate
session
's
current top-level
browsing context
to
URL
If
URL
is special
except for
file
and
current URL
and
URL
do not have the same
absolute URL
Try
to
wait for navigation to complete
with
session
and
timer
Try
to run the
post-navigation checks
Set the current browsing context
with
session
and
current top-level browsing
context
While
session
's
current top-level browsing context
contains
refresh state pragma directive
of
time
1 second
or less, run the following steps:
Set
current URL
to
session
's
current top-level browsing context
's
active
document
's
URL
Wait until the refresh timeout has elapsed and
new
navigate
of
session
's
current top-level
browsing context
has begun.
Set
URL
to the destination URL of
session
's
current top-level browsing context
's
active
document
's ongoing navigation.
If
URL
is special
except for
file
and
current URL
and
URL
do not have the same
absolute URL
Try
to
wait for navigation to complete
with
session
and
timer
Try
to run the
post-navigation checks
If aborted
return an
error
with
error
code
timeout
Return
success
with data
null
10.2
Get Current URL
HTTP Method
URI Template
GET
/session/{
session id
}/url
The
remote end steps
, given
session
URL
variables
and
parameters
are:
If
session
's
current top-level browsing
context
is
no longer open
, return
error
with
error code
no such window
Try
to
handle any user prompts
with
session
Let
URL
be the
serialization
of
session
's
current top-level browsing context
's
active document
's
URL
Return
success
with data
URL
10.3
Back
HTTP Method
URI Template
POST
/session/{
session id
}/back
Note
This command causes the browser to traverse
one step backward in the
joint session history
of
session
's
current top-level browsing context
This is equivalent to pressing the back button in the
browser chrome
or invoking
window.history.back
The
remote end steps
, given
session
URL
variables
and
parameters
are:
If
session
's
current top-level browsing
context
is
no longer open
, return
error
with
error code
no such window
Try
to
handle any user prompts
with
session
Let
timeout
be
session
session
timeouts
page load timeout
Let
timer
be a new
timer
If
timeout
is not null:
Start the timer
with
timer
and
timeout
Traverse the history by a delta
–1
for
session
's
current browsing context
If the previous step completed results in
pageHide
event firing
, wait
until
pageShow
event fires
or
timer
timeout fired flag
to be set,
whichever occurs first.
If
timer
timeout fired flag
is set:
Handle any user prompts
Return
error
with
error code
timeout
Return
success
with data
null
10.4
Forward
HTTP Method
URI Template
POST
/session/{
session id
}/forward
Note
This command causes the browser
to traverse one step forwards in the
joint session history
of
session
's
current top-level browsing context
This is equivalent to pressing the forward button in the
browser chrome
or invoking
window.history.forward
The
remote end steps
, given
session
URL
variables
and
parameters
are:
If
session
's
current top-level browsing
context
is
no longer open
, return
error
with
error code
no such window
Try
to
handle any user prompts
with
session
Let
timeout
be
session
session
timeouts
page load timeout
Let
timer
be a new
timer
If
timeout
is not null:
Start the timer
with
timer
and
timeout
Traverse the history by a delta
for
session
's
current browsing context
If the previous step completed results in a
pageHide
event
firing, wait until
pageShow
event fires
or
timer
timeout fired flag
to be set, whichever occurs first.
If
timer
timeout fired flag
is set:
Handle any user prompts
Return
error
with
error code
timeout
Return
success
with data
null
10.5
Refresh
HTTP Method
URI Template
POST
/session/{
session id
}/refresh
Note
This command causes the browser to reload the page
in
session
's
current top-level browsing context
The
remote end steps
, given
session
URL
variables
and
parameters
are:
If
session
's
current top-level browsing
context
is
no longer open
, return
error
with
error code
no such window
Try
to
handle any user prompts
with
session
Initiate
an overridden reload
of
session
's
current top-level browsing
context
's
active document
If
URL
is special
except for
file
Try
to
wait for navigation to complete
with
session
Try
to run the
post-navigation checks
Set the current browsing context
with
session
and
session
's
current
top-level browsing context
Return
success
with data
null
10.6
Get Title
HTTP Method
URI Template
GET
/session/{
session id
}/title
Note
This command returns the document title
of
session
's
current top-level browsing context
equivalent to calling
document.title
The
remote end steps
, given
session
URL
variables
and
parameters
are:
If
session
's
current top-level browsing
context
is
no longer open
, return
error
with
error code
no such window
Try
to
handle any user prompts
with
session
Let
title
be
the
session
's
current top-level browsing
context
's
active document
's
title
Return
success
with data
title
11.
Contexts
Many WebDriver
commands
happen in the context of either
session
's
current browsing context
or
current
top-level browsing context
session
's
current top-level browsing context
is
represented in the protocol by its associated
window handle
When a
top-level browsing context
is selected using
the
Switch To Window
command, a specific
browsing
context
can be selected using the
Switch to Frame
command.
Note
The use of the term “window” to
refer to a
top-level browsing context
is legacy and doesn't correspond with either
the operating system notion of a “window”
or the DOM
Window
object.
browsing context
is said to be
no longer open
if its
navigable
has been destroyed.
Each
browsing context
has an associated
window handle
which uniquely
identifies it. This must be a
String
and must not be
current
".
web frame
is an abstraction used to identify a
frame
or
iframe
when it is transported via the
protocol
between
remote
and
local
ends.
The
web frame identifier
is the string constant "
frame-075b-4da1-b6ba-e579c2d3230a
".
An ECMAScript
Object
represents a web frame
if it has a
web frame identifier
own property
web window
is an abstraction used to identify a
window
when it is transported via the
protocol
between
remote
and
local
ends.
The
web window identifier
is the string constant "
window-fcc6-11e5-b4f8-330a88ab9d7f
".
An ECMAScript
Object
represents a web window
if it has a
web window identifier
own property
The
WindowProxy
reference object
with
WindowProxy
object
window
is
given by:
Let
identifier
be the
web window identifier
if the associated
browsing context
of
window
is a
top-level browsing context
Otherwise let it be the
web frame identifier
Return a JSON
Object
initialized with the following properties:
identifier
Associated
window handle
of the
window
's
browsing context
To
deserialize a web frame
by a
JSON
Object
object
that
represents a web frame
If
object
has no
own property
web frame identifier
return
error
with
error code
invalid argument
Let
reference
be the result of
getting
the
web frame identifier
property
from
object
If
reference
is not a
String
return an
error
with
error code
invalid argument
Let
browsing context
be the
browsing context
whose
window handle
is
reference
, or null if no such
browsing context
exists.
If
browsing context
is null or a
top-level browsing context
return
error
with
error code
no such frame
Return
success
with data
browsing context
's associated window.
To
deserialize a web window
by a
JSON
Object
object
that
represents a web
window
If
object
has no
own property
web window identifier
return
error
with
error code
invalid argument
Let
reference
be the result of
getting
the
web window identifier
property
from
object
If
reference
is not a
String
return an
error
with
error code
invalid argument
Let
browsing context
be the
browsing context
whose
window handle
is
reference
, or null if no such
browsing context
exists.
If
browsing context
is null or not a
top-level browsing context
return
error
with
error code
no such window
Return
success
with data
browsing context
's associated window.
When required to
set the current browsing context
given
session
and
context
, an implementation must
follow the following steps:
Set
session
's
current browsing
context
to
context
Set the
session
's
current parent browsing
context
to the
parent browsing context
of
context
, if that context exists, or
null
otherwise.
When required to
set the current top-level browsing
context
given
session
and
context
, an
implementation must:
Assert:
context
is a
top-level browsing context
Set
session
's
current top-level browsing
context
to
context
Set the current browsing context
with
session
and
context
Note
In accordance with
the
focus
section of the [
HTML
] specification,
commands are unaffected by whether the operating system window has focus or not.
11.1
Get Window Handle
HTTP Method
URI Template
GET
/session/{
session id
}/window
The
remote end steps
, given
session
URL
variables
and
parameters
are:
If
session
's
current top-level browsing
context
is
no longer open
, return
error
with
error code
no such window
Return
success
with data being the
window handle
associated with
session
's
current top-level browsing context
MDN
Commands/CloseWindow
Chrome
65+
Chrome Android
No
Edge
Edge Mobile
Firefox
55+
Firefox Android
No
Opera
No
Opera Android
Safari
No
Safari iOS
Samsung Internet
No
WebView Android
11.2
Close Window
HTTP Method
URI Template
DELETE
/session/{
session id
}/window
The
remote end steps
, given
session
URL
variables
and
parameters
are:
If
session
's
current top-level browsing
context
is
no longer open
, return
error
with
error code
no such window
Try
to
handle any user prompts
with
session
Close
session
's
current top-level
browsing context
If there are no more open
top-level browsing contexts
then
try
to
close the session
Return the result of running the
remote end steps
for
the
Get Window Handles
command
with
session
URL variables
and
parameters
11.3
Switch To Window
HTTP Method
URI Template
POST
/session/{
session id
}/window
Note
Switching window will select
session
's
current top-level
browsing context
used as the target for all
subsequent
commands
. In a tabbed browser, this will typically
make the tab containing the
browsing context
the selected tab.
The
remote end steps
, given
session
URL
variables
and
parameters
are:
Let
handle
be the result of
getting the property
handle
from
parameters
If
handle
is
undefined
return
error
with
error code
invalid argument
If there is an active
user prompt
, that prevents the
focusing of another
top-level browsing context
return
error
with
error code
unexpected alert open
If
handle
is equal to the associated
window
handle
for some
top-level browsing context
let
context
be the that browsing context, and
set the current top-level browsing context
with
session
and
context
Otherwise, return
error
with
error code
no such window
Update any implementation-specific state that would result
from the user selecting
session
's
current browsing context
for
interaction, without altering OS-level focus.
Return
success
with data
null
MDN
Commands/GetWindowHandles
Chrome
65+
Chrome Android
No
Edge
Edge Mobile
Firefox
55+
Firefox Android
No
Opera
No
Opera Android
Safari
No
Safari iOS
Samsung Internet
No
WebView Android
11.4
Get Window Handles
HTTP Method
URI Template
GET
/session/{
session id
}/window/handles
The order in which the window handles are returned is arbitrary.
The
remote end steps
, given
session
URL
variables
and
parameters
are:
Let
handles
be a
List
For each
top-level browsing context
in the
remote end
push the associated
window handle
onto
handles
Return
success
with data
handles
Example
In order to determine whether or not a particular interaction
with the browser opens a new window,
one can obtain the set of window handles before the interaction is performed
and compare it with the set after the action is performed.
MDN
Commands/New_Window
This feature has limited support.
Chrome
No
Chrome Android
Edge
Edge Mobile
Firefox
66+
Firefox Android
Opera
Opera Android
Safari
No
Safari iOS
Samsung Internet
No
WebView Android
11.5
New Window
HTTP Method
URI Template
POST
/session/{
session id
}/window/new
Create a new
top-level browsing context
The
remote end steps
, given
session
URL
variables
and
parameters
are:
If the implementation does not support creating new top-level
browsing contexts, return
error
with
error code
unsupported operation
If
session
's
current top-level browsing
context
is
no longer open
, return
error
with
error code
no such window
Try
to
handle any user prompts
with
session
Let
type hint
be the result of
getting the property
type
" from
parameters
Create a new
top-level browsing context
by running
the
window open steps
with
URL
set to
about:blank
",
target
set to the empty
string, and
features
set to "
noopener
" and
the user agent configured to create a new browsing context. This must
be done without invoking the
focusing steps
for the created browsing
context. If
type hint
has the value "
tab
",
and the implementation supports multiple browsing context in the
same OS window, the new browsing context should share an OS window
with
session
's
current browsing context
. If
type hint
is
window
", and the implementation supports multiple
browsing contexts in separate OS windows, the created browsing
context should be in a new OS window. In all other cases the details
of how the browsing context is presented to the user are
implementation defined.
Let
handle
be the
associated
window handle
of the newly created window.
Let
type
be "
tab
" if the newly created
window shares an OS-level window with
session
's
current browsing
context
, or "
window
" otherwise.
Let
result
be a new JSON
Object
initialized with:
handle
The value of
handle
type
The value of
type
Return
success
with data
result
11.6
Switch To Frame
HTTP Method
URI Template
POST
/session/{
session id
}/frame
Note
The
Switch To Frame
command is used to select
session
's
current top-level browsing context
or
child browsing context
of
session
's
current
browsing context
to use as
session
's
current
browsing context
for subsequent
commands
The
remote end steps
, given
session
URL
variables
and
parameters
are:
Let
id
be the result of
getting the property
id
from
parameters
If
id
is not
null
Number
object,
or an
Object
that
represents a web element
return
error
with
error code
invalid argument
Run the substeps of the first matching condition:
id
is
null
If
session
's
current top-level browsing
context
is
no longer open
, return
error
with
error code
no such window
Try
to
handle any user prompts
with
session
Set the current browsing context
with
session
and
session
's
current
top-level browsing context
id
is a
Number
object
If
id
is less than 0 or greater than 2
16
– 1,
return
error
with
error code
invalid argument
If
session
's
current browsing context
is
no
longer open
, return
error
with
error code
no
such window
Try
to
handle any user prompts
with
session
Let
window
be the
associated window
of
session
's
current browsing context
's
active document
If
id
is not
supported property index
of
window
return
error
with
error code
no such frame
Let
child window
be
the
WindowProxy
object obtained by
calling
window
[[GetOwnProperty]]
id
).
Set the current browsing context
with
session
and
child window
's
browsing context
id
represents a web element
If
session
's
current browsing context
is
no
longer open
, return
error
with
error code
no
such window
Try
to
handle any user prompts
with
session
Let
element
be the result
of
trying
to
get a known element
with
session
and
id
If
element
is not a
frame
or
iframe
element,
return
error
with
error code
no such frame
Set the current browsing context
with
session
and
element
's
content navigable
's
active browsing context
Update any implementation-specific state that would result
from the user selecting
session
's
current browsing context
for
interaction, without altering OS-level focus.
Return
success
with data
null
Note
WebDriver is not bound by the same origin policy,
so it is always possible to switch into child browsing contexts,
even if they are different origin to the current browsing context.
11.7
Switch To Parent Frame
HTTP Method
URI Template
POST
/session/{
session id
}/frame/parent
Note
The
Switch to Parent Frame
command
sets
session
's
current browsing context
for future
commands
to the parent of
session
's
current browsing context
The
remote end steps
, given
session
URL
variables
and
parameters
are:
If
session
's
current browsing context
is already the
top-level browsing context
If
session
's
current browsing context
is
no longer open
, return
error
with
error
code
no such window
Return
success
with data
null
If
session
's
current parent browsing context
is
no longer open
, return
error
with
error
code
no such window
Try
to
handle any user prompts
with
session
If
session
's
current parent browsing context
is
not
null
set the current browsing context
with
session
and
current parent browsing context
Update any implementation-specific state that would result
from the user selecting
session
's
current browsing context
for
interaction, without altering OS-level focus.
Return
success
with data
null
11.8
Resizing and positioning windows
WebDriver provides
commands
for interacting with the operating system window
containing
session
's
current top-level browsing context
Because different operating systems' window managers provide different abilities,
not all of the commands in this section can be supported by all
remote ends
Support for these
commands
is determined by the
window
dimensioning/positioning
capability
Where a
command
is not supported,
an
unsupported operation
error
is returned.
The
top-level browsing context
has an associated
window state
which describes what visibility state its OS widget window is in.
It can be in one of the following states:
State
Keyword
Default
Description
Maximized window state
maximized
The window is maximized.
Minimized window state
minimized
The window is iconified.
Normal window state
normal
The window is shown normally.
Fullscreen window state
fullscreen
The window is in full screen mode.
If for whatever reason the
top-level browsing context
's
OS window cannot enter either of the
window states
, or if this
concept is not applicable on the current system, the default state
must be
normal
The
WindowRect object
for
WindowProxy
window
is an
Object
initialized
with the following properties:
window
's
screenX
attribute.
window
's
screenY
attribute.
width
windows
's
outerWidth
attribute.
height
window
's
outerHeight
attribute.
To
maximize the window
given an operating system level window
with an associated
top-level browsing context
run the implementation-specific steps
to transition the operating system level window
into the
maximized window state
If the window manager supports window resizing
but does not have a concept of window maximization,
the window dimensions must be increased
to the maximum available size
permitted by the window manager
for the current screen.
Return when the window has completed the transition,
or within an implementation-defined timeout.
To
iconify the window
given an operating system level window
with an associated
top-level browsing context
run implementation-specific steps
to transition the operating system level window
into the
minimized window state
Do not return from this operation
until the
visibility state
of the
top-level browsing context
's
active document
has reached the
hidden
state,
or until the operation times out.
To
restore the window
given an operating system level window
with an associated
top-level browsing context
run implementation-specific steps
to restore or unhide the window
to the visible screen.
Do not return from this operation
until the
visibility state
of the
top-level browsing context
's
active document
has reached the
visible
state,
or until the operation times out.
MDN
Commands/GetWindowRect
Chrome
65+
Chrome Android
No
Edge
Edge Mobile
Firefox
55+
Firefox Android
No
Opera
No
Opera Android
Safari
No
Safari iOS
Samsung Internet
No
WebView Android
11.8.1
Get Window Rect
HTTP Method
URI Template
GET
/session/{session id}/window/rect
Note
The
Get Window Rect
command
returns the size and position on the screen
of the operating system window corresponding
to
session
's
current top-level browsing context
The
remote end steps
, given
session
URL
variables
and
parameters
are:
If
session
's
current top-level browsing context
is
no longer open
return
error
with
error code
no such window
Try
to
handle any user prompts
with
session
Return
success
with data set to the
WindowRect
object
for the
session
's
current top-level browsing
context
MDN
Commands/SetWindowRect
Chrome
65+
Chrome Android
No
Edge
Edge Mobile
Firefox
55+
Firefox Android
No
Opera
No
Opera Android
Safari
No
Safari iOS
Samsung Internet
No
WebView Android
11.8.2
Set Window Rect
HTTP Method
URI Template
POST
/session/{
session id
}/window/rect
Note
The
Set Window Rect
command
alters the size and the position of the operating system window
corresponding to
session
's
current top-level browsing context
The
remote end steps
, given
session
URL
variables
and
parameters
are:
Let
width
be the result of
getting a property
named "
width
from
parameters
If
width
is
undefined
, let
width
be null.
Let
height
be the result of
getting a property
named "
height
from
parameters
If
height
is
undefined
, let
height
be null.
Let
be the result of
getting a property
named "
" from
parameters
If
is
undefined
, let
be null.
Let
be the result of
getting a property
named "
" from
parameters
If
is
undefined
, let
be null.
If
width
or
height
is neither null, nor
Number
from 0 to 2
31
− 1, return
error
with
error code
invalid argument
If
or
is neither null, nor
Number
from −(2
31
) to 2
31
− 1,
return
error
with
error code
invalid argument
If the
remote end
does not support
the
Set Window Rect
command
for
session
's
current top-level browsing context
for any reason, return
error
with
error
code
unsupported operation
Note
In case the
Set Window Rect
command is
partially supported (i.e. some combinations of arguments are
supported but not others), the implmentation is expected to continue
with the remaining steps.
If
session
's
current top-level browsing
context
is
no longer open
, return
error
with
error code
no such window
Try
to
handle any user prompts
with
session
Fully exit fullscreen
Restore the window
Let
window
be the operating system window containing
session
's
current top-level browsing context
If the implementation is able to set the dimensions
of
window
If
width
is not null, set the width,
in
CSS pixels
, of
window
, including
any
browser chrome
and externally drawn window decorations,
to a value that is as close as possible to
width
If
height
is not null, set the height,
in
CSS pixels
, of
window
, including
any
browser chrome
and externally drawn window decorations,
to a value that is as close as possible to
height
Note
The specification does not guarantee
that the resulting window size will exactly match that which was requested.
In particular the implementation is expected to clamp values
that are larger than the physical screen dimensions,
or smaller than the minimum window size.
Particular implementations may have other limitations
such as not being able to resize in single-pixel increments.
This is intended to mutate the value
of
session
's
current top-level browsing
context
's
WindowProxy
's
outerWidth
and
outerHeight
properties. Specifically, the value of
outerWidth
should
be as close as possible to
width
and the value
of
outerHeight
should be as close as possible
to
height
If the implementation is able to set the position of
window
If
is not null, set the x-coordinate of the
left edge of
window
to a value that is as close as
possible to
If
is not null, set the y-coordinate of the top
edge of
window
to a value that is as close as possible
to
Note
The specification does not guarantee
that the resulting window position will match that which was requested.
This step is similar to calling the
moveTo(x,
y)
method on the
WindowProxy
object
associated with
session
's
current top-level browsing
context
, but without the
security
restrictions
that you
cannot move a window or tab that was not created by
window.open
cannot move a window or tab when it is in a window with more than one tab.
Return
success
with data set to the
WindowRect
object
for the
session
's
current top-level browsing
context
11.8.3
Maximize Window
HTTP Method
URI Template
POST
/session/{
session id
}/window/maximize
Note
The
Maximize Window
command invokes the window
manager-specific “maximize” operation, if any, on the window
containing
session
's
current top-level browsing
context
. This typically increases the window to the maximum
available size without going full-screen.
The
remote end steps
, given
session
URL
variables
and
parameters
are:
If the
remote end
does not support the
Maximize
Window
command for
session
's
current top-level
browsing context
for any reason, return
error
with
error code
unsupported operation
If
session
's
current top-level browsing
context
is
no longer open
, return
error
with
error code
no such window
Try
to
handle any user prompts
with
session
Fully exit fullscreen
Restore the window
Maximize the window
of
session
's
current top-level browsing context
Return
success
with data set to the
WindowRect
object
for the
session
's
current top-level browsing
context
11.8.4
Minimize Window
HTTP Method
URI Template
POST
/session/{
session id
}/window/minimize
Note
The
Minimize Window
command invokes the window
manager-specific “minimize” operation, if any, on the window
containing
session
's
current top-level browsing
context
. This typically hides the window in the system tray.
The
remote end steps
, given
session
URL
variables
and
parameters
are:
If the
remote end
does not support the
Minimize
Window
command for
session
's
current top-level
browsing context
for any reason, return
error
with
error code
unsupported operation
If
session
's
current top-level browsing
context
is
no longer open
, return
error
with
error code
no such window
Try
to
handle any user prompts
with
session
Fully exit fullscreen
Iconify the window
Return
success
with data set to the
WindowRect
object
for the
session
's
current top-level browsing
context
11.8.5
Fullscreen Window
HTTP Method
URI Template
POST
/session/{
session id
}/window/fullscreen
The
remote end steps
, given
session
URL
variables
and
parameters
are:
If the
remote end
does not
support fullscreen
return
error
with
error code
unsupported operation
If
session
's
current top-level browsing
context
is
no longer open
, return
error
with
error code
no such window
Try
to
handle any user prompts
with
session
Restore the window
Call
fullscreen an element
with
session
's
current top-level browsing context
's
active document
's
document element
Note
The window is now in the
Fullscreen window state
Return
success
with data set to the
WindowRect
object
for the
session
's
current top-level browsing
context
12.
Elements
web element
is an abstraction used to identify an
element
when it is transported via the
protocol
between
remote
and
local
ends.
The
web element identifier
is the string constant
element-6066-11e4-a52e-4f735466cecf
".
An ECMAScript
Object
represents a web element
if it has a
web element identifier
own property
The
WebDriver node id
is a globally unique string
representing a handle to a DOM node in a specific
WebDriver
session
weak map
is a
map
in which keys are held
weakly i.e. items are removed if the key object is garbaged collected, and
presence in the map does not prevent garbage collection. This acts as an
alternative to defining properties directly on the key objects.
Note
Unlike the ECMAScript
WeakMap
weak map
can participate in the full set of operations available for
a Map.
A WebDriver
session
has a
browsing context group node
map
, which is a
weak map
between a
browsing context group
and a
node id map
node id map
is
weak map
between nodes and their
corresponding
WebDriver node id
A WebDriver
session
has a
navigable seen nodes map
which is a
weak map
between a
navigable
and a set.
To
get a node
given
session
browsing context
, and
reference
Let
browsing context group node map
be
session
's
browsing context group node map
Let
browsing context group
be
browsing
context
's
browsing context group
If
browsing context group node map
does not
contain
browsing context group
, return null.
Let
node id map
be
browsing context group node
map
browsing context group
].
Let
node
be the entry in
node id map
whose
value is
reference
, if such an entry exists, or null
otherwise.
Return
node
To
get or create a node reference
given
session
browsing context
, and
node
Let
browsing context group node map
be
session
's
browsing context group node map
Let
browsing context group
be
browsing
context
's
browsing context group
If
browsing context group node map
does not
contain
browsing context group
, set
browsing context
group node map
browsing context group
] to a new
weak map
Let
node id map
be
browsing context group node
map
browsing context group
].
If
node id map
does not contain
node
Let
node id
be a new globally unique string.
Set
node id map
node
] to
node id
Let
navigable
be
browsing
context
's
active document
's
node navigable
Let
navigable seen nodes map
be
session
's
navigable seen nodes map
If
navigable seen nodes map
does not
contain
navigable
, set
navigable seen nodes
map
navigable
] to an empty set.
Append
node id
to
navigable seen nodes
map
navigable
].
Return
node id map
node
].
node reference is known
given
session
browsing
context
, and
reference
if the following steps return true:
Let
navigable
be
browsing
context
's
active document
's
node navigable
Let
navigable seen nodes map
be
session
's
navigable seen nodes map
If
navigable seen nodes map
contains
navigable
and
navigable seen nodes
map
navigable
contains
reference
return true, otherwise return false.
To
get a known element
given
session
and
reference
If not
node reference is known
with
session
session
's
current browsing context
and
reference
return
error
with
error code
no such element
Let
node
be the result of
get a node
with
session
session
's
current browsing
context
, and
reference
If
node
is not null and
node
does not implement
Element
return
error
with
error code
no such element
If
node
is null or
node
is stale
return
error
with
error code
stale element reference
Return
success
with data
node
To
get or create a web element reference
given
session
and
element
Assert:
element
implements
Element
Return the result of
trying
to
get or create a node
reference
given
session
session
's
current
browsing context
, and
element
The
web element reference object
for
session
and
element
is:
Let
identifier
be the
web element identifier
Let
reference
be the result of
get or create a
web element reference
with
session
and
element
Return a JSON
Object
initialized with a property with
name
identifier
and value
reference
To
deserialize a web element
by a
JSON
Object
object
that
represents a web
element
If
object
has no
own property
web element identifier
return
error
with
error code
invalid argument
Let
reference
be the result of
getting
the
web element
identifier
property from
object
If
reference
is not a
String
return an
error
with
error code
invalid argument
Let
element
be the result
of
trying
to
get a known element
with
session
and
reference
Return
success
with data
element
An
element
is stale
if its
node document
is not the
active document
or if it is not
connected
To
scroll into view
an
element
perform the following steps
only if the element is not already
in view
Let
options
be
the following
ScrollIntoViewOptions
behavior
instant
Logical scroll position "
block
end
Logical scroll position "
inline
nearest
Run
Function.[[Call]]
scrollIntoView
options
with
element
as the this value.
Editable
elements
are those that can be used for
typing
and
clearing
and they fall into two subcategories:
Mutable form control elements
Denotes
input
elements
that are
mutable
(e.g. that are not
read only
or
disabled
) and whose
type
attribute
is in one of the following states:
Text and Search
URL
Telephone
Email
Password
Date
Month
Week
Time
Local Date and Time
Number
Range
Color
File Upload
And the
textarea
element.
Mutable elements
Denotes elements that are
editing hosts
or
content editable
An
element
is said to have
pointer events disabled
if the
resolved value
of its "
pointer-events
" style property
is "
none
".
An
element
is to be considered
read only
if it is an
input
element
whose
readonly
attribute is set.
12.1
Interactability
In order to determine if an
element
can be interacted with using pointer actions,
WebDriver performs hit-testing to find
if the interaction will be able to reach the requested element.
An
interactable element
is an
element
which is either
pointer-interactable
or
keyboard-interactable
pointer-interactable element
is defined to be the first
element
defined by the
paint order
found at the
center point
of its rectangle that is inside the
viewport
excluding the size of any rendered scrollbars.
keyboard-interactable element
is any
element
that has a
focusable area
is a
body
element,
or is the
document element
An
element
's
in-view center point
is the origin position of the rectangle
that is the intersection between
the element's first
DOMRect
of
getClientRects
()
and the
initial viewport
It can be calculated this way:
Let
rectangle
be
the first object of the
DOMRect
collection
returned by calling
getClientRects
()
on
element
Let
left
be
max
(0,
min
x coordinate
x coordinate
width dimension
)).
Let
right
be
min
innerWidth
max
x coordinate
x coordinate
width dimension
)).
Let
top
be
max
(0,
min
y coordinate
y coordinate
height dimension
)).
Let
bottom
be
min
innerHeight
max
y coordinate
y coordinate
height dimension
)).
Let
be
floor
((
left
right
) ÷ 2.0).
Let
be
floor
((
top
bottom
) ÷ 2.0).
Return the pair of (
).
An
element
element
is
disabled
if the following steps
return true:
If
element
is an
option
element or
element
is an
optgroup
element:
For each
inclusive ancestor
ancestor
of
element
If
ancestor
is an
optgroup
element or
ancestor
is a
select
element, and
ancestor
is
actually disabled
, return true.
Return false.
Return
element
is
actually disabled
An
element
is
in view
if it is a member of its own
pointer-interactable paint tree
given the pretense that its
pointer events are not disabled
An
element
is
obscured
if the
pointer-interactable paint tree
at its
center point
is empty,
or the first element in this tree
is not an
inclusive descendant
of itself.
Example
10
This ascertains if the
element
's
in-view center point
would be possible to
interact
with.
For example, the
paint tree
at this button's
center point
, the red square, is not itself the button or
descendant
of the button. In other words, it is not
an
inclusive descendant
. This makes the
button
obscured
On the other hand, the
center point
of the following select
list is the third
option
element, because unlike
a drop-down list,
An
input state
has the following items:
input state map
which is a map where keys are
input ids
, and the values are
input sources
An
input cancel list
, which is a list of
action
objects
. This list is used to manage dispatching events when
resetting the state of the
input source
An
actions queue
which is a
queue
that ensures
that access to the
input state
is serialized.
To
get the input state
given
session
and
browsing context
Assert:
browsing context
is a
top-level browsing
context
Let
input state map
be
session
's
browsing context input state map
If
input state map
does not
contain
browsing context
, set
input
state map
browsing context
] to
create an input
state
Return
input state map
browsing
context
].
To
reset the input state
given
session
and
browsing context
Assert:
browsing context
is a
top-level browsing
context
Let
input state map
be
session
's
browsing context input state map
If
input state map
browsing context
exists
, then
remove
input state map
browsing
context
].
To
create an input state
Let
input state
be an
input state
with
the
input state map
set to an empty map, and the
input
cancel list
set to an empty list.
Return
input state
To
add an input source
given
input state
input id
, and
source
Let
input state map
be
input
state
's
input state map
Set
input state map
input id
to
source
To
remove an input source
given
input state
and
input id
Assert: None of the items in
input
state
's
input cancel list
has id equal
to
input id
Let
input state map
be
input
state
's
input state map
Remove
input state map
input id
].
To
get an input source
given
input state
and
input id
Let
input state map
be
input
state
's
input state map
If
input state map
input id
] exists,
return
input state map
input id
].
Return undefined.
To
get or create an input source
given
input
state
type
input id
, and
optional
subtype
Let
source
be
get an input source
with
input state
and
input id
If
source
is not undefined and
source
's
type is not equal to
type
, or
source
is
pointer input source
, return
error
with
error
code
invalid argument
If
source
is undefined, set
source
to
the result of
trying
to
create an input source
with
input state
and
type
Return success with data
source
global key state
is a
struct
with items pressed,
altKey, ctrlKey, metaKey, and shiftKey.
To
get the global key state
given
input state
Let
input state map
be
input
state
's
input state map
Let
sources
be the result of
getting the values
with
input state map
Let
key state
be a new
global key state
with
pressed
set to an empty
set,
altKey
ctrlKey
metaKey
and
shiftKey
set to false.
For each
source
in
sources
If
source
is not a
key input source
continue to the first step of this loop.
Set
key state
's
pressed
item to the
union of its current value and
source
's pressed item.
If
source
's
alt
item is true,
set
key state
's
altKey
item to true.
If
source
's
ctrl
item is true,
set
key state
's
ctrlKey
item to true.
If
source
's
meta
item is true,
set
key state
's
metaKey
item to true.
If
source
's
shift
item is true,
set
key state
's
shiftKey
item to true.
Return
key state
To
get a pointer id
given
input state
and
subtype
Let
minimum id
be 0 if
subtype
is
mouse
", or 2 otherwise.
Let
pointer ids
be an empty set.
Let
sources
be the result of
getting the values
with
input state
's
input state map
For each
source
in
sources
.:
If
source
is a
pointer input source
append
source
's pointerId to
pointer ids
Return the smallest integer that is greater than or equal
to
minimum id
and that is not contained in
pointer
ids
15.4
Ticks
tick
is the basic unit of time over
which actions can be performed. During a
tick
, each
input source
has
an assigned action — possibly a noop
pause
action — which may
result in changes to the user agent internal state and eventually
cause DOM events to be
fired
at the page. The next
tick
begins
after the user agent has had a chance to process all DOM events
generated in the current
tick
Waiting
asynchronously
means waiting for something to occur whilst
allowing the browser to continue processing
the
event
loop
At the lowest level, the behavior of actions is intended to mimic
the
remote end
's behavior with an actual input device as
closely as possible, and the implementation strategy may involve
e.g. injecting synthesized events into a browser event
loop. Therefore the steps to dispatch an action will inevitably end
up in implementation-specific territory. However there are certain
content observable effects that must be consistent across
implementations. To accommodate this, the specification requires
that
remote ends
perform implementation-specific action
dispatch steps
on a
browsing context
context
and a
list of events
and their properties. These steps
must be equivalent to performing the given input device manipulations
on
context
, such that trusted events corresponding to the
entries in
list of events
are dispatched.
Note
The list of events is not comprehensive; in particular the default
action of the
input source
may cause additional events to be
generated depending on the implementation and the state of the
browser (e.g. input events relating to key actions when the focus is
on an editable
element
, scroll events, etc.).
Note
An
activation trigger
generated by WebDriver
needs to be indistinguishable from those generated by a real user interacting with the browser.
In particular, the dispatched events
will have the
isTrusted
attribute set to true.
The most robust way to dispatch these events is by creating them in
the browser implementation itself. Sending operating system specific
input messages to the browser's window has the disadvantage that the
browser being automated may not be properly isolated from a user
accidentally modifying an
input source
. Use of an operating
system level accessibility API has the disadvantage that the browser's
window must be focused, and as a result, multiple WebDriver instances
cannot run in parallel.
The advantage of an operating system level accessibility API
is that it guarantees that inputs correctly mirror user input,
and allows interaction with the host system if necessary.
This might, however, have performance penalties
from a machine utilisation perspective.
15.5
Processing actions
The algorithm for
extracting an action sequence from a request
takes the
JSON
Object
representing an action sequence, validates the
input, and returns a data structure that is the transpose of the
input JSON, such that the actions to be performed in a single
tick
are grouped together.
To
get coordinates relative to an origin
given
source
x offset
y offset
origin
browsing context
, and
actions
options
Run the substeps of the first matching value
of
origin
viewport
Let
equal
x offset
and
equal
y offset
pointer
Let
start x
be equal to the
property of
source
Let
start y
be equal to the
property of
source
Let
equal
start x
x offset
and
equal
start y
y offset
Otherwise
Let
element
be the result of
trying
to
run
actions options
get element origin
steps with
origin
and
browsing context
If
element
is null, return
error
with
error
code
no such element
Let
x element
and
y element
be the
result of calculating the
in-view center point
of
element
Let
equal
x element
x offset
, and
equal
y element
y offset
Return (
To
extract an action sequence
given
input state
parameters
, and
actions
options
Let
actions
be the result of
getting a
property
named "
actions
" from
parameters
If
actions
is
undefined
or is not
an
Array
, return
error
with
error
code
invalid argument
Let
actions by tick
be an empty
List
For each value
action sequence
corresponding to an indexed property in
actions
Let
source actions
be the result of
trying
to
process an input source action sequence
given
input
state
action sequence
, and
actions
options
For each
action
in
source actions
Let
be the zero-based index
of
action
in
source actions
If the length of
actions by tick
is less
than
+ 1, append a new
List
to
actions by tick
Append
action
to the
List
at
index
in
actions by tick
Return
success
with data
actions by tick
When required to
process an input source action
sequence
, given
input state
action
sequence
, and
actions options
, a
remote end
must:
Let
type
be the result of
getting a property
named "
type
" from
action sequence
If
type
is
not "
key
", "
pointer
",
wheel
", or "
none
",
return an
error
with
error code
invalid argument
Let
id
be the result of
getting the property
id
" from
action sequence
If
id
is
undefined
or is not a
String
return
error
with
error code
invalid argument
If
type
is equal to "
pointer
",
let
parameters data
be the result
of
getting the property
parameters
from
action sequence
Then let
parameters
be the result
of
trying
to
process pointer parameters
with argument
parameters data
Let
source
be the result of trying to
get or
create an input source
given
input
state
type
and
id
If
parameters
is not
undefined
then if its
pointerType
property is not equal to
source
's subtype property, return an
error
with
error code
invalid argument
Let
action items
be the result of
getting a
property
named "
actions
" from
action sequence
If
action items
is not an
Array
return
error
with
error code
invalid argument
Let
actions
be a new list.
For each
action item
in
action items
If
action item
is not an
Object
return
error
with
error code
invalid argument
If
type
is "
none
let
action
be the result of
trying
to
process
a null action
with parameters
id
, and
action item
Otherwise, if
type
is "
key
let
action
be the result of
trying
to
process
a key action
with parameters
id
, and
action item
Otherwise, if
type
is "
pointer
let
action
be the result of
trying
to
process
a pointer action
with parameters
id
parameters
action item
, and
actions
options
Otherwise, if
type
is "
wheel
let
action
be the result of
trying
to
process
a wheel action
with parameters
id
, and
action item
, and
actions options
Append
action
to
actions
Return
success
with data
actions
The
default pointer parameters
consist of an object with
property
pointerType
set to
mouse
To
process pointer parameters
given
parameters data
Let
parameters
be the
default pointer parameters
If
parameters data
is
undefined
return
success
with data
parameters
If
parameters data
is not an
Object
return
error
with
error code
invalid argument
Let
pointer type
be the result
of
getting a property
named "
pointerType
from
parameters data
If
pointer type
is not
undefined
If
pointer type
does not have one of the values
mouse
",
pen
",
or "
touch
",
return
error
with
error code
invalid argument
Set the
pointerType
property of
parameters
to
pointer type
Return
success
with data
parameters
An
action object
constructed with
arguments
id
type
, and
subtype
is
an object with property id set to
id
, type
set to
type
and subtype set
to
subtype
. Specific action objects have further
properties added by other algorithms in this specification.
To
process a null action
given
id
and
action item
Let
subtype
be the result of
getting a property
named "
type
" from
action item
If
subtype
is not "
pause
",
return
error
with
error code
invalid argument
Let
action
be an
action object
constructed with arguments
id
"none"
and
subtype
Let
result
be the result
of
trying
to
process a pause action
with arguments
action item
and
action
Return
result
To
process a key action
given
id
and
action item
Let
subtype
be the result of
getting a property
named "
type
" from
action item
If
subtype
is not one of the values
keyUp
",
keyDown
",
or "
pause
",
return an
error
with
error code
invalid argument
Let
action
be an
action object
constructed with arguments
id
key
",
and
subtype
If
subtype
is "
pause
",
let
result
be the result
of
trying
to
process a pause action
with arguments
action item
and
action
and return
result
Let
key
be the result of
getting a property
named "
value
" from
action item
If
key
is not a
String
containing a single
unicode code point
or grapheme cluster?
return
error
with
error code
invalid argument
Set the
value
property on
action
to
key
Return success with data
action
To
process a pointer action
given
id
parameters
action item
, and
action
options
Let
subtype
be the result
of
getting a property
named "
type
from
action item
If
subtype
is not one of the values
pause
",
pointerUp
",
pointerDown
",
pointerMove
",
or "
pointerCancel
",
return an
error
with
error code
invalid argument
Let
action
be an
action object
constructed with arguments
id
pointer
",
and
subtype
If
subtype
is "
pause
",
let
result
be the result of
trying
to
process a pause action
with arguments
action item
action
, and
actions
options
, and return
result
Set the
pointerType
property of
action
equal to the
pointerType
property of
parameters
If
subtype
is "
pointerUp
" or "
pointerDown
",
process a pointer up or pointer down action
with arguments
action item
and
action
If doing so results in an
error
, return that
error
If
subtype
is "
pointerMove
process a pointer move action
with arguments
action item
action
, and
actions
options
. If doing so results in an
error
, return
that
error
If
subtype
is "
pointerCancel
process a pointer cancel action
If doing so results in an
error
, return that
error
Return
success
with data
action
To
process a wheel action
given
id
action item
, and
actions
options
Let
subtype
be the result
of
getting a property
named "
type
from
action item
If
subtype
is not the value
pause
", or
scroll
",
return an
error
with
error code
invalid argument
Let
action
be an
action object
constructed with arguments
id
wheel
",
and
subtype
If
subtype
is "
pause
",
let
result
be the result of
trying
to
process a pause action
with arguments
action item
and
action
and return
result
Let
duration
be the result of
getting a property
named "
duration
" from
action item
If
duration
is not
undefined
and
duration
is not an
Integer
greater than or equal to 0, return
error
with
error code
invalid argument
Set the
duration
property of
action
to
duration
Let
origin
be the result of
getting the property
origin
from
action item
If
origin
is
undefined
let
origin
equal "
viewport
".
If
origin
is not equal to "
viewport
",
or
actions options
is element origin
steps given
origin
return false, return
error
with
error code
invalid argument
Set the
origin
property of
action
to
origin
Let
be the result of
getting the property
from
action item
If
is not an
Integer
, return
error
with
error code
invalid argument
Set the
property of
action
to
Let
be the result of
getting the property
from
action item
If
is not an
Integer
, return
error
with
error code
invalid argument
Set the
property of
action
to
Let
deltaX
be the result of
getting the property
deltaX
from
action item
If
deltaX
is not an
Integer
return
error
with
error code
invalid argument
Set the
deltaX
property of
action
to
deltaX
Let
deltaY
be the result of
getting the property
deltaY
from
action item
If
deltaY
is not an
Integer
return
error
with
error code
invalid argument
Set the
deltaY
property of
action
to
deltaY
Return
success
with data
action
To
process a pause action
given
action item
and
action
Let
duration
be the result of
getting the
property
duration
" from
action item
If
duration
is not
undefined
and
duration
is not an
Integer
greater than or
equal to 0, return
error
with
error code
invalid
argument
Set the
duration
property of
action
to
duration
Return success with data
action
To
process a pointer up or pointer down action
given
action item
, and
action
Let
button
be the result
of getting the property
button
from
action item
If
button
is not an
Integer
greater than or
equal to 0 return
error
with
error code
invalid argument
Set the
button
property of
action
to
button
Let
width
be the result
of getting the property
width
from
action item
If
width
is not
undefined
and
width
is not a
Number
greater than or
equal to 0 return
error
with
error code
invalid argument
Set the
width
property of
action
to
width
Let
height
be the result
of getting the property
height
from
action item
If
height
is not
undefined
and
height
is not a
Number
greater than or
equal to 0 return
error
with
error code
invalid argument
Set the
height
property of
action
to
height
Let
pressure
be the result
of getting the property
pressure
from
action item
If
pressure
is not
undefined
and
pressure
is not a
Number
greater than or
equal to 0 and less than or equal to 1 return
error
with
error code
invalid argument
Set the
pressure
property of
action
to
pressure
Let
tangentialPressure
be the result
of getting the property
tangentialPressure
from
action item
If
tangentialPressure
is not
undefined
and
tangentialPressure
is not a
Number
greater
than or equal to -1 and less than or equal to 1 return
error
with
error code
invalid argument
Set the
tangentialPressure
property of
action
to
tangentialPressure
Let
tiltX
be the result
of getting the property
tiltX
from
action item
If
tiltX
is not
undefined
and
tiltX
is not an
Integer
greater than or
equal to -90 and less than or equal to 90 return
error
with
error code
invalid argument
Set the
tiltX
property of
action
to
tiltX
Let
tiltY
be the result
of getting the property
tiltY
from
action item
If
tiltY
is not
undefined
and
tiltY
is not an
Integer
greater than or
equal to -90 and less than or equal to 90 return
error
with
error code
invalid argument
Set the
tiltY
property of
action
to
tiltY
Let
twist
be the result
of getting the property
twist
from
action item
If
twist
is not
undefined
and
twist
is not an
Integer
greater than or
equal to 0 and less than or equal to 359 return
error
with
error code
invalid argument
Set the
twist
property of
action
to
twist
Let
altitudeAngle
be the result
of getting the property
altitudeAngle
from
action item
If
altitudeAngle
is not
undefined
and
altitudeAngle
is not a
Number
greater than
or equal to 0 and less than or equal to π/2 return
error
with
error code
invalid argument
Set the
altitudeAngle
property of
action
to
altitudeAngle
Let
azimuthAngle
be the result
of getting the property
azimuthAngle
from
action item
If
azimuthAngle
is not
undefined
and
azimuthAngle
is not a
Number
greater than
or equal to 0 and less than or equal to 2π return
error
with
error code
invalid argument
Set the
azimuthAngle
property of
action
to
azimuthAngle
Return success with data
null
To
process a pointer move action
given
action
item
action
, and
actions options
Let
duration
be the result
of getting the property
duration
from
action item
If
duration
is not
undefined
and
duration
is not an
Integer
greater than or equal to 0,
return
error
with
error code
invalid argument
Set the
duration
property of
action
to
duration
Let
origin
be the result
of
getting the property
origin
from
action item
If
origin
is
undefined
let
origin
equal "
viewport
".
If
origin
is not equal to "
viewport
or "
pointer
", and
actions options
is
element origin
steps given
origin
return false,
return
error
with
error code
invalid argument
Set the
origin
property of
action
to
origin
Let
be the result
of
getting the property
from
action item
If
is not a
Number
, return
error
with
error code
invalid argument
Set the
property of
action
to
Let
be the result
of
getting the property
from
action item
If
is not a
Number
, return
error
with
error code
invalid argument
Set the
property of
action
to
Let
width
be the result
of getting the property
width
from
action item
If
width
is not
undefined
and
width
is not a
Number
greater than or
equal to 0 return
error
with
error code
invalid argument
Set the
width
property of
action
to
width
Let
height
be the result
of getting the property
height
from
action item
If
height
is not
undefined
and
height
is not a
Number
greater than or
equal to 0 return
error
with
error code
invalid argument
Set the
height
property of
action
to
height
Let
pressure
be the result
of getting the property
pressure
from
action item
If
pressure
is not
undefined
and
pressure
is not a
Number
greater than or
equal to 0 and less than or equal to 1 return
error
with
error code
invalid argument
Set the
pressure
property of
action
to
pressure
Let
tangentialPressure
be the result
of getting the property
tangentialPressure
from
action item
If
tangentialPressure
is not
undefined
and
tangentialPressure
is not a
Number
greater
than or equal to -1 and less than or equal to 1 return
error
with
error code
invalid argument
Set the
tangentialPressure
property of
action
to
tangentialPressure
Let
tiltX
be the result
of getting the property
tiltX
from
action item
If
tiltX
is not
undefined
and
tiltX
is not an
Integer
greater than or
equal to -90 and less than or equal to 90 return
error
with
error code
invalid argument
Set the
tiltX
property of
action
to
tiltX
Let
tiltY
be the result
of getting the property
tiltY
from
action item
If
tiltY
is not
undefined
and
tiltY
is not an
Integer
greater than or
equal to -90 and less than or equal to 90 return
error
with
error code
invalid argument
Set the
tiltY
property of
action
to
tiltY
Let
twist
be the result
of getting the property
twist
from
action item
If
twist
is not
undefined
and
twist
is not an
Integer
greater than or
equal to 0 and less than or equal to 359 return
error
with
error code
invalid argument
Set the
twist
property of
action
to
twist
Let
altitudeAngle
be the result
of getting the property
altitudeAngle
from
action item
If
altitudeAngle
is not
undefined
and
altitudeAngle
is not a
Number
greater than
or equal to 0 and less than or equal to π/2 return
error
with
error code
invalid argument
Set the
altitudeAngle
property of
action
to
altitudeAngle
Let
azimuthAngle
be the result
of getting the property
azimuthAngle
from
action item
If
azimuthAngle
is not
undefined
and
azimuthAngle
is not a
Number
greater than
or equal to 0 and less than or equal to 2π return
error
with
error code
invalid argument
Set the
azimuthAngle
property of
action
to
azimuthAngle
Return success with data
null
15.6
Dispatching actions
The algorithm to
dispatch actions
takes a list of actions
grouped by
tick
, and then causes each action to be run at the
appropriate point in the sequence.
To
wait for an action queue token
given
input state
Let
token
be a new unique identifier.
Enqueue
token
in
input state
's
actions queue
Wait for
token
to be the first item
in
input state
's
actions queue
Note
This ensures that only one set of actions can be run at a time,
and therefore different actions commands using the same underlying
state don't race. In a session that is only a HTTP session only one
command can run at a time, so this will never block. But other
session types can allow running multiple commands in parallel, in
which case this is necessary to ensure sequential access.
To
dispatch actions
given
input
state
actions by tick
browsing
context
, and
actions options
Wait for an action queue token
with
input state
Let
actions result
be the result of
dispatch actions inner
with
input state
actions by
tick
browsing context
, and
actions options
Dequeue
input state
's
actions queue
Assert: this returns
token
Return
actions result
To
dispatch actions inner
given
input
state
actions by tick
browsing
context
, and
actions options
For each item
tick actions
in
actions by tick
If
browsing context
is
no longer open
, return
error
with
error code
no such window
Let
tick duration
be the result of
computing
the tick duration
with argument
tick actions
Try
to
dispatch tick actions
with
input state
tick actions
tick duration
browsing context
, and
actions options
Wait until the following conditions are all met:
There are no pending
asynchronous waits
arising
from the last invocation of the
dispatch tick actions
steps.
The user agent event loop has spun enough times to process
the DOM events generated by the last invocation of
the
dispatch tick actions
steps.
At least
tick duration
milliseconds have
passed.
Return success with data
null
To
compute the tick duration
given
tick actions
Let
max duration
be 0.
For each
action object
in
tick actions
let
duration
be
undefined
If
action object
has subtype property set to
pause
" or
action object
has type property
set to "
pointer
" and subtype property set to
pointerMove
", or
action object
has type
property set to "
wheel
" and subtype property set to
scroll
", let
duration
be equal to
the
duration
property of
action object
If
duration
is not
undefined
and
duration
is greater than
max duration
let
max duration
be equal to duration.
Return
max duration
To
dispatch tick actions
given
input
state
tick actions
tick duration
browsing context
, and
actions options
For each
action object
in
tick actions
Let
input id
be equal to the value
of
action object
's id property.
Let
source type
be equal to the value
of
action object
's type property.
Let
source
be the result of
get an input
source
given
input state
and
input id
Assert:
source
is not undefined.
Let
global key state
be the result of
get the
global key state
with
input state
Let
subtype
be
action
object
's subtype.
Let
algorithm
be the value of the column
dispatch action algorithm
from the following table where the
source type
column is
source type
and
the
subtype
column is equal to
subtype
source type
subtype
Dispatch action algorithm
none
pause
Dispatch a pause action
key
pause
Dispatch a pause action
key
keyDown
Dispatch a keyDown action
key
keyUp
Dispatch a keyUp action
pointer
pause
Dispatch a pause action
pointer
pointerDown
Dispatch a pointerDown action
pointer
pointerUp
Dispatch a pointerUp action
pointer
pointerMove
Dispatch a pointerMove action
pointer
pointerCancel
Dispatch a pointerCancel action
wheel
pause
Dispatch a pause action
wheel
scroll
Dispatch a scroll action
Try
to run
algorithm
with arguments
action object
source
global key
state
tick duration
browsing
context
, and
actions options
If
subtype
is "
keyDown
", append
a copy of
action object
with the
subtype
property changed to "
keyUp
" to
input
state
's
input cancel list
If
subtype
is "
pointerDown
", append
a copy of
action object
with the
subtype
property changed to "
pointerUp
" to
input
state
's
input cancel list
Return
success
with data
null
To
dispatch a list of actions
given
input
state
actions
browsing context
and
actions options
Note
This is an entry point for other commands that are written in terms
of a sequence of actions of a single input source in a single
tick.
Let
tick actions
be the list «
actions
Let
actions by tick
be the list «
tick
actions
».
Return the result of
dispatch actions
with
input
state
actions by tick
browsing context
and
actions options
15.6.1
General actions
To
dispatch a pause action
given
action
object
source
global key
state
tick duration
browsing context
, and
actions options
Return
success
with data
null
15.6.2
Keyboard actions
The
normalized key value
for a raw key
key
is, if
key
appears in the table below, the string value in
the second column on the row containing
key
's
unicode
code point
in the first column, otherwise it is
key
key
's codepoint
Normalized key value
\uE000
"Unidentified"
\uE001
"Cancel"
\uE002
"Help"
\uE003
"Backspace"
\uE004
"Tab"
\uE005
"Clear"
\uE006
"Return"
\uE007
"Enter"
\uE008
"Shift"
\uE009
"Control"
\uE00A
"Alt"
\uE00B
"Pause"
\uE00C
"Escape"
\uE00D
" "
\uE00E
"PageUp"
\uE00F
"PageDown"
\uE010
"End"
\uE011
"Home"
\uE012
"ArrowLeft"
\uE013
"ArrowUp"
\uE014
"ArrowRight"
\uE015
"ArrowDown"
\uE016
"Insert"
\uE017
"Delete"
\uE018
";"
\uE019
"="
\uE01A
"0"
\uE01B
"1"
\uE01C
"2"
\uE01D
"3"
\uE01E
"4"
\uE01F
"5"
\uE020
"6"
\uE021
"7"
\uE022
"8"
\uE023
"9"
\uE024
"*"
\uE025
"+"
\uE026
","
\uE027
"-"
\uE028
"."
\uE029
"/"
\uE031
"F1"
\uE032
"F2"
\uE033
"F3"
\uE034
"F4"
\uE035
"F5"
\uE036
"F6"
\uE037
"F7"
\uE038
"F8"
\uE039
"F9"
\uE03A
"F10"
\uE03B
"F11"
\uE03C
"F12"
\uE03D
"Meta"
\uE040
"ZenkakuHankaku"
\uE050
"Shift"
\uE051
"Control"
\uE052
"Alt"
\uE053
"Meta"
\uE054
"PageUp"
\uE055
"PageDown"
\uE056
"End"
\uE057
"Home"
\uE058
"ArrowLeft"
\uE059
"ArrowUp"
\uE05A
"ArrowRight"
\uE05B
"ArrowDown"
\uE05C
"Insert"
\uE05D
"Delete"
The
code
for
key
is the value in the last column of the following table
on the row with
key
in either the first or second column,
if any such row exists,
otherwise it is
undefined
shifted character
is one that appears in the second column of the following table.
Key
Alternate Key
code
"`"
"~"
"Backquote"
"\"
"|"
"Backslash"
"\uE003"
"Backspace"
"["
"{"
"BracketLeft"
"]"
"}"
"BracketRight"
","
"<"
"Comma"
"0"
")"
"Digit0"
"1"
"!"
"Digit1"
"2"
"@"
"Digit2"
"3"
"#"
"Digit3"
"4"
"$"
"Digit4"
"5"
"%"
"Digit5"
"6"
"^"
"Digit6"
"7"
"&"
"Digit7"
"8"
"*"
"Digit8"
"9"
"("
"Digit9"
"="
"+"
"Equal"
"<"
">"
"IntlBackslash"
"a"
"A"
"KeyA"
"b"
"B"
"KeyB"
"c"
"C"
"KeyC"
"d"
"D"
"KeyD"
"e"
"E"
"KeyE"
"f"
"F"
"KeyF"
"g"
"G"
"KeyG"
"h"
"H"
"KeyH"
"i"
"I"
"KeyI"
"j"
"J"
"KeyJ"
"k"
"K"
"KeyK"
"l"
"L"
"KeyL"
"m"
"M"
"KeyM"
"n"
"N"
"KeyN"
"o"
"O"
"KeyO"
"p"
"P"
"KeyP"
"q"
"Q"
"KeyQ"
"r"
"R"
"KeyR"
"s"
"S"
"KeyS"
"t"
"T"
"KeyT"
"u"
"U"
"KeyU"
"v"
"V"
"KeyV"
"w"
"W"
"KeyW"
"x"
"X"
"KeyX"
"y"
"Y"
"KeyY"
"z"
"Z"
"KeyZ"
"-"
"_"
"Minus"
"."
"."
"Period"
"'"
"""
"Quote"
";"
":"
"Semicolon"
"/"
"?"
"Slash"
"\uE00A"
"AltLeft"
"\uE052"
"AltRight"
"\uE009"
"ControlLeft"
"\uE051"
"ControlRight"
"\uE006"
"Enter"
"\uE00B"
"Pause"
"\uE03D"
"MetaLeft"
"\uE053"
"MetaRight"
"\uE008"
"ShiftLeft"
"\uE050"
"ShiftRight"
" "
"\uE00D"
"Space"
"\uE004"
"Tab"
"\uE017"
"Delete"
"\uE010"
"End"
"\uE002"
"Help"
"\uE011"
"Home"
"\uE016"
"Insert"
"\uE00F"
"PageDown"
"\uE00E"
"PageUp"
"\uE015"
"ArrowDown"
"\uE012"
"ArrowLeft"
"\uE014"
"ArrowRight"
"\uE013"
"ArrowUp"
"\uE00C"
"Escape"
"\uE031"
"F1"
"\uE032"
"F2"
"\uE033"
"F3"
"\uE034"
"F4"
"\uE035"
"F5"
"\uE036"
"F6"
"\uE037"
"F7"
"\uE038"
"F8"
"\uE039"
"F9"
"\uE03A"
"F10"
"\uE03B"
"F11"
"\uE03C"
"F12"
"\uE019"
"NumpadEqual"
"\uE01A"
"\uE05C"
"Numpad0"
"\uE01B"
"\uE056"
"Numpad1"
"\uE01C"
"\uE05B"
"Numpad2"
"\uE01D"
"\uE055"
"Numpad3"
"\uE01E"
"\uE058"
"Numpad4"
"\uE01F"
"Numpad5"
"\uE020"
"\uE05A"
"Numpad6"
"\uE021"
"\uE057"
"Numpad7"
"\uE022"
"\uE059"
"Numpad8"
"\uE023"
"\uE054"
"Numpad9"
"\uE025"
"NumpadAdd"
"\uE026"
"NumpadComma"
"\uE028"
"\uE05D"
"NumpadDecimal"
"\uE029"
"NumpadDivide"
"\uE007"
"NumpadEnter"
"\uE024"
"NumpadMultiply"
"\uE027"
"NumpadSubtract"
The
key location
for
key
is the value in the
last column in the table below on the row with
key
appears
in the first column, if such a row exists, otherwise it
is
key
's codepoint
Description
Location
\uE007
Enter
\uE008
Left Shift
\uE009
Left Control
\uE00A
Left Alt
\uE019
Numpad =
\uE01A
Numpad 0
\uE01B
Numpad 1
\uE01C
Numpad 2
\uE01D
Numpad 3
\uE01E
Numpad 4
\uE01F
Numpad 5
\uE020
Numpad 6
\uE021
Numpad 7
\uE022
Numpad 8
\uE023
Numpad 9
\uE024
Numpad *
\uE025
Numpad +
\uE026
Numpad ,
\uE027
Numpad -
\uE028
Numpad .
\uE029
Numpad /
\uE03D
Left Meta
\uE050
Right Shift
\uE051
Right Control
\uE052
Right Alt
\uE053
Right Meta
\uE054
Numpad PageUp
\uE055
Numpad PageDown
\uE056
Numpad End
\uE057
Numpad Home
\uE058
Numpad ArrowLeft
\uE059
Numpad ArrowUp
\uE05A
Numpad ArrowRight
\uE05B
Numpad ArrowDown
\uE05C
Numpad Insert
\uE05D
Numpad Delete
To
dispatch a keyDown action
given
action
object
source
global key state
tick
duration
browsing context
, and
actions options
Let
raw key
be equal to the
action object
's
value
property.
Let
key
be equal to the
normalized key value
for
raw key
If the
source
's
pressed
property
contains
key
, let
repeat
be true, otherwise
let
repeat
be false.
Let
code
be the
code
for
raw key
Let
location
be the
key location
for
raw key
Let
charCode
keyCode
and
which
be the implementation-specific values of
the
charCode
keyCode
and
which
properties appropriate for a key with
key
key
and location
location
on a 102 key US
keyboard, following the guidelines in [
UI-EVENTS
].
If
key
is
"Alt"
, let
source
's
alt
property be true.
If
key
is
"Shift"
, let
source
's
shift
property be true.
If
key
is
"Control"
, let
source
's
ctrl
property be true.
If
key
is
"Meta"
, let
source
's
meta
property be true.
Add
key
to
source
's
pressed
property.
Perform implementation-specific action dispatch steps
on
browsing context
equivalent to pressing a key on the
keyboard in accordance with the requirements of [
UI-EVENTS
], and
producing the following events, as appropriate, with the specified
properties. This will always produce events including at least
keyDown
event.
keyDown
with properties:
Attribute
Value
key
key
code
code
location
location
altKey
source
's
alt
property
shiftKey
source
's
shift
property
ctrlKey
source
's
ctrl
property
metaKey
source
's
meta
property
repeat
repeat
isComposing
false
charCode
charCode
keyCode
keyCode
which
which
keyPress
with properties:
Attribute
Value
key
key
code
code
location
location
altKey
source
's
alt
property
shiftKey
source
's
shift
property
ctrlKey
source
's
ctrl
property
metaKey
source
's
meta
property
repeat
repeat
isComposing
false
charCode
charCode
keyCode
keyCode
which
which
Return
success
with data
null
Note
A single
keyDown
action produces a single key input,
irrespective of how long the key is held down; there is no implicit
key repetition.
To
dispatch a keyUp action
given,
action
object
source
global key state
tick duration
browsing context
and
actions options
Let
raw key
be equal to
action object
's
value
property.
Let
key
be equal to the
normalized key value
for
raw key
If the
source
's
pressed
item
does not contain
key
, return.
Let
code
be the
code
for
raw key
Let
location
be the
key location
for
raw key
Let
charCode
keyCode
and
which
be the implementation-specific values of
the
charCode
keyCode
and
which
properties appropriate for a key with
key
key
and location
location
on a 102 key US
keyboard, following the guidelines in [
UI-EVENTS
].
If
key
is "
Alt
", let
source
's
alt
property be false.
If
key
is "
Shift
", let
source
's
shift
property be false.
If
key
is
"Control"
, let
source
's
ctrl
property be false.
If
key
is
"Meta"
, let
source
's
meta
property be false.
Remove
key
from
sources
's
pressed
property.
Perform implementation-specific action dispatch steps
on
browsing context
equivalent to releasing a key on the
keyboard in accordance with the requirements of [
UI-EVENTS
], and
producing at least the following events with the specified
properties:
keyup
with properties:
Attribute
Value
key
key
code
code
location
location
altKey
source
's
altKey
property
shiftKey
source
's
shift
property
ctrlKey
source
's
ctrl
property
metaKey
source
's
meta
property
repeat
false
isComposing
false
charCode
charCode
keyCode
keyCode
which
which
Return
success
with data
null
15.6.3
Pointer actions
To
dispatch a pointerDown action
given
action object
source
global key
state
tick duration
browsing context
and
actions options
Let
pointerType
be equal to
action object
's
pointerType
property.
Let
button
be equal to
action object
's
button
property.
If the
source
's
pressed
property
contains
button
return
success
with data
null
Let
be equal to
source
's
property.
Let
be equal to
source
's
property.
Add
button
to the set corresponding to
source
's
pressed
property, and
let
buttons
be the resulting value of that property.
Let
width
be equal to
action object
's
width
property.
Let
height
be equal to
action object
's
height
property.
Let
pressure
be equal to
action object
's
pressure
property.
Let
tangentialPressure
be equal to
action object
's
tangentialPressure
property.
Let
tiltX
be equal to
action object
's
tiltX
property.
Let
tiltY
be equal to
action object
's
tiltY
property.
Let
twist
be equal to
action object
's
twist
property.
Let
altitudeAngle
be equal to
action object
's
altitudeAngle
property.
Let
azimuthAngle
be equal to
action object
's
azimuthAngle
property.
Perform implementation-specific action dispatch steps
on
browsing context
equivalent to pressing the button
numbered
button
on the pointer with pointerId equal
to
source
's pointerId, having
type
pointerType
at viewport x coordinate
viewport y coordinate
width
height
pressure
tangentialPressure
tiltX
tiltY
twist
altitudeAngle
azimuthAngle
, with buttons
buttons
depressed
in accordance with the requirements of [
UI-EVENTS
] and
POINTER-EVENTS
]. set
ctrlKey
shiftKey
altKey
, and
metaKey
equal to the
corresponding items in
global key state
. Type specific
properties for the pointer that are not exposed through the
webdriver API must be set to the default value specified for
hardware that doesn't support that property.
Return
success
with data
null
To
dispatch a pointerUp action
given,
action
object
source
global key
state
tick duration
browsing context
and
actions options
Let
pointerType
be equal to
action object
's
pointerType
property.
Let
button
be equal to
action object
's
button
property.
If the
source
's
pressed
property
does not contain
button
return
success
with data
null
Let
be equal to
source
's
property.
Let
be equal to
source
's
property.
Remove
button
from the set corresponding
to
source
's
pressed
property, and
let
buttons
be the resulting value of that
property.
Perform implementation-specific action dispatch steps
on
browsing context
equivalent to releasing the button
numbered
button
on the pointer with pointerId equal
to
input source
's pointerId, having
type
pointerType
at viewport x coordinate
viewport y coordinate
, with buttons
buttons
depressed, in accordance with the requirements of [
UI-EVENTS
] and
POINTER-EVENTS
]. The generated events must
set
ctrlKey
shiftKey
altKey
, and
metaKey
equal to the
corresponding items in
global key state
. Type specific
properties for the pointer that are not exposed through the
webdriver API must be set to the default value specified for
hardware that doesn't support that property.
Return
success
with data
null
To
dispatch a pointerMove action
given
action
object
source
global key state
tick duration
browsing context
and
actions options
Let
x offset
be equal to the
property of
action object
Let
y offset
be equal to the
property of
action object
Let
origin
be equal to the
origin
property of
action object
Let (
) be the result
of
trying
to
get coordinates relative to an origin
with
source
x offset
y offset
origin
browsing context
, and
actions
options
If
is less than 0 or greater than the width of
the viewport in
CSS pixels
, then return
error
with
error code
move target out of bounds
If
is less than 0 or greater than the height of
the viewport in
CSS pixels
, then
return
error
with error code
move target out of
bounds
Let
duration
be equal to
action object
's
duration
property if it
is not
undefined
, or
tick duration
otherwise.
If
duration
is greater than 0 and inside any
implementation-defined bounds,
asynchronously wait
for an
implementation defined amount of time to pass.
This wait allows the implementation to model the overall
pointer move as a series of small movements occurring at an
implementation defined rate (e.g. one movement per
vsync).
Let
width
be equal to
action object
's
width
property.
Let
height
be equal to
action object
's
height
property.
Let
pressure
be equal to
action object
's
pressure
property.
Let
tangentialPressure
be equal to
action object
's
tangentialPressure
property.
Let
tiltX
be equal to
action object
's
tiltX
property.
Let
tiltY
be equal to
action object
's
tiltY
property.
Let
twist
be equal to
action object
's
twist
property.
Let
altitudeAngle
be equal to
action object
's
altitudeAngle
property.
Let
azimuthAngle
be equal to
action object
's
azimuthAngle
property.
Perform a pointer move
with arguments
source
global key state
duration
start x
start y
width
height
pressure
tangentialPressure
tiltX
tiltY
twist
altitudeAngle
azimuthAngle
Return
success
with data
null
To
perform a pointer move
given
source
global key state
duration
start x
start y
target x
target y
width
height
pressure
tangentialPressure
tiltX
tiltY
twist
altitudeAngle
and
azimuthAngle
Let
time delta
be the time since the beginning of
the current
tick
, measured in milliseconds on a monotonic
clock.
Let
duration ratio
be the ratio of
time delta
and
duration
, if
duration
is greater than 0, or 1 otherwise.
If
duration ratio
is 1, or close enough to 1 that
the implementation will not further subdivide the move action,
let
last
be true. Otherwise let
last
be
false
If
last
is true, let
equal
target x
and
equal
target y
Otherwise let
equal an approximation
to
duration ratio
× (
target x
start x
) +
start x
, and
equal
an approximation to
duration ratio
target y
start y
) +
start y
Let
current x
equal the
property
of
input state
Let
current y
equal the
property
of
input state
If
is not equal to
current x
or
is not equal to
current y
, run the
following steps:
Let
buttons
be equal to input
state's
buttons
property.
Perform implementation-specific action dispatch steps
on
browsing context
equivalent to moving the pointer
with pointerId equal to
input source
's pointerId,
having type
pointerType
from viewport x
coordinate
current x
, viewport y
coordinate
current y
to viewport x
coordinate
and viewport y
coordinate
width
height
pressure
tangentialPressure
tiltX
tiltY
twist
altitudeAngle
azimuthAngle
, with
buttons
buttons
depressed, in accordance with the
requirements of [
UI-EVENTS
] and [
POINTER-EVENTS
]. The generated
events must set
ctrlKey
shiftKey
altKey
, and
metaKey
equal to the
corresponding items in
global key state
. Type specific
properties for the pointer that are not exposed through the
WebDriver API must be set to the default value specified for
hardware that doesn't support that property. In the case where
the
pointerType
is "
pen
" or
touch
", and
buttons
is empty, this may be
a no-op. For a pointer of type "
mouse
" this will
always produce events including at least
pointerMove
event.
Let
input state
's
property
equal
and
property
equal
If
last
is true, return.
Run the following substeps
in parallel
Note
This algorithm may trigger multiple events spread across some
duration. Parallelism is applied intentionally in order to manage the
scheduling of these events relative to the events triggered by other
actions in the same tick.
The initial pointer movement is performed synchronously. This ensures
determinism in the sequence of the first event triggered by each action in
the tick.
Subsequent movements (if any) are performed asynchronously. This allows
events from two
pointerMove
actions in the tick to be interspersed.
Asynchronously wait
for an implementation defined
amount of time to pass.
This wait allows the implementation to model the overall
pointer move as a series of small movements occurring at an
implementation defined rate (e.g. one movement per
vsync).
Perform a pointer move
with arguments
input state
duration
start x
start y
target x
target y
To
dispatch a pointerCancel action
given
action
object
source
global key state
tick duration
browsing context
and
actions options
Perform implementation-specific action dispatch steps
on
browsing context
equivalent to cancelling the any
action of the pointer with pointerId equal to
source
's
pointerId item. having type
pointerType
, in accordance
with the requirements of [
UI-EVENTS
] and [
POINTER-EVENTS
].
Return
success
with data
null
15.6.4
Wheel actions
To
dispatch a scroll action
given
action
object
source
global key state
tick duration
browsing context
and
actions options
Let
x offset
be equal to the
property of
action object
Let
y offset
be equal to the
property of
action object
Let
origin
be equal to the
origin
property of
action object
Let (
) be the result
of
trying
to
get coordinates relative to an origin
with
source
x offset
y offset
origin
browsing context
, and
actions
options
If
is less than 0 or greater than the width of
the viewport in
CSS pixels
, then
return
error
with error code
move target out of
bounds
If
is less than 0 or greater than the height of
the viewport in
CSS pixels
, then
return
error
with error code
move target out of
bounds
Let
delta x
be equal to the
deltaX
property of
action object
Let
delta y
be equal to the
deltaY
property of
action object
Let
duration
be equal to
action object
's
duration
property if it
is not
undefined
, or
tick duration
otherwise.
If
duration
is greater than 0 and inside any
implementation-defined bounds,
asynchronously wait
for an
implementation defined amount of time to pass.
This wait allows the implementation to model the overall
wheel scroll as a series of small scroll occurring at an
implementation defined rate (e.g. one scroll per
vsync).
Perform a scroll
with arguments
global key state
duration
delta x
delta y
Return
success
with data
null
To
perform a scroll
given
duration
target delta x
target delta y
current delta x
and
current delta y
Let
time delta
be the time since the beginning of
the current
tick
, measured in milliseconds on a monotonic
clock.
Let
duration ratio
be the ratio of
time delta
and
duration
, if
duration
is greater than 0, or 1 otherwise.
If
duration ratio
is 1, or close enough to 1 that
the implementation will not further subdivide the move action,
let
last
be true. Otherwise let
last
be
false
If
last
is true, let
delta x
equal
target delta x
current delta x
and
delta y
equal
target delta y
current delta y
Otherwise let
delta x
equal an approximation
to
duration ratio
target delta x
current delta x
and
delta y
equal an approximation to
duration ratio
target delta y
current delta y
If
delta x
is not equal to
or
delta y
is not equal to
run the following steps:
Perform implementation-specific action dispatch steps
on
browsing context
equivalent to wheel scroll at
viewport x coordinate
, viewport y
coordinate
, deltaX value
delta x
, deltaY
value
delta y
, in accordance with the requirements of
UI-EVENTS
]. The generated events must
set
ctrlKey
shiftKey
altKey
, and
metaKey
equal to the
corresponding items in
global key state
Let
current delta x
property
equal
delta x
current delta x
and
current delta y
property equal
delta y
current delta y
If
last
is true, return.
Run the following substeps
in parallel
Note
This algorithm may trigger multiple events spread across some
duration. Parallelism is applied intentionally in order to manage the
scheduling of these events relative to the events triggered by other
actions in the same tick.
The initial scroll is performed synchronously. This ensures
determinism in the sequence of the first event triggered by each
action in the tick.
Subsequent scrolls (if any) are performed asynchronously. This allows
events from two
scroll
actions in the tick to be interspersed.
Asynchronously wait
for an implementation defined
amount of time to pass.
This wait allows the implementation to model the overall
scroll as a series of small scrolls occurring at an
implementation defined rate (e.g. one scroll per
vsync).
Perform a scroll
with arguments
duration
target delta x
target delta y
current delta x
current delta y
15.7
Perform Actions
HTTP Method
URI Template
POST
/session/{
session id
}/actions
The
remote end steps
, given
session
URL
variables
and
parameters
are:
If
session
's
current browsing context
is
no longer open
, return
error
with
error code
no such window
Try
to
handle any user prompts
with
session
Let
input state
be the result of
get the input
state
with
session
and
session
's
current top-level browsing
context
Let
actions options
be a new
actions options
with the
is element origin
steps set to
represents a web
element
, and the
get element origin
steps set
to
get a WebElement origin
Let
actions by tick
be the result of
trying
to
extract an action sequence
with
input state
parameters
, and
actions options
Dispatch actions
with
input state
actions by tick
current browsing context
and
actions options
. If this results in an
error
return that error.
Return
success
with data
null
15.8
Release Actions
HTTP Method
URI Template
DELETE
/session/{
session id
}/actions
Note
The
Release Actions
command
is used to release all the keys and pointer buttons
that are currently depressed.
This causes events to be
fired
as if the state was released by an explicit series of actions.
It also clears all the internal state of the virtual devices.
The
remote end steps
, given
session
URL
variables
and
parameters
are:
If
session
's
current browsing context
is
no longer open
, return
error
with
error
code
no such window
Try
to
handle any user prompts
with
session
Let
input state
be the result of
get the input state
with
session
and
current top-level browsing context
Let
actions options
be a new
actions options
with the
is element origin
steps set to
represents a web
element
, and the
get element origin
steps set
to
get a WebElement origin
Wait for an action queue token
with
input state
Let
undo actions
be
input
state
's
input cancel list
in reverse order.
Try
to
dispatch actions
with
input state
undo actions
current browsing context
and
actions options
Reset the input state
with
session
and
session
's
current top-level browsing context
Return
success
with data
null
16.
User prompts
This chapter describes interaction with various types of
user
prompts
. The common denominator for user prompts is that they
are modal windows requiring users to interact with them before
the
event loop
is
unpaused
and control is returned
to
session
's
current top-level browsing context
By default
user prompts
are not handled automatically
unless a
user prompt handler
has been defined.
When a
user prompt
appears,
it is the task of the subsequent
command
to handle it.
If the subsequent requested
command
is not one listed in this chapter,
an
unexpected alert open
error
will be returned.
Whenever
active sessions
is a list containing exactly one
item, and that item is a
HTTP session
, but is not a
BiDi
session
, then in the
steps to fire beforeunload
implementations must act as if showing an unload prompt is likely to
be annoying, deceptive, or pointless.
Note
This means that beforeunload prompts are never shown
when there's an active HTTP-only session.
user prompt
has an associated
user prompt message
that is the string message shown to the user,
or
null
if the message length is
To
get the active user prompt
given
browsing context:
Let
agent
be
browsing context
's
active
document
's
relevant agent
If
agent
's
event loop
is not
currently
paused
, return null.
Return the
user prompt
which handles the input required
to meet the condition passed when
event loop
was
paused
The
current user prompt
is the result of
get the
active user prompt
with
current browsing context
To
dismiss
user
prompt
, act as if the user clicked the
Cancel
button on
that prompt, if present, or otherwise
accept
the prompt.
To
accept
user prompt
, act as if the user clicked
the
OK
button on that prompt.
16.1
User Prompt Handler
remote end
has a
user prompt handler
which
defines how a WebDriver session will react when a user prompt is
displayed. It is either null or a
map
between strings
and
prompt handler configuration
values. Initially it is null.
prompt handler configuration
is a
struct
with two
items; a
handler
, which is a
string, and a
notify
which is a boolean.
To
serialize a prompt handler configuration
given
configuration
Let
serialized
be
configuration
's
handler
If «"
dismiss
", "
accept
"»
contains
serialized
and
configuration
's
notify
is true, append "
and notify
to
serialized
Return
serialized
The
known prompt handlers
are:
Handler key
Description (non-normative).
dismiss
All
simple dialogs
encountered should be
dismissed
accept
All
simple dialogs
encountered should be
accepted
dismiss and notify
All
simple dialogs
encountered should be
dismissed
and an error returned that the dialog was handled.
accept and notify
All
simple dialogs
encountered should be
accepted
and an error returned that the dialog was handled.
ignore
All
simple dialogs
encountered should be left to the user to handle.
The
valid prompt types
are «"
alert
",
beforeUnload
", "
confirm
",
default
", "
file
", "
prompt
"».
Note
The "
default
" type represents a fallback
when no specific handler is defined for a given prompt type, including
the "
beforeUnload
" prompt type. It can only be set if the
unhandled prompt behavior is a
map
which
contains
default
". For HTTP-only sessions setting
unhandled prompt behavior as a string value, the value will be assigned to
the internal type "
fallbackDefault
". The
fallbackDefault
" value is not used for the
beforeUnload
" prompt type, instead it falls back to the
accept
" handler. This is because HTTP-only sessions do not
allow the "
beforeUnload
" handler to be customized, and enabling
other protocols isn't expected to change the user prompt handling as a
side effect.
Note
The "
file
" prompt type is respected only in
WebDriver-BiDi
] sessions.
To
deserialize as an unhandled prompt behavior
given
argument
value
Set
value to the result of
converting a
JSON-derived JavaScript value to an Infra value
with
value
If
value
is not a string, an implementation that
does not also support [
WebDriver-BiDi
] may return
error
with
error code
invalid argument
Note
This is to avoid [
WebDriver-BiDi
] monkey-patching
the current spec.
Let
is string value
be false.
If
value
is a
string
set
value
to
the
map
«["
fallbackDefault
value
]» and set
is string value
to true.
If
value
is not a
map
return
error
with
error code
invalid argument
Let
user prompt handler
be an empty
map
For each
prompt type
handler
in
value
If
is string value
is false and
valid prompt
types
does not
contain
prompt type
return
error
with
error code
invalid argument
If
known prompt handlers
does not contain an entry
with
handler key
handler
return
error
with
error code
invalid argument
Let
notify
be false.
If
handler
is "
accept and notify
",
set
handler
to "
accept
and
notify
to true.
If
handler
is "
dismiss and notify
",
set
handler
to "
dismiss
and
notify
to true.
If
handler
is "
ignore
",
set
notify
to true.
Let
configuration
be a
prompt handler
configuration
with
handler
handler
and
notify
notify
Set
user prompt
handler
prompt type
] to
configuration
Return
success
with data
user prompt handler
To
check user prompt handler matches
given
requested prompt handler
If the
user prompt handler
is null, return true.
For each
request prompt type
request handler
in
requested prompt handler
If the
user prompt handler
contains
request prompt type
If the
requested prompt handler
's
handler
is not equal to the
user
prompt handler
's
handler
, return false.
Return true
Note
This does not check the
requested prompt
handler
's
notify
matches
the
handler
, because the
notify
component only affects the
HTTP session
, if any.
To
update the user prompt handler
given
requested prompt handler
If the
user prompt handler
is null, set the
user prompt
handler
to an empty map.
For each
request prompt type
request handler
in
requested prompt handler
Set
user prompt handler
request prompt type
to
request handler
To
serialize the user prompt handler
If the
user prompt handler
is null, return
dismiss and notify
".
If the
user prompt handler
has
size
1,
and
user prompt handler
contains
fallbackDefault
", return the result of
serialize a prompt
handler configuration
with
user prompt
handler
["
fallbackDefault
"].
Let
serialized
be an empty
map
For each
key
value
of
user prompt
handler
Set
serialized
key
] to
serialize a prompt
handler configuration
with
value
Return
convert an Infra value to a JSON-compatible
JavaScript value
with
serialized
An
annotated unexpected alert open error
is an
error
with
error code
unexpected alert open
and an optional
error data
dictionary
with the following entries:
text
The
current user prompt
's
message
To
get the prompt handler
type
If the
user prompt handler
is null,
let
handlers
be an empty map. Otherwise
let
handlers
be
user prompt handler
If
handlers
contains
type
return
handlers
type
].
If
handlers
contains "
default
return
handlers
["
default
"].
If
type
is "
beforeUnload
", return a
prompt handler configuration
with
handler
accept
and
notify
false.
If
handlers
contains "
fallbackDefault
return
handlers
["
fallbackDefault
"].
Return a
prompt handler
configuration
with
handler
dismiss
" and
notify
true.
To
handle any user prompts
If the
current browsing context
is not blocked by
a dialog return
success
Let
type
be "
default
".
If the
current user prompt
is an alert dialog,
set
type
to "
alert
". Otherwise, if
the
current user prompt
is a beforeunload dialog,
set
type
to "
beforeUnload
". Otherwise, if
the
current user prompt
is a confirm dialog,
set
type
to "
confirm
". Otherwise, if
the
current user prompt
is a prompt dialog,
set
type
to "
prompt
".
Let
handler
be
get the prompt handler
with
type
Perform the following substeps based
on
handler
's
handler
accept
Accept
the
current user prompt
dismiss
Dismiss
the
current user prompt
ignore
Do nothing.
If
handler
's
notify
is true, return
annotated unexpected alert open error
Return
success
Example
12
When returning an
error
with
unexpected alert open
remote end
may choose to return the
user prompt message
as part of an additional "
data
Object
on the
error representation
"error":
"unexpected alert open"
"message"
"implementation defined"
"stacktrace"
""
"data"
: {
text
":
"the text from the alert"
16.2
Dismiss Alert
HTTP Method
URI Template
POST
/session/{
session id
}/alert/dismiss
Note
The
Dismiss Alert
command
dismisses
simple dialog
if
present
A request to
dismiss
an alert
user prompt
which may not necessarily have a dismiss button,
has the same effect as
accepting
it.
The
remote end steps
, given
session
URL
variables
and
parameters
are:
If
session
's
current top-level browsing
context
is
no longer open
, return
error
with
error code
no such window
If the
current user prompt
is null,
return
error
with
error code
no such alert
Dismiss
the
current user prompt
Return
success
with data
null
16.3
Accept Alert
HTTP Method
URI Template
POST
/session/{
session id
}/alert/accept
The
remote end steps
, given
session
URL
variables
and
parameters
are:
If
session
's
current top-level browsing
context
is
no longer open
, return
error
with
error code
no such window
If the
current user prompt
is null,
return
error
with
error code
no such alert
Accept
the
current user prompt
Return
success
with data
null
16.4
Get Alert Text
HTTP Method
URI Template
GET
/session/{
session id
}/alert/text
The
remote end steps
, given
session
URL
variables
and
parameters
are:
If
session
's
current top-level browsing
context
is
no longer open
, return
error
with
error code
no such window
If the
current user prompt
is null,
return
error
with
error code
no such alert
Let
message
be the text message
associated with the
current user prompt
or otherwise be
null
Return
success
with data
message
16.5
Send Alert Text
HTTP Method
URI Template
POST
/session/{
session id
}/alert/text
Note
The
Send Alert Text
command
sets the text field of a
window.
prompt
user prompt
to the given value.
The
remote end steps
, given
session
URL
variables
and
parameters
are:
Let
text
be the result of
getting the property
text
from
parameters
If
text
is not a
String
return
error
with
error code
invalid argument
If
session
's
current top-level browsing
context
is
no longer open
, return
error
with
error code
no such window
If the
current user prompt
is null,
return
error
with
error code
no such alert
Run the substeps for the API that created the
current user
prompt
window.alert
window.confirm
Return
error
with
error code
element not interactable
window.prompt
Do nothing.
Otherwise
Return
error
with
error code
unsupported operation
Perform user agent dependent steps
to set the value of
current user prompt
's text field
to
text
Return
success
with data
null
17.
Screen capture
Screenshots are a mechanism for providing
additional visual diagnostic information.
They work by dumping a snapshot of the
visual viewport
's
framebuffer as a lossless PNG image.
It is returned to the
local end
as a Base64 encoded string.
WebDriver provides the
Take Screenshot
command
to capture the
top-level browsing context
's
visual viewport
and a
command
Take Element Screenshot
for doing the same with the visible region of an
element
's
bounding rectangle
after it has been
scrolled into view
In order to
draw a bounding box from the framebuffer
given a
rectangle
If either the
visual viewport
's width or height
is 0
CSS pixels
return
error
with
error code
unable to capture screen
Let
paint width
be the
visual viewport
's width –
min
rectangle x coordinate
rectangle x coordinate
rectangle width dimension
).
Let
paint height
be the
visual viewport
's height –
min
rectangle y coordinate
rectangle y coordinate
rectangle height dimension
).
Let
canvas
be a new
canvas
element,
and set its
width
and
height
to
paint width
and
paint height
, respectively.
Let
context
, a
canvas context mode
be the result of invoking the
2D context creation algorithm
given
canvas
as the target.
Complete implementation specific steps equivalent to
drawing the region of the framebuffer
specified by the following coordinates onto
context
X coordinate
rectangle x coordinate
Y coordinate
rectangle y coordinate
Width
paint width
Height
paint height
Return
success
with
canvas
To
encode a canvas as
Base64 a
canvas
element
If the
canvas
element's bitmap's
origin-clean
flag is set to false,
return
error
with
error code
unable to capture screen
If the
canvas
element's bitmap
has no pixels (i.e. either its horizontal dimension or vertical dimension is zero)
then return
error
with
error code
unable to capture screen
Let
file
be
a serialization of the
canvas
element's bitmap as a file
using "
image/png
" as an argument.
Let
data URL
be a
data:
URL
representing
file
. [
RFC2397
Let
index
be the
index of
in
data URL
Let
encoded string
be a
substring
of
data URL
using (
index
+ 1) as the
start
argument.
Return
success
with data
encoded string
17.1
Take Screenshot
HTTP Method
URI Template
GET
/session/{
session id
}/screenshot
The
remote end steps
, given
session
URL
variables
and
parameters
are:
If
session
's
current top-level browsing
context
is
no longer open
, return
error
with
error code
no such window
When the user agent is next to
run the animation frame callbacks
Let
root rect
be
session
's
current
top-level browsing context
's
document element
's
rectangle
Let
screenshot result
be the result of
trying
to call
draw a bounding box from the framebuffer
given
root rect
as an argument.
Let
canvas
be a
canvas
element
of
screenshot result
's data.
Let
encoding result
be the result of
trying
encoding a canvas as Base64
canvas
Let
encoded string
be
encoding result
's data.
Return
success
with data
encoded string
17.2
Take Element Screenshot
HTTP Method
URI Template
GET
/session/{
session id
}/element/{
element id
}/screenshot
Note
The
Take Element Screenshot
command
takes a screenshot of the visible region encompassed
by the
bounding rectangle
of an
element
The
remote end steps
, given
session
URL
variables
and
parameters
are:
If
session
's
current browsing context
is
no longer open
, return
error
with
error
code
no such window
Try
to
handle any user prompts
with
session
Let
element
be the result of
trying
to
get a known element
with
session
and
URL variables
["
element id
"].
Scroll into view
the
element
When the user agent is next to
run the animation frame callbacks
Let
element rect
be
element
's
rectangle
Let
screenshot result
be the result
of
trying
to call
draw a bounding box from the framebuffer
given
element rect
as an argument.
Let
canvas
be a
canvas
element
of
screenshot result
's data.
Let
encoding result
be the result of
trying
encoding a canvas as Base64
canvas
Let
encoded string
be
encoding result
's data.
Return
success
with data
encoded string
18.
The print functions are a mechanism to render the document to a
paginated format. It is returned to the
local end
as a Base64
encoded string containing a PDF representation of the paginated
document.
When required to
parse a page range
with
arguments
pageRanges
and
totalPages
, an
implementation must:
Let
pages
be an empty
Set
For each
range
in
pageRanges
, run the
following steps:
If
range
is not either a
Number
or
String
, return
error
with
error
code
invalid argument
If
range
is a
Number
If
range
is not an integer or is less than 0,
return
error
with
error code
invalid
argument
Append
range
to
pages
Otherwise:
Let
rangeParts
be the result of
splitting
range
on a "
" character.
If
rangeParts
has fewer than 1 or more than 2
elements, return
error
with
error code
invalid
argument
If rangeParts has one element, append the result
of
trying
to
parse as an integer
the first
element of
rangeParts
to
pages
Otherwise:
If the first element of
rangeParts
is
equivalent to an empty string
let
lowerBound
be
. Otherwise
let
lowerBound
be the result
of
trying
to
parse as an integer
the
first element of
rangeParts
If the second element of
rangeParts
is
equivalent to an empty string
let
upperBound
be
totalPages
. Otherwise
let
upperBound
be the result
of
trying
to
parse as an integer
the
second element of
rangeParts
If
lowerBound
is greater
than
upperBound
, return
error
with
error code
invalid argument
Append all integers in the inclusive
range
lowerBound
to
upperBound
to
pages
Return
success
with data
pages
String
is
equivalent to an empty string
if it
has zero length after removing all
whitespace
characters.
When required to
parse as an integer
with
argument
input
an implementation must:
Let
stripped
be the result of stripping all leading
and trailing
whitespace
characters from
input
If
stripped
has zero length, return
error
with
status
invalid argument
If
stripped
contains any characters outside the
range
U+0030
U+0039
(i.e. 0 - 9)
inclusive, return
error
with status
invalid argument
Let
output
be the result of calling
parseInt
with string
stripped
and radix
10
Return
success
with data
output
18.1
Print Page
HTTP Method
URI Template
POST
/session/{
session id
}/print
The
remote end steps
, given
session
URL
variables
and
parameters
are:
If
session
's
current top-level browsing
context
is
no longer open
, return
error
with
error code
no such window
Try
to
handle any user prompts
with
session
Let
orientation
be the result of
getting a
property with default
named "
orientation
" and with
default "
portrait
" from
parameters
If
orientation
is not a
String
or does not
have one of the values "
landscape
" or
portrait
", return
error
with
error
code
invalid argument
Let
scale
be the result of
getting a
property with default
named "
scale
" and with
default
from
parameters
If
scale
is not a
Number
, or is less
than
0.1
or greater than
return
error
with
error code
invalid argument
Let
background
be the result of
getting a
property with default
named "
background
" and with
default
false
from
parameters
If
background
is not a
Boolean
return
error
with
error code
invalid argument
Let
page
be the result of
getting a property
with default
named "
page
" and with a default of an
empty
Object
from
parameters
Let
pageWidth
be the result of
getting a
property with default
named "
width
" and with a
default of
21.59
from
page
Let
pageHeight
be the result of
getting a
property with default
named "
height
" and with a
default of
27.94
from
page
If either of
pageWidth
or
pageHeight
is
not a
Number
, or is less than
(2.54 / 72)
, return
error
with
error code
invalid argument
Note
The minimum page size is
point, which is
(2.54 / 72)
as per
absolute lengths
Let
margin
be the result of
getting a property
with default
named "
margin
" and with a default of an
empty
Object
from
parameters
Let
marginTop
be the result of
getting a
property with default
named "
top
" and with a
default of
from
margin
Let
marginBottom
be the result of
getting a
property with default
named "
bottom
" and with a
default of
from
margin
Let
marginLeft
be the result of
getting a
property with default
named "
left
" and with a
default of
from
margin
Let
marginRight
be the result of
getting a
property with default
named "
right
" and with a
default of
from
margin
If any
of
marginTop
marginBottom
marginLeft
or
marginRight
is not a
Number
, or is less then 0,
return
error
with
error code
invalid argument
Let
shrinkToFit
be the result of
getting a
property with default
named "
shrinkToFit
" and with
default
true
from
parameters
If
shrinkToFit
is not a
Boolean
return
error
with
error code
invalid argument
Let
pageRanges
be the result of
getting a
property with default
named "
pageRanges
" from
parameters
with default of an
empty
Array
If
pageRanges
is not an
Array
return
error
with
error code
invalid argument
When the user agent is next to
run the animation frame
callbacks
, let
pdfData
be the result of
trying
to take UA-specific steps to generate a paginated representation of
session
's
current browsing context
, with the
CSS
media type
set to
, encoded as a PDF,
with the following paper settings:
Property
Value
Width in cm
pageWidth
if
orientation
is
portrait
" otherwise
pageHeight
Height in cm
pageHeight
if
orientation
is
portrait
" otherwise
pageWidth
Top margin, in cm
marginTop
Bottom margin, in cm
marginBottom
Left margin, in cm
marginLeft
Right margin, in cm
marginRight
In addition, the following formatting hints should be applied by the UA:
If
scale
is not equal to
Zoom the size of the content by a factor
scale
If
background
is
false
Suppress output of background images
If
shrinkToFit
is
true
Resize the content to match the page width, overriding any
page width specified in the content
If
pageRanges
is not an empty
Array
Let
pages
be the result of
trying
to
parse a
page range
with arguments
pageRanges
and the number of
pages contained in
pdfData
, then remove any pages
from
pdfData
whose one-based index is not contained in
pages
Let
encoding result
be the result of
calling
Base64 Encode
on
pdfData
Let
encoded string
be
encoding result
's data.
Return
success
with data
encoded string
19.
Appendices
This section is non-normative.
19.1
External Specifications
Note
The list is not exhaustive and might not be up to date.
The following external specifications define additional WebDriver modules:
Custom Scheme Handlers
Device Posture API
Federated Credential Management API
Global Privacy Control
Permissions
Reporting API
Storage Access API
Web Authentication
A.
It is advisable that
remote ends
create a new profile when
creating a new session
This prevents potentially sensitive session data
from being accessible to new
sessions
ensuring both privacy and preventing state from bleeding through to the next session.
B.
Security
A user agent can rely on a command-line flag
or a configuration option
to test whether to enable WebDriver,
or alternatively make the user agent initiate
or confirm the connection through
a privileged content document or control widget,
in case the user agent does not
directly implement the HTTP endpoints.
It is strongly suggested that user agents
require users to take explicit action to enable WebDriver,
and that WebDriver remains disabled
in publicly consumed versions of the user agent.
To prevent arbitrary machines on the network
from connecting and creating
sessions
it is suggested that only connections from
loopback devices are allowed by default.
The
remote end
can include
a configuration option to limit
the accepted IP range allowed to connect and make requests.
The default setting for this might be
to limit connections to the IPv4 localhost
CIDR range
127.0.0.0/8
and the IPv6 localhost address
::1
. [
RFC4632
It is also suggested that user agents
make an effort to visually distinguish
a user agent session that is under control of WebDriver
from those used for normal browsing sessions.
This can be done through a
browser chrome element
such as a “door hanger”,
colorful decoration of the OS window,
or some widget element that is prevalent in the window
so that it easy to identify automation windows.
C.
Element displayedness
Although WebDriver does not define a primitive
to ascertain the visibility of an
element
in the
viewport
we acknowledge that it is an important feature for many users.
Here we include a recommended approach
which will give a simplified approximation of an
element
's visibility,
but please note that it relies only on tree-traversal,
and only covers a subset of visibility checks.
The visibility of an
element
is guided
by what is perceptually visible to the human eye.
In this context, an
element
's displayedness
does not relate to the
visibility
or
display
style properties.
The approach recommended to implementors to ascertain
an
element
's visibility was originally developed by
the
Selenium
project, and is
based on crude approximations about an
element
's nature and
relationship in the tree. An
element
is in general to be
considered visible if any part of it is drawn on the canvas within
the boundaries of the viewport.
The
element displayed state
is a boolean representing
whether an element is currently visible.
To get the
element displayed state
using
the
bot.dom.isShown
Selenium atoms,
given
element
Let
function
be
the
bot.dom.isShown
function.
Let
result
be the result of calling
function
's
[[Call]]
internal method with arguments
null and
element
. If this raises an exception, return
an
error
with
error code
unknown error
Return
success
with data
result
The
element displayed state
is typically exposed as an
endpoint for
GET
requests with a
URI Template
of
/session/{session id}/element/{element id}/displayed
D.
Acknowledgements
There have been a lot of people that have helped make
browser automation
possible over the years
and thereby furthered the goals of this standard.
In particular, thanks goes to the
Selenium
Open Source community,
without which this standard would never have been possible.
This standard is authored by
Aleksey Chemakin,
Andreas Tolfsen
Andrey Botalov,
Brian Burg,
Christian Bromann,
Clayton Martin,
Daniel Wagner-Hall,
David Burns
Dominique Hazael-Massieux,
Eran Messeri,
Erik Wilde,
Gábor Csárdi,
Henrik Skupin,
James Graham,
Jason Juang,
Jason Leyba,
Jim Evans,
John Chen,
John Jansen,
Jonathan Lipps,
Jonathon Kereliuk,
Luke Inman-Semerau,
Maja Frydrychowicz
Malini Das,
Manoj Kumar,
Marc Fisher,
Mike Pennisi,
Ondřej Machulda,
Randall Kent,
Sam Sneddon,
Seva Lotoshnikov,
Simon Stewart
Sri Harsha,
Titus Fortner,
and Vangelis Katsikaros.
The work is coordinated and edited by
David Burns
and
Simon Stewart
Thanks to
Berge Schwebs Bjørlo,
Lukas Tetzlaff,
Malcolm Rowe,
Michael[tm] Smith,
Nathan Bloomfield,
Philippe Le Hégaret,
Robin Berjon,
Ross Patterson,
and Wilhelm Joys Andersen
for proofreading and suggesting areas for improvement.
E.
Index
This specification relies on several other underlying specifications.
ARIA and related specifications
The following terms are defined
in the Accessible Rich Internet Applications (WAI-ARIA) 1.2 specification: [
wai-aria-1.2
WAI-ARIA role
The following terms are defined
in the Accessible Name and Description Computation 1.1 specification: [
accname-1.1
Accessible Name
Accessible
Name and Description Computation
Web App Security
The following terms are defined
in the Content Security Policy Level 3 specification: [
CSP3
Directives
Should block navigation response
Base16, Base32, and Base64 Data Encodings
The following terms are defined
in The Base16, Base32, and Base64 Data Encodings specification: [
RFC4648
Base64 Encode
DOM
The following terms are defined in
the DOM Parsing and Serialization specification: [
DOM-PARSING
fragment serializing algorithm
innerHTML
IDL attribute
serializeToString
method
The following attributes are defined
in the UI Events specification: [
UI-EVENTS
Activation trigger
click event
mouseDown event
mouseMove event
mouseOver event
mouseUp event
The following attributes are defined
in the UI Events Code specification: [
UIEVENTS-KEY
Keyboard modifier keys
ECMAScript
The following terms are defined in the ECMAScript Language Specification: [
ECMA-262
Iterable
Completion
CreateResolvingFunctions
Directive prologue
Early error
Function
FunctionBody
FunctionCreate
Get
Global environment
IsCallable
Own property
Promise
PromiseResolve
Type
Use strict directive
parseInt
realm
This specification also presumes that you are able to call
some of the
internal methods
from the ECMAScript Language Specification [
ECMAScript
]:
[[Call]]
[[GetOwnProperty]]
[[GetProperty]]
Index of
[[Put]]
Substring
The ECMAScript Language Specification also defines the following
types, values, and operations that are used throughout this
specification:
Array
Boolean
type
List
maximum safe integer
null
Number
Object
parse
String
stringify
ToInteger
Undefined
Encoding
The following terms are defined in the WHATWG Encoding specification: [
ENCODING
UTF-8 Encode
Fetch
The following terms are defined in the WHATWG Fetch specification: [
FETCH
Body
default User-Agent value
Header
Header Name
Header Value
Local scheme
Method
Response
Request
Set Header
HTTP Status
Status message
Fullscreen
The following terms are defined in the WHATWG Fullscreen specification: [
FULLSCREEN
Fullscreen an element
Fullscreen is supported
fully exit fullscreen
HTML
The following terms are defined in the HTML specification: [
HTML
2D context creation algorithm
A serialization of the bitmap as a file
API value
active document
Active element
being the
activeElement
attribute on
Document
Associated window
Boolean attribute
Browsing context
Browsing context group
Candidate for constraint validation
Canvas context mode
Checkbox
state
Checkedness
Child browsing context
Close a browsing context
Cookie-averse
Document
object
Dirty checkedness flag
Dirty value flag
Actually disabled
Document readiness
Element contexts
Enumerated attribute
Event loop
File upload state
Focusing steps
Focusable area
[[GetOwnProperty]]
of a
Window
object
Selected Files
Joint session history
Mature
navigation.
Mutable
Navigate
Origin-clean
An overridden reload
Parent browsing context
HTML Pause
Prompt to unload a document
Radio Button
state
Raw value
Refresh state pragma directive
Reset algorithm
Resettable element
Run the animation frame callbacks
Satisfies its constraints
Selectedness
Simple dialogs
Steps to fire beforeunload
Suffering from bad input
Traverse the history by a delta
unfocusing steps
User prompt
Value
Value mode flag
Value sanitization algorithm
Window
object
Window open steps
WindowProxy
exotic object
setSelectionRange
window.
confirm
window.
alert
window.
prompt
The HTML specification also defines
states
of the
input
element:
Color state
Date state
Email state
Local Date and Time state
Month state
Number state
Password state
Range state
Telephone state
Text and Search state
Time state
URL state
Week state
The HTML specification also defines a range of different attributes:
Checked
multiple
attribute
The HTML Editing APIs specification defines the following terms: [
EDITING
Content editable
Editing host
The following events are also defined in the HTML specification:
change
DOMContentLoaded
input
load
pageHide
pageShow
The “data” URL scheme specification defines the following terms: [
RFC2397
data:
URL
HTTP and related specifications
To be
HTTP compliant
it is supposed that the implementation supports the relevant subsets of
RFC7230
], [
RFC7231
], [
RFC7232
], [
RFC7234
], and [
RFC7235
].
The following terms are defined in the Cookie specification: [
RFC6265
Compute
cookie-string
Cookie store
Receives a cookie
The following terms are defined in the Same Site Cookie specification: [
RFC6265bis
Cookie Lifetime Limits
Lax
Strict
The following terms are defined in
the Hypertext Transfer Protocol (HTTP) Status Code Registry:
Status code registry
Infra
The following terms are defined in the Infra specification: [
INFRA
convert an Infra value to a JSON-compatible JavaScript value
converting a JSON-derived JavaScript value to an Infra value
The following terms are defined in
the Netscape Navigator Proxy Auto-Config File Format:
Proxy autoconfiguration
The specification uses
URI Templates
. [
URI-TEMPLATE
Interaction
The following terms are defined in the
Page Visibility Specification [
PAGE-VISIBILITY
Visibility state
hidden
Visibility state
being the
visibilityState
attribute on
Document
Visibility state
visible
Selenium
The following functions are defined within
the
Selenium
project, at
revision
775cfb33b193eb8832cd5488f298006f45254685
bot.dom.getVisibleText
bot.dom.isShown
Styling
The following terms are defined in
the CSS Values and Units Module Level 3 specification: [
CSS3-VALUES
absolute lengths
CSS pixels
The following properties are defined in
the CSS Basic Box Model Level 3 specification: [
CSS3-BOX
The
visibility
property
The following terms are defined in
the CSS Device Adaptation Module Level 1 specification: [
CSS-DEVICE-ADAPT
Initial viewport
sometimes here referred to as the
viewport
The following properties are defined in
the CSS Display Module Level 3 specification: [
CSS3-DISPLAY
The
display
property
The following terms are defined in
the Geometry Interfaces Module Level 1 specification: [
GEOMETRY-1
Rectangle
Rectangle height dimension
Rectangle width dimension
Rectangle x coordinate
Rectangle y coordinate
The following terms are defined in
the CSS Cascading and Inheritance Level 4 specification: [
CSS-CASCADE-4
Computed value
The following terms are defined in the CSS Object Model: [
CSSOM
]:
Resolved value
The following functions are defined in
the CSSOM View Module: [
CSSOM-VIEW
]:
Elements from point
as
elementsFromPoint()
innerHeight
innerWidth
moveTo(x, y)
outerHeight
outerWidth
screenX
screenY
scrollX
scrollY
scrollIntoView
ScrollIntoViewOptions
Logical scroll position "
block
Logical scroll position "
inline
visual viewport
The following terms are defined in [
mediaqueries-4
]:
media type
SOCKS Proxy:
The following terms are defined in the standard: [
RFC1928
SOCKS Proxy
Unicode
The following terms are defined in the standard: [
Unicode
Code Point
Extended grapheme cluster
Unicode Standard Annex #29
The following terms are defined in the standard: [
UAX29
Grapheme cluster boundaries
Unicode Standard Annex #44
The following terms are defined in the standard: [
UAX44
Unicode character property
URLs
The following terms are defined in the WHATWG URL standard: [
URL
Absolute URL
Absolute URL with fragment
Default port
Domain
Host
Includes credentials
Is special
Path-absolute URL
Path
Port
URL
URL serializer
Web IDL
The IDL fragments in this specification
must be interpreted as required for conforming IDL fragments,
as described in the Web IDL specification. [
WEBIDL
DOMException
Supported property indices
SyntaxError
this
Promises Guide
The following terms are defined in the Promises Guide. [
PROMISES-GUIDE
Promise-calling
XPATH
The following terms are defined in the Document Object Model XPath standard [
XPATH
evaluate
ORDERED_NODE_SNAPSHOT_TYPE
snapshotItem
XPathException
E.1
Terms defined by this specification
2D context creation algorithm
§E.
A serialization of the bitmap as a file
§E.
absolute lengths
§E.
Absolute URL
§E.
Absolute URL with fragment
§E.
accept
§16.
Accept Alert
§16.3
accept insecure TLS
§8.1
Accept insecure TLS certificates
§7.
Accessible Name
§E.
Accessible Name and Description Computation
§E.
action object
§15.5
Actions
§15.
actions options
§15.1
actions queue
§15.3
Activation trigger
§E.
active document
§E.
Active element
§E.
active HTTP sessions
§8.
active sessions
§8.
Actually disabled
§E.
add an input source
§15.3
Add Cookie
§14.3
additional capability deserialization algorithm
§6.7
additional WebDriver capabilities
§6.7
all associated cookies
§14.
An overridden reload
§E.
annotated unexpected alert open error
§16.1
API value
§E.
Array
§E.
associated session
§8.
Associated window
§E.
Back
§10.3
Base64 Encode
§E.
Body
§E.
Boolean
§E.
Boolean attribute
§E.
bot.dom.getVisibleText
§E.
bot.dom.isShown
§E.
browser chrome
§3.
browser chrome elements
§3.
Browsing context
§E.
Browsing context group
§E.
browsing context group node map
§12.
browsing context input state map
§8.
calculate the absolute position
§12.4
[[Call]]
internal slot for
Function
§E.
Candidate for constraint validation
§E.
Canvas context mode
§E.
capabilities
§7.
capability name
§6.7
change
§E.
check user prompt handler matches
§16.1
Checkbox
§E.
Checked
§E.
Checkedness
§E.
Child browsing context
§E.
clear a content editable element
§12.5.2
clear a resettable element
§12.5.2
clear algorithm
§12.5
clear the modifier key state
§12.5.3
click event
§E.
clone an object
§13.2
Close a browsing context
§E.
close the session
§8.1
Close Window
§11.2
code
§15.6.2
Code Point
§E.
collection
§13.2
Color state
§E.
command
§6.2
Completion
§E.
Compute cookie-string
§E.
compute the tick duration
§15.6
Computed value
§E.
connection
§6.3
container
§12.4
Content editable
§E.
convert an Infra value to a JSON-compatible JavaScript value
§E.
converting a JSON-derived JavaScript value to an Infra value
§E.
§E.
Cookie domain
§14.
Cookie expiry time
§14.
Cookie HTTP only
§14.
Cookie Lifetime Limits
§E.
Cookie name
§14.
Cookie path
§14.
Cookie same site
§14.
Cookie secure only
§14.
Cookie store
§E.
Cookie value
§14.
Cookie-averse Document object
§E.
create a cookie
§14.
create a key input source
§15.2.2
create a null input source
§15.2.1
create a pointer input source
§15.2.3
create a session
§8.1
create a wheel input source
§15.2.4
create an input source
§15.2
create an input state
§15.3
CreateResolvingFunctions
§E.
CSS pixels
§E.
CSS Selector
§12.3.1.1
current browsing context
§8.
current parent browsing context
§8.
current top-level browsing context
§8.
current user prompt
§16.
data: URL
§E.
Date state
§E.
default pointer parameters
§15.5
Default port
§E.
default User-Agent value
§E.
Delete All Cookies
§14.5
Delete Cookie
§14.4
delete cookies
§14.
Delete Session
§8.3
deserialize a shadow root
§12.2
deserialize a web element
§12.
deserialize a web frame
§11.
deserialize a web window
§11.
deserialize as a page load strategy
§10.
deserialize as a proxy
§7.1
deserialize as an unhandled prompt behavior
§16.1
deserialize as timeouts configuration
§9.
detached shadow root
§6.6
Directive prologue
§E.
Directives
§E.
Dirty checkedness flag
§E.
Dirty value flag
§E.
disabled
§12.1
dismiss
§16.
Dismiss Alert
§16.2
dispatch a composition event
§12.5.3
dispatch a keyDown action
§15.6.2
dispatch a keyUp action
§15.6.2
dispatch a list of actions
§15.6
dispatch a pause action
§15.6.1
dispatch a pointerCancel action
§15.6.3
dispatch a pointerDown action
§15.6.3
dispatch a pointerMove action
§15.6.3
dispatch a pointerUp action
§15.6.3
dispatch a scroll action
§15.6.4
dispatch actions
§15.6
dispatch actions for a string
§12.5.3
dispatch actions inner
§15.6
dispatch the events for a typeable string
§12.5.3
dispatch tick actions
§15.6
display
§E.
Document readiness
§E.
Domain
§E.
DOMContentLoaded
§E.
DOMException
§E.
draw a bounding box from the framebuffer
§17.
eager
§10.
Early error
§E.
Editable
§12.
Editing host
§E.
Element Clear
§12.5.2
Element Click
§12.5.1
element click intercepted
§6.6
Element contexts
§E.
element displayed state
§C.
element location strategy
§12.3.1
element not interactable
§6.6
Element Send Keys
§12.5.3
Elements from point
§E.
Email state
§E.
encode a canvas as Base64 a canvas element
§17.
Endpoint node
§5.
Enumerated attribute
§E.
equivalent to an empty string
§18.
error
§6.1
error code
§6.6
error data
§6.6
error response data
§6.6
evaluate
§E.
Event loop
§E.
execute a function body
§13.2
Execute Async Script
§13.2.2
Execute Script
§13.2.1
Extended grapheme cluster
§E.
extension capabilities
§6.7
extension command URI Template
§6.7
extension commands
§6.7
extract an action sequence
§15.5
extract the script arguments from a request
§13.2
File upload state
§E.
find
§12.3
Find Element
§12.3.2
Find Element From Element
§12.3.4
Find Element From Shadow Root
§12.3.6
Find Elements
§12.3.3
Find Elements From Element
§12.3.5
Find Elements From Shadow Root
§12.3.7
floor
§3.
Focusable area
§E.
Focusing steps
§E.
Forward
§10.4
fragment serializing algorithm
§E.
Fullscreen an element
§E.
Fullscreen is supported
§E.
Fullscreen Window
§11.8.5
Fullscreen window state
§11.8
fully exit fullscreen
§E.
Function
§E.
FunctionBody
§E.
FunctionCreate
§E.
Generating a UUID
§3.
Get
§E.
get a known element
§12.
get a known shadow root
§12.2
get a node
§12.
get a pointer id
§15.3
get a WebElement origin
§15.1
Get Active Element
§12.3.8
Get Alert Text
§16.4
Get All Cookies
§14.1
get an input source
§15.3
Get Computed Label
§12.4.10
Get Computed Role
§12.4.9
get coordinates relative to an origin
§15.5
Get Current URL
§10.2
Get Element Attribute
§12.4.2
Get Element CSS Value
§12.4.4
get element origin
§15.1
Get Element Property
§12.4.3
Get Element Rect
§12.4.7
Get Element Shadow Root
§12.3.9
Get Element Tag Name
§12.4.6
Get Element Text
§12.4.5
Get Named Cookie
§14.2
get or create a node reference
§12.
get or create a shadow root reference
§12.2
get or create a web element reference
§12.
get or create an input source
§15.3
Get Page Source
§13.1
get the active user prompt
§16.
get the global key state
§15.3
get the input state
§15.3
get the prompt handler
§16.1
Get Timeouts
§9.1
Get Title
§10.6
Get Window Handle
§11.1
Get Window Handles
§11.4
Get Window Rect
§11.8.1
[[GetOwnProperty]]
internal slot for
Object
§E.
[[GetOwnProperty]] of a Window object
internal slot for
§E.
[[GetProperty]]
internal slot for
Object
§E.
getting a property
§6.1
getting a property with default
§6.1
Global environment
§E.
global key state
§15.3
Grapheme cluster boundaries
§E.
handle any user prompts
§16.1
handler
§16.1
Handler key
§16.1
has proxy configuration
§8.1
Header
§E.
Header Name
§E.
Header Value
§E.
Host
§E.
host and optional port
§7.1
HTML Pause
§E.
HTTP compliant
§E.
HTTP flag
§8.
HTTP session
§8.
HTTP Status
§E.
iconify the window
§11.8
implicit wait timeout
§9.
in view
§12.1
in-view center point
§12.1
Includes credentials
§E.
Index of
§E.
initial value
§3.
Initial viewport
§E.
innerHeight
§E.
innerHTML IDL attribute
§E.
innerWidth
§E.
input
§E.
input cancel list
§15.3
input id
§15.2
input source
§15.2
input state
§15.3
input state map
§15.3
insecure certificate
§6.6
integer
§3.
interactable element
§12.1
Intermediary node
§5.
internal JSON clone
§13.2
invalid argument
§6.6
invalid cookie domain
§6.6
invalid element state
§6.6
invalid selector
§6.6
invalid session id
§6.6
is detached
§12.2
Is Element Enabled
§12.4.8
is element origin
§15.1
Is Element Selected
§12.4.1
Is special
§E.
is stale
§12.
IsCallable
§E.
Iterable
§E.
javascript error
§6.6
Joint session history
§E.
JSON clone
§13.2
JSON deserialization
§6.1
JSON deserialize
§13.2
JSON serialization
§6.1
key input source
§15.2.2
key location
§15.6.2
Keyboard modifier keys
§E.
keyboard-interactable element
§12.1
keyDown
§15.2.2
keyUp
§15.2.2
known prompt handlers
§16.1
Lax
§E.
Link Text
§12.3.1.2
List
§E.
load
§E.
Local Date and Time state
§E.
Local end
§5.
Local scheme
§E.
Logical scroll position "block"
§E.
Logical scroll position "inline"
§E.
match a request
§6.4
matched capability serialization algorithm
§6.7
matching capabilities
§7.2
Mature
§E.
max
§3.
maximize the window
§11.8
Maximize Window
§11.8.3
Maximized window state
§11.8
maximum safe integer
§E.
media type
§E.
merging capabilities
§7.2
Method
§E.
min
§3.
Minimize Window
§11.8.4
Minimized window state
§11.8
Month state
§E.
mouseDown event
§E.
mouseMove event
§E.
mouseOver event
§E.
mouseUp event
§E.
move target out of bounds
§6.6
moveTo(x, y)
§E.
multiple attribute
§E.
Mutable
§E.
Mutable elements
§12.
Mutable form control elements
§12.
navigable seen nodes map
§12.
Navigate
§E.
Navigate To
§10.1
NavigatorAutomationInformation
interface
§4.
New Session
§8.2
New Window
§11.5
no longer open
§11.
no such alert
§6.6
no such cookie
§6.6
no such element
§6.6
no such frame
§6.6
no such shadow root
§6.6
no such window
§6.6
node id map
§12.
node reference is known
§12.
node types
§5.
non-typeable form control
§12.5.3
none
§10.
normal
§10.
Normal window state
§11.8
normalized key value
§15.6.2
not in the same tree
§12.4
notify
§16.1
null
§E.
null input source
§15.2.1
null key
§12.5.3
Number
§E.
Number state
§E.
Object
§E.
obscured
§12.1
ORDERED_NODE_SNAPSHOT_TYPE
§E.
Origin-clean
§E.
outerHeight
§E.
outerWidth
§E.
Own property
§E.
Page load strategy
§7.
page load timeout
§9.
page loading strategy
§8.
pageHide
§E.
pageShow
§E.
Parent browsing context
§E.
parse
§E.
parse a page range
§18.
parse as an integer
§18.
parseInt
§E.
Partial link text
§12.3.1.3
Password state
§E.
Path
§E.
Path-absolute URL
§E.
pause
§15.2.1
perform a pointer move
§15.6.3
perform a scroll
§15.6.4
Perform Actions
§15.7
perform implementation-specific action dispatch steps
§15.4
Platform name
§7.
pointer events disabled
§12.
pointer input source
§15.2.3
pointer-interactable element
§12.1
pointer-interactable paint tree
§12.1
pointerCancel
§15.2.3
pointerDown
§15.2.3
pointerMove
§15.2.3
pointerUp
§15.2.3
Port
§E.
post-navigation checks
§10.
Print Page
§18.1
process a key action
§15.5
process a null action
§15.5
process a pause action
§15.5
process a pointer action
§15.5
process a pointer move action
§15.5
process a pointer up or pointer down action
§15.5
process a wheel action
§15.5
process an input source action sequence
§15.5
process capabilities
§7.2
process pointer parameters
§15.5
Promise
§E.
Promise-calling
§E.
PromiseResolve
§E.
prompt handler configuration
§16.1
Prompt to unload a document
§E.
Proxy autoconfiguration
§E.
proxy configuration
§7.1
proxy configuration object
§7.1
proxyType
§7.1
[[Put]]
internal slot for
Object
§E.
Radio Button
§E.
Range state
§E.
Raw value
§E.
read bytes
§6.3
read only
§12.
readiness state
§5.
realm
§E.
Receives a cookie
§E.
Rectangle
§E.
Rectangle height dimension
§E.
Rectangle width dimension
§E.
Rectangle x coordinate
§E.
Rectangle y coordinate
§E.
Refresh
§10.5
Refresh state pragma directive
§E.
Release Actions
§15.8
Remote end
§5.
remote end steps
§6.2
remove an input source
§15.3
represents a shadow root
§12.2
represents a web element
§12.
represents a web frame
§11.
represents a web window
§11.
Request
§E.
request queue
§8.
Request routing
§6.4
Reset algorithm
§E.
reset the input state
§15.3
Resettable element
§E.
Resolved value
§E.
Response
§E.
restore the window
§11.8
Run the animation frame callbacks
§E.
Satisfies its constraints
§E.
screenX
§E.
screenY
§E.
script timeout
§9.
script timeout error
§6.6
scroll
§15.2.4
scroll into view
§12.
scrollIntoView
§E.
ScrollIntoViewOptions
§E.
scrollX
§E.
scrollY
§E.
Selected Files
§E.
Selectedness
§E.
send a response
§6.3
Send Alert Text
§16.5
send an error
§6.3
serialize a prompt handler configuration
§16.1
serialize the timeouts configuration
§9.
serialize the user prompt handler
§16.1
serialized cookie
§14.
serializeToString method
§E.
session
§8.
session configuration flags
§8.
session ID
§8.
session not created
§6.6
session timeouts
§8.
Set Header
§E.
set the current browsing context
§11.
set the current top-level browsing context
§11.
Set Timeouts
§9.2
Set Window Rect
§11.8.2
setSelectionRange
§E.
Setting a property
§6.1
shadow root
§12.2
shadow root identifier
§12.2
shadow root reference object
§12.2
shifted character
§15.6.2
shifted state
§12.5.3
Should block navigation response
§E.
Simple dialogs
§E.
snapshotItem
§E.
SOCKS Proxy
§E.
stale element reference
§6.6
start the timer
§9.
Status
§8.4
Status code registry
§E.
Status message
§E.
Steps to fire beforeunload
§E.
Strict
§E.
strict file interactability
§8.
String
§E.
stringify
§E.
Substring
§E.
success
§6.1
Suffering from bad input
§E.
Supported property indices
§E.
Switch To Frame
§11.6
Switch To Parent Frame
§11.7
Switch To Window
§11.3
SyntaxError
§E.
table for cookie conversion
§14.
table of endpoints
§6.5
table of location strategies
§12.3.1
table of page load strategies
§10.
table of standard capabilities
§7.
Tag Name
§12.3.1.4
Take Element Screenshot
§17.2
Take Screenshot
§17.1
Telephone state
§E.
Text and Search state
§E.
this
§E.
tick
§15.4
Time state
§E.
timeout
§6.6
timeout fired flag
§9.
timeouts configuration
§9.
timer
§9.
ToInteger
§E.
Traverse the history by a delta
§E.
trying
§6.1
Type
§E.
typeable
§12.5.3
unable to capture screen
§6.6
unable to set cookie
§6.6
Undefined
§E.
unexpected alert open
§6.6
unfocusing steps
§E.
Unicode character property
§E.
Universally Unique Identifier (UUID)
§3.
Unix Epoch
§3.
unknown command
§6.6
unknown error
§6.6
unknown method
§6.6
unsupported operation
§6.6
update the user prompt handler
§16.1
upstream
§5.
URI Templates
§E.
URL
§E.
URL prefix
§6.4
URL serializer
§E.
URL state
§E.
Use strict directive
§E.
User prompt
§E.
user prompt handler
§16.1
user prompt message
§16.
UTF-8 Encode
§E.
valid prompt types
§16.1
validate capabilities
§7.2
Value
§E.
Value mode flag
§E.
Value sanitization algorithm
§E.
visibility
§E.
Visibility state
§E.
Visibility state hidden
§E.
Visibility state visible
§E.
visual viewport
§E.
WAI-ARIA role
§E.
wait for an action queue token
§15.6
wait for navigation to complete
§10.
Waiting asynchronously
§15.4
weak map
§12.
web element
§12.
web element identifier
§12.
web element reference object
§12.
web frame
§11.
web frame identifier
§11.
web window
§11.
web window identifier
§11.
webdriver
attribute for
NavigatorAutomationInformation
§4.
definition of
§4.
WebDriver new session algorithms
§6.7
WebDriver node id
§12.
webdriver-active flag
§4.
Week state
§E.
wheel input source
§15.2.4
whitespace
§12.4.5
Window
§E.
Window dimensioning/positioning
§7.
window handle
§11.
Window open steps
§E.
window state
§11.8
window.alert
§E.
window.confirm
§E.
window.prompt
§E.
WindowProxy
§E.
WindowProxy reference object
§11.
WindowRect object
§11.8
write bytes
§6.3
XPath Selector
§12.3.1.5
XPathException
§E.
E.2
Terms defined by reference
CSSOM-VIEW
] defines the following:
getBoundingClientRect()
(for
Element
getClientRects()
(for
Element
DOM
] defines the following:
compareDocumentPosition()
(for
Node
connected
descendant (for
tree
document
document element
DOCUMENT_POSITION_DISCONNECTED (for
Node
DOMTokenList
interface
element
Element
interface
event
fire an event
get an attribute by name
getAttribute()
(for
Element
getElementsByTagName()
(for
Element
hasAttribute()
(for
Element
HTMLCollection
interface
inclusive ancestor (for
tree
inclusive descendant (for
tree
isTrusted
attribute (for
Event
node
node document (for
Node
NodeList
interface
querySelectorAll()
(for
ParentNode
remove
ShadowRoot
interface
tagName
attribute (for
Element
textContent
attribute (for
Node
type (for
Document
FILEAPI
] defines the following:
FileList
interface
GEOMETRY-1
] defines the following:
DOMRect
interface
HTML
] defines the following:
element
active browsing context (for
navigable
address
element
canvas
element
Clean up after running a callback
Clean up after running script
content navigable (for navigable container)
datalist
element
frame
element
height
attribute (for
canvas
element)
HTMLAllCollection
interface
HTMLFormControlsCollection
interface
HTMLOptionsCollection
interface
iframe
element
in parallel
navigable
Navigator
interface
node navigable
optgroup
element
option
element
output
element
paused
Prepare to run a callback
Prepare to run script
readonly
attribute (for
input
element)
relevant agent
relevant settings object
select
element
textarea
element
title
attribute (for
Document
top-level browsing contexts
type
attribute (for
input
element)
width
attribute (for
canvas
element)
WorkerNavigator
interface
INFRA
] defines the following:
abort when
ASCII Lowercase
contain (for
list
contains (for
map
continue (for
iteration
entry (for
map
getting the values (for
map
If aborted
item (for
struct
length (for
string
map
queue
set
Set (for
map
size (for
map
struct
While (for
iteration
WEBDRIVER-BIDI
] defines the following:
BiDi session
WEBIDL
] defines the following:
a new Promise
reject
resolve
F.
References
F.1
Normative references
[accname-1.1]
Accessible Name and Description Computation 1.1
. Joanmarie Diggs; Bryan Garaventa; Michael Cooper. W3C. 18 December 2018. W3C Recommendation. URL:
[CSP3]
Content Security Policy Level 3
. Mike West; Antonio Sartori. W3C. 11 March 2026. W3C Working Draft. URL:
[CSS-CASCADE-4]
CSS Cascading and Inheritance Level 4
. Elika Etemad; Tab Atkins Jr. W3C. 13 January 2022. W3C Candidate Recommendation. URL:
[CSS-DEVICE-ADAPT]
CSS Device Adaptation Module Level 1
. Rune Lillesveen; Florian Rivoal; Matt Rakow. W3C. 29 March 2016. W3C Working Draft. URL:
[CSS21]
Cascading Style Sheets Level 2 Revision 1 (CSS 2.1) Specification
. Bert Bos; Tantek Çelik; Ian Hickson; Håkon Wium Lie. W3C. 7 June 2011. W3C Recommendation. URL:
[CSS3-BOX]
CSS Box Model Module Level 3
. Elika Etemad. W3C. 11 April 2024. W3C Recommendation. URL:
[CSS3-DISPLAY]
CSS Display Module Level 3
. Elika Etemad; Tab Atkins Jr. W3C. 30 March 2023. W3C Candidate Recommendation. URL:
[CSS3-VALUES]
CSS Values and Units Module Level 3
. Tab Atkins Jr.; Elika Etemad. W3C. 22 March 2024. CRD. URL:
[CSSOM]
CSS Object Model (CSSOM)
. Daniel Glazman; Emilio Cobos Álvarez. W3C. 26 August 2021. W3C Working Draft. URL:
[CSSOM-VIEW]
CSSOM View Module
. Simon Fraser; Emilio Cobos Álvarez. W3C. 16 September 2025. W3C Working Draft. URL:
[DOM]
DOM Standard
. Anne van Kesteren. WHATWG. Living Standard. URL:
[DOM-PARSING]
DOM Parsing and Serialization
. Travis Leithead. W3C. 17 May 2016. W3C Working Draft. URL:
[ECMA-262]
ECMAScript Language Specification
. Ecma International. URL:
[EDITING]
HTML Editing APIs
. A. Gregor. W3C. URL:
[ENCODING]
Encoding Standard
. Anne van Kesteren. WHATWG. Living Standard. URL:
[FETCH]
Fetch Standard
. Anne van Kesteren. WHATWG. Living Standard. URL:
[fileapi]
File API
. Marijn Kruisselbrink. W3C. 3 December 2025. W3C Working Draft. URL:
[FULLSCREEN]
Fullscreen API Standard
. Philip Jägenstedt. WHATWG. Living Standard. URL:
[GEOMETRY-1]
Geometry Interfaces Module Level 1
. Sebastian Zartner; Yehonatan Daniv. W3C. 4 December 2025. CRD. URL:
[HTML]
HTML Standard
. Anne van Kesteren; Domenic Denicola; Dominic Farolino; Ian Hickson; Philip Jägenstedt; Simon Pieters. WHATWG. Living Standard. URL:
[INFRA]
Infra Standard
. Anne van Kesteren; Domenic Denicola. WHATWG. Living Standard. URL:
[mediaqueries-4]
Media Queries Level 4
. Tab Atkins Jr.; Florian Rivoal. W3C. 19 February 2026. CRD. URL:
[PAGE-VISIBILITY]
Page Visibility (Second Edition)
. Jatinder Mann; Arvind Jain. W3C. 29 October 2013. W3C Recommendation. URL:
[POINTER-EVENTS]
Pointer Events
. Patrick Lauke; Robert Flack. W3C. 25 February 2026. W3C Working Draft. URL:
[PROMISES-GUIDE]
Writing Promise-Using Specifications
. Domenic Denicola. W3C. 9 November 2018. TAG Finding. URL:
[RFC1928]
SOCKS Protocol Version 5
. M. Leech; M. Ganis; Y. Lee; R. Kuris; D. Koblas; L. Jones. IETF. March 1996. Proposed Standard. URL:
[RFC2397]
The "data" URL scheme
. L. Masinter. IETF. August 1998. Proposed Standard. URL:
[RFC3514]
The Security Flag in the IPv4 Header
. S. Bellovin. IETF. 1 April 2003. Informational. URL:
[RFC4122]
A Universally Unique IDentifier (UUID) URN Namespace
. P. Leach; M. Mealling; R. Salz. IETF. July 2005. Proposed Standard. URL:
[RFC4632]
Classless Inter-domain Routing (CIDR): The Internet Address Assignment and Aggregation Plan
. V. Fuller; T. Li. IETF. August 2006. Best Current Practice. URL:
[RFC4648]
The Base16, Base32, and Base64 Data Encodings
. S. Josefsson. IETF. October 2006. Proposed Standard. URL:
[RFC6265]
HTTP State Management Mechanism
. A. Barth. IETF. April 2011. Proposed Standard. URL:
[RFC6265bis]
Cookies: HTTP State Management Mechanism
. M. West; J. Wilander. IETF. Draft. URL:
[RFC7230]
Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing
. R. Fielding, Ed.; J. Reschke, Ed. IETF. June 2014. Proposed Standard. URL:
[RFC7231]
Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content
. R. Fielding, Ed.; J. Reschke, Ed. IETF. June 2014. Proposed Standard. URL:
[RFC7232]
Hypertext Transfer Protocol (HTTP/1.1): Conditional Requests
. R. Fielding, Ed.; J. Reschke, Ed. IETF. June 2014. Proposed Standard. URL:
[RFC7234]
Hypertext Transfer Protocol (HTTP/1.1): Caching
. R. Fielding, Ed.; M. Nottingham, Ed.; J. Reschke, Ed. IETF. June 2014. Proposed Standard. URL:
[RFC7235]
Hypertext Transfer Protocol (HTTP/1.1): Authentication
. R. Fielding, Ed.; J. Reschke, Ed. IETF. June 2014. Proposed Standard. URL:
[UAX29]
Unicode Text Segmentation
. Josh Hadley. Unicode Consortium. 17 August 2025. Unicode Standard Annex #29. URL:
[UAX44]
Unicode Character Database
. Ken Whistler. Unicode Consortium. 27 August 2025. Unicode Standard Annex #44. URL:
[UI-EVENTS]
UI Events
. Xiaoqian Wu. W3C. 21 February 2026. W3C Working Draft. URL:
[UIEVENTS-KEY]
UI Events KeyboardEvent key Values
. Travis Leithead; Gary Kacmarcik. W3C. 22 April 2025. W3C Recommendation. URL:
[Unicode]
The Unicode Standard
. Unicode Consortium. URL:
[URI-TEMPLATE]
URI Template
. J. Gregorio; R. Fielding; M. Hadley; M. Nottingham; D. Orchard. IETF. March 2012. Proposed Standard. URL:
[URL]
URL Standard
. Anne van Kesteren. WHATWG. Living Standard. URL:
[wai-aria-1.2]
Accessible Rich Internet Applications (WAI-ARIA) 1.2
. Joanmarie Diggs; James Nurthen; Michael Cooper; Carolyn MacLeod. W3C. 6 June 2023. W3C Recommendation. URL:
[WebDriver-BiDi]
WebDriver BiDi
. James Graham; Alex Rudenko; Maksim Sadym. W3C. 19 March 2026. W3C Working Draft. URL:
[WEBIDL]
Web IDL Standard
. Edgar Chen; Timothy Gu. WHATWG. Living Standard. URL:
[XPATH]
XML Path Language (XPath) Version 1.0
. James Clark; Steven DeRose. W3C. 16 November 1999. W3C Recommendation. URL:
Permalink
Referenced in:
§ 12.1 Interactability
(2)
(3)
(4)
§ 17. Screen capture
(2)
Permalink
Referenced in:
§ 12.1 Interactability
(2)
(3)
(4)
Permalink
Referenced in:
§ 12.1 Interactability
(2)
Permalink
Referenced in:
§ 8. Sessions
Permalink
Referenced in:
§ 8.1 Global State
§ 12.5.1 Element Click
§ 12.5.3 Element Send Keys
Permalink
Referenced in:
§ 14. Cookies
(2)
Permalink
Referenced in:
§ 7.1 Proxy
§ 15.5 Processing actions
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
(12)
(13)
(14)
Permalink
Referenced in:
§ 13.2 Executing Script
Permalink
Referenced in:
§ 10.3 Back
§ 10.4 Forward
§ 11.8.2 Set Window Rect
(2)
Permalink
Referenced in:
§ B. Security
Permalink
Referenced in:
§ 4. Interface
§ 8.1 Global State
(2)
Permalink
exported
Referenced in:
§ 4. Interface
(2)
Permalink
exported
Referenced in:
Not referenced in this document.
Permalink
Referenced in:
§ 4. Interface
Permalink
exported
Referenced in:
§ 5. Nodes
(2)
§ 6. Protocol
(2)
§ 6.3 Processing model
§ 6.7 Extensions
§ 7. Capabilities
§ 7.2 Processing capabilities
(2)
(3)
§ 8. Sessions
§ 10.1 Navigate To
§ 11. Contexts
(2)
§ 12. Elements
§ 12.2 Shadow Roots
§ 15. Actions
§ 17. Screen capture
§ 18. Print
Permalink
Referenced in:
§ 5. Nodes
(2)
(3)
(4)
(5)
(6)
(7)
(8)
§ 6. Protocol
(2)
(3)
§ 6.2 Commands
(2)
§ 6.3 Processing model
(2)
(3)
(4)
(5)
(6)
(7)
(8)
§ 6.4 Routing requests
(2)
(3)
§ 6.6 Errors
(2)
§ 6.7 Extensions
(2)
(3)
§ 7. Capabilities
(2)
§ 7.1 Proxy
§ 7.2 Processing capabilities
(2)
(3)
(4)
(5)
§ 8. Sessions
(2)
(3)
§ 8.1 Global State
(2)
(3)
(4)
(5)
§ 8.2 New Session
(2)
(3)
(4)
(5)
§ 8.4 Status
(2)
(3)
(4)
§ 10. Navigation
§ 10.1 Navigate To
§ 11. Contexts
(2)
§ 11.4 Get Window Handles
§ 11.8 Resizing and positioning windows
§ 11.8.2 Set Window Rect
§ 11.8.3 Maximize Window
§ 11.8.4 Minimize Window
§ 11.8.5 Fullscreen Window
§ 12. Elements
§ 12.2 Shadow Roots
§ 12.3 Retrieval
§ 12.5.3 Element Send Keys
§ 13.2 Executing Script
§ 14. Cookies
§ 15. Actions
(2)
(3)
(4)
§ 15.4 Ticks
(2)
§ 15.5 Processing actions
§ 16.1 User Prompt Handler
(2)
§ A. Privacy
§ B. Security
Permalink
Referenced in:
§ 5. Nodes
Permalink
Referenced in:
§ 5. Nodes
(2)
(3)
§ 6.7 Extensions
§ 8. Sessions
(2)
(3)
§ 8.1 Global State
§ 8.2 New Session
(2)
(3)
(4)
(5)
(6)
(7)
(8)
Permalink
Referenced in:
§ 8. Sessions
§ 8.2 New Session
(2)
Permalink
exported
Referenced in:
§ 5. Nodes
(2)
(3)
(4)
§ 6.5 Endpoints
§ 7. Capabilities
(2)
§ 7.2 Processing capabilities
(2)
(3)
(4)
(5)
(6)
§ 8. Sessions
§ 8.1 Global State
(2)
(3)
(4)
(5)
§ 8.2 New Session
(2)
(3)
(4)
(5)
(6)
(7)
Permalink
Referenced in:
§ 8.4 Status
(2)
(3)
Permalink
exported
Referenced in:
§ 6.1 Algorithms
§ 6.3 Processing model
§ 6.4 Routing requests
§ 6.7 Extensions
§ 7.1 Proxy
§ 7.2 Processing capabilities
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
§ 8.1 Global State
§ 8.2 New Session
(2)
§ 8.3 Delete Session
§ 8.4 Status
§ 9. Timeouts
§ 9.1 Get Timeouts
§ 9.2 Set Timeouts
§ 10. Navigation
(2)
(3)
(4)
(5)
§ 10.1 Navigate To
§ 10.2 Get Current URL
§ 10.3 Back
§ 10.4 Forward
§ 10.5 Refresh
§ 10.6 Get Title
§ 11. Contexts
(2)
§ 11.1 Get Window Handle
§ 11.3 Switch To Window
§ 11.4 Get Window Handles
§ 11.5 New Window
§ 11.6 Switch To Frame
§ 11.7 Switch To Parent Frame
(2)
§ 11.8.1 Get Window Rect
§ 11.8.2 Set Window Rect
§ 11.8.3 Maximize Window
§ 11.8.4 Minimize Window
§ 11.8.5 Fullscreen Window
§ 12. Elements
(2)
§ 12.2 Shadow Roots
(2)
§ 12.3 Retrieval
§ 12.3.1.1 CSS selectors
§ 12.3.1.2 Link text
§ 12.3.1.3 Partial link text
§ 12.3.1.4 Tag name
§ 12.3.1.5 XPath
§ 12.3.8 Get Active Element
§ 12.3.9 Get Element Shadow Root
§ 12.4.1 Is Element Selected
§ 12.4.2 Get Element Attribute
§ 12.4.3 Get Element Property
§ 12.4.4 Get Element CSS Value
§ 12.4.5 Get Element Text
§ 12.4.6 Get Element Tag Name
§ 12.4.7 Get Element Rect
§ 12.4.8 Is Element Enabled
§ 12.4.9 Get Computed Role
§ 12.4.10 Get Computed Label
§ 12.5.1 Element Click
§ 12.5.2 Element Clear
§ 12.5.3 Element Send Keys
(2)
(3)
§ 13.1 Get Page Source
§ 13.2 Executing Script
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
§ 13.2.1 Execute Script
§ 13.2.2 Execute Async Script
§ 14.1 Get All Cookies
§ 14.2 Get Named Cookie
§ 14.3 Add Cookie
§ 14.4 Delete Cookie
§ 14.5 Delete All Cookies
§ 15.1 Actions Options
§ 15.2 Input sources
§ 15.5 Processing actions
(2)
(3)
(4)
(5)
(6)
§ 15.6 Dispatching actions
§ 15.6.1 General actions
§ 15.6.2 Keyboard actions
(2)
§ 15.6.3 Pointer actions
(2)
(3)
(4)
(5)
(6)
§ 15.6.4 Wheel actions
§ 15.7 Perform Actions
§ 15.8 Release Actions
§ 16.1 User Prompt Handler
(2)
(3)
§ 16.2 Dismiss Alert
§ 16.3 Accept Alert
§ 16.4 Get Alert Text
§ 16.5 Send Alert Text
§ 17. Screen capture
(2)
§ 17.1 Take Screenshot
§ 17.2 Take Element Screenshot
§ 18. Print
(2)
§ 18.1 Print Page
§ C. Element displayedness
Permalink
exported
Referenced in:
§ 6.1 Algorithms
(2)
§ 6.3 Processing model
(2)
(3)
(4)
(5)
§ 6.4 Routing requests
(2)
§ 6.6 Errors
(2)
(3)
(4)
§ 6.7 Extensions
§ 7.1 Proxy
(2)
(3)
(4)
(5)
(6)
§ 7.2 Processing capabilities
(2)
(3)
(4)
(5)
(6)
(7)
(8)
§ 8.1 Global State
(2)
(3)
(4)
(5)
§ 8.2 New Session
(2)
(3)
(4)
(5)
§ 9. Timeouts
§ 10. Navigation
(2)
(3)
(4)
(5)
(6)
§ 10.1 Navigate To
(2)
(3)
§ 10.2 Get Current URL
§ 10.3 Back
(2)
§ 10.4 Forward
(2)
§ 10.5 Refresh
§ 10.6 Get Title
§ 11. Contexts
(2)
(3)
(4)
(5)
(6)
§ 11.1 Get Window Handle
§ 11.2 Close Window
§ 11.3 Switch To Window
(2)
(3)
§ 11.5 New Window
(2)
§ 11.6 Switch To Frame
(2)
(3)
(4)
(5)
(6)
(7)
§ 11.7 Switch To Parent Frame
(2)
§ 11.8 Resizing and positioning windows
§ 11.8.1 Get Window Rect
§ 11.8.2 Set Window Rect
(2)
(3)
(4)
§ 11.8.3 Maximize Window
(2)
§ 11.8.4 Minimize Window
(2)
§ 11.8.5 Fullscreen Window
(2)
§ 12. Elements
(2)
(3)
(4)
(5)
§ 12.2 Shadow Roots
(2)
(3)
(4)
(5)
§ 12.3 Retrieval
§ 12.3.1.1 CSS selectors
§ 12.3.1.2 Link text
§ 12.3.1.3 Partial link text
§ 12.3.1.5 XPath
(2)
(3)
§ 12.3.2 Find Element
(2)
(3)
(4)
(5)
§ 12.3.3 Find Elements
(2)
(3)
(4)
§ 12.3.4 Find Element From Element
(2)
(3)
(4)
§ 12.3.5 Find Elements From Element
(2)
(3)
§ 12.3.6 Find Element From Shadow Root
(2)
(3)
(4)
(5)
§ 12.3.7 Find Elements From Shadow Root
(2)
(3)
(4)
§ 12.3.8 Get Active Element
(2)
§ 12.3.9 Get Element Shadow Root
(2)
(3)
§ 12.4.1 Is Element Selected
§ 12.4.2 Get Element Attribute
§ 12.4.3 Get Element Property
§ 12.4.4 Get Element CSS Value
§ 12.4.5 Get Element Text
§ 12.4.6 Get Element Tag Name
§ 12.4.7 Get Element Rect
§ 12.4.8 Is Element Enabled
§ 12.4.9 Get Computed Role
§ 12.4.10 Get Computed Label
§ 12.5.1 Element Click
(2)
(3)
(4)
(5)
(6)
§ 12.5.2 Element Clear
(2)
(3)
(4)
§ 12.5.3 Element Send Keys
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
(12)
§ 13.1 Get Page Source
§ 13.2 Executing Script
(2)
(3)
(4)
(5)
(6)
(7)
§ 13.2.1 Execute Script
(2)
(3)
§ 13.2.2 Execute Async Script
(2)
(3)
§ 14.1 Get All Cookies
§ 14.2 Get Named Cookie
(2)
§ 14.3 Add Cookie
(2)
(3)
(4)
(5)
(6)
§ 14.4 Delete Cookie
§ 14.5 Delete All Cookies
§ 15.2 Input sources
§ 15.3 Input state
§ 15.5 Processing actions
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
(12)
(13)
(14)
(15)
(16)
(17)
(18)
(19)
(20)
(21)
(22)
(23)
(24)
(25)
(26)
(27)
(28)
(29)
(30)
(31)
(32)
(33)
(34)
(35)
(36)
(37)
(38)
(39)
(40)
(41)
(42)
(43)
(44)
(45)
(46)
(47)
(48)
(49)
(50)
§ 15.6 Dispatching actions
§ 15.6.3 Pointer actions
(2)
§ 15.6.4 Wheel actions
(2)
§ 15.7 Perform Actions
(2)
§ 15.8 Release Actions
§ 16. User prompts
§ 16.1 User Prompt Handler
(2)
(3)
(4)
(5)
(6)
§ 16.2 Dismiss Alert
(2)
§ 16.3 Accept Alert
(2)
§ 16.4 Get Alert Text
(2)
§ 16.5 Send Alert Text
(2)
(3)
(4)
(5)
§ 17. Screen capture
(2)
(3)
§ 17.1 Take Screenshot
§ 17.2 Take Element Screenshot
§ 18. Print
(2)
(3)
(4)
(5)
(6)
§ 18.1 Print Page
(2)
(3)
(4)
(5)
(6)
(7)
(8)
§ C. Element displayedness
Permalink
exported
Referenced in:
§ 7.2 Processing capabilities
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
§ 8.2 New Session
§ 8.3 Delete Session
§ 9.2 Set Timeouts
§ 10.1 Navigate To
(2)
(3)
(4)
(5)
§ 10.2 Get Current URL
§ 10.3 Back
§ 10.4 Forward
§ 10.5 Refresh
(2)
(3)
§ 10.6 Get Title
§ 11.2 Close Window
(2)
§ 11.5 New Window
§ 11.6 Switch To Frame
(2)
(3)
(4)
§ 11.7 Switch To Parent Frame
§ 11.8.1 Get Window Rect
§ 11.8.2 Set Window Rect
§ 11.8.3 Maximize Window
§ 11.8.4 Minimize Window
§ 11.8.5 Fullscreen Window
§ 12. Elements
(2)
§ 12.2 Shadow Roots
(2)
§ 12.3 Retrieval
§ 12.3.2 Find Element
(2)
§ 12.3.3 Find Elements
(2)
§ 12.3.4 Find Element From Element
(2)
(3)
§ 12.3.5 Find Elements From Element
(2)
(3)
§ 12.3.6 Find Element From Shadow Root
(2)
§ 12.3.7 Find Elements From Shadow Root
(2)
§ 12.3.8 Get Active Element
§ 12.3.9 Get Element Shadow Root
§ 12.4.1 Is Element Selected
(2)
§ 12.4.2 Get Element Attribute
(2)
§ 12.4.3 Get Element Property
(2)
§ 12.4.4 Get Element CSS Value
(2)
§ 12.4.5 Get Element Text
(2)
§ 12.4.6 Get Element Tag Name
(2)
§ 12.4.7 Get Element Rect
(2)
§ 12.4.8 Is Element Enabled
(2)
§ 12.4.9 Get Computed Role
(2)
§ 12.4.10 Get Computed Label
(2)
§ 12.5.1 Element Click
(2)
(3)
(4)
§ 12.5.2 Element Clear
(2)
§ 12.5.3 Element Send Keys
(2)
(3)
(4)
§ 13.1 Get Page Source
§ 13.2.1 Execute Script
(2)
§ 13.2.2 Execute Async Script
(2)
§ 14.1 Get All Cookies
§ 14.2 Get Named Cookie
§ 14.3 Add Cookie
§ 14.4 Delete Cookie
§ 14.5 Delete All Cookies
§ 15.1 Actions Options
§ 15.3 Input state
§ 15.5 Processing actions
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
§ 15.6 Dispatching actions
(2)
§ 15.6.3 Pointer actions
§ 15.6.4 Wheel actions
§ 15.7 Perform Actions
(2)
§ 15.8 Release Actions
(2)
§ 17.1 Take Screenshot
(2)
§ 17.2 Take Element Screenshot
(2)
(3)
(4)
§ 18. Print
(2)
(3)
§ 18.1 Print Page
(2)
(3)
Permalink
Referenced in:
§ 7.1 Proxy
(2)
§ 7.2 Processing capabilities
(2)
(3)
(4)
(5)
(6)
(7)
§ 8.1 Global State
§ 10.1 Navigate To
§ 11. Contexts
(2)
§ 11.3 Switch To Window
§ 11.5 New Window
§ 11.6 Switch To Frame
§ 11.8.2 Set Window Rect
(2)
(3)
(4)
§ 12. Elements
§ 12.2 Shadow Roots
§ 12.3.1.5 XPath
§ 12.3.2 Find Element
(2)
§ 12.3.3 Find Elements
(2)
§ 12.3.4 Find Element From Element
(2)
§ 12.3.5 Find Elements From Element
(2)
§ 12.3.6 Find Element From Shadow Root
(2)
§ 12.3.7 Find Elements From Shadow Root
(2)
§ 12.5.3 Element Send Keys
§ 13.2 Executing Script
(2)
(3)
(4)
§ 14.3 Add Cookie
§ 15.5 Processing actions
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
(12)
(13)
(14)
(15)
(16)
(17)
(18)
(19)
(20)
(21)
§ 16.5 Send Alert Text
Permalink
Referenced in:
§ 18.1 Print Page
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
(12)
(13)
Permalink
Referenced in:
§ 7.1 Proxy
§ 7.2 Processing capabilities
(2)
(3)
(4)
§ 8.1 Global State
(2)
§ 12.5.1 Element Click
(2)
(3)
(4)
(5)
§ 12.5.3 Element Send Keys
§ 13.2 Executing Script
Permalink
Referenced in:
§ 6.3 Processing model
Permalink
Referenced in:
§ 6.3 Processing model
Permalink
Referenced in:
§ 6. Protocol
§ 6.2 Commands
(2)
(3)
§ 6.3 Processing model
§ 6.4 Routing requests
(2)
(3)
§ 6.5 Endpoints
§ 6.6 Errors
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
(12)
(13)
§ 6.7 Extensions
(2)
§ 7. Capabilities
§ 7.2 Processing capabilities
§ 8. Sessions
(2)
§ 8.2 New Session
§ 10. Navigation
(2)
§ 11. Contexts
§ 11.2 Close Window
§ 11.3 Switch To Window
§ 11.6 Switch To Frame
§ 11.7 Switch To Parent Frame
(2)
§ 11.8 Resizing and positioning windows
(2)
(3)
§ 11.8.1 Get Window Rect
§ 11.8.2 Set Window Rect
(2)
§ 12.3 Retrieval
§ 12.3.2 Find Element
(2)
§ 12.4.1 Is Element Selected
§ 12.4.5 Get Element Text
§ 12.4.7 Get Element Rect
§ 12.5 Interaction
§ 12.5.1 Element Click
§ 12.5.3 Element Send Keys
§ 13.1 Get Page Source
§ 13.2.2 Execute Async Script
§ 15.8 Release Actions
§ 16. User prompts
(2)
§ 16.2 Dismiss Alert
§ 16.5 Send Alert Text
§ 17. Screen capture
(2)
§ 17.2 Take Element Screenshot
Permalink
exported
Referenced in:
§ 5. Nodes
§ 6.3 Processing model
§ 6.4 Routing requests
§ 6.7 Extensions
(2)
§ 8.2 New Session
§ 8.3 Delete Session
§ 8.4 Status
§ 9.1 Get Timeouts
§ 9.2 Set Timeouts
§ 10.1 Navigate To
§ 10.2 Get Current URL
§ 10.3 Back
§ 10.4 Forward
§ 10.5 Refresh
§ 10.6 Get Title
§ 11.1 Get Window Handle
§ 11.2 Close Window
(2)
§ 11.3 Switch To Window
§ 11.4 Get Window Handles
§ 11.5 New Window
§ 11.6 Switch To Frame
§ 11.7 Switch To Parent Frame
§ 11.8.1 Get Window Rect
§ 11.8.2 Set Window Rect
§ 11.8.3 Maximize Window
§ 11.8.4 Minimize Window
§ 11.8.5 Fullscreen Window
§ 12.3.2 Find Element
§ 12.3.3 Find Elements
§ 12.3.4 Find Element From Element
§ 12.3.5 Find Elements From Element
§ 12.3.6 Find Element From Shadow Root
§ 12.3.7 Find Elements From Shadow Root
§ 12.3.8 Get Active Element
§ 12.3.9 Get Element Shadow Root
§ 12.4.1 Is Element Selected
§ 12.4.2 Get Element Attribute
§ 12.4.3 Get Element Property
§ 12.4.4 Get Element CSS Value
§ 12.4.5 Get Element Text
§ 12.4.6 Get Element Tag Name
§ 12.4.7 Get Element Rect
§ 12.4.8 Is Element Enabled
§ 12.4.9 Get Computed Role
§ 12.4.10 Get Computed Label
§ 12.5.1 Element Click
§ 12.5.2 Element Clear
§ 12.5.3 Element Send Keys
§ 13.1 Get Page Source
§ 13.2.1 Execute Script
§ 13.2.2 Execute Async Script
§ 14.1 Get All Cookies
§ 14.2 Get Named Cookie
§ 14.3 Add Cookie
§ 14.4 Delete Cookie
§ 14.5 Delete All Cookies
§ 15.7 Perform Actions
§ 15.8 Release Actions
§ 16.2 Dismiss Alert
§ 16.3 Accept Alert
§ 16.4 Get Alert Text
§ 16.5 Send Alert Text
§ 17.1 Take Screenshot
§ 17.2 Take Element Screenshot
§ 18.1 Print Page
Permalink
Referenced in:
§ 6.3 Processing model
(2)
(3)
(4)
(5)
(6)
§ 8.1 Global State
Permalink
Referenced in:
§ 6.3 Processing model
Permalink
Referenced in:
§ 6.3 Processing model
Permalink
Referenced in:
§ 6.3 Processing model
(2)
(3)
(4)
(5)
(6)
§ 16.1 User Prompt Handler
Permalink
Referenced in:
§ 6.3 Processing model
(2)
Permalink
Referenced in:
§ 6.7 Extensions
Permalink
Referenced in:
§ 6.4 Routing requests
(2)
(3)
§ 8.2 New Session
Permalink
Referenced in:
§ 6.3 Processing model
Permalink
Referenced in:
§ 6. Protocol
§ 6.4 Routing requests
§ 6.7 Extensions
Permalink
exported
Referenced in:
§ 6.1 Algorithms
§ 6.3 Processing model
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
§ 6.4 Routing requests
(2)
§ 6.6 Errors
(2)
(3)
§ 7.1 Proxy
(2)
(3)
(4)
(5)
(6)
§ 7.2 Processing capabilities
(2)
(3)
(4)
(5)
(6)
(7)
(8)
§ 8.1 Global State
§ 8.2 New Session
(2)
(3)
§ 9. Timeouts
§ 10. Navigation
(2)
(3)
(4)
(5)
§ 10.1 Navigate To
(2)
(3)
§ 10.2 Get Current URL
§ 10.3 Back
(2)
§ 10.4 Forward
(2)
§ 10.5 Refresh
§ 10.6 Get Title
§ 11. Contexts
(2)
(3)
(4)
(5)
(6)
§ 11.1 Get Window Handle
§ 11.2 Close Window
§ 11.3 Switch To Window
(2)
(3)
§ 11.5 New Window
(2)
§ 11.6 Switch To Frame
(2)
(3)
(4)
(5)
(6)
(7)
§ 11.7 Switch To Parent Frame
(2)
§ 11.8.1 Get Window Rect
§ 11.8.2 Set Window Rect
(2)
(3)
(4)
§ 11.8.3 Maximize Window
(2)
§ 11.8.4 Minimize Window
(2)
§ 11.8.5 Fullscreen Window
(2)
§ 12. Elements
(2)
(3)
(4)
(5)
§ 12.2 Shadow Roots
(2)
(3)
(4)
(5)
§ 12.3.1.1 CSS selectors
§ 12.3.1.2 Link text
§ 12.3.1.3 Partial link text
§ 12.3.1.5 XPath
(2)
(3)
§ 12.3.2 Find Element
(2)
(3)
(4)
(5)
§ 12.3.3 Find Elements
(2)
(3)
(4)
§ 12.3.4 Find Element From Element
(2)
(3)
(4)
§ 12.3.5 Find Elements From Element
(2)
(3)
§ 12.3.6 Find Element From Shadow Root
(2)
(3)
(4)
§ 12.3.7 Find Elements From Shadow Root
(2)
(3)
§ 12.3.8 Get Active Element
(2)
§ 12.3.9 Get Element Shadow Root
(2)
§ 12.4.1 Is Element Selected
§ 12.4.2 Get Element Attribute
§ 12.4.3 Get Element Property
§ 12.4.4 Get Element CSS Value
§ 12.4.5 Get Element Text
§ 12.4.6 Get Element Tag Name
§ 12.4.7 Get Element Rect
§ 12.4.8 Is Element Enabled
§ 12.4.9 Get Computed Role
§ 12.4.10 Get Computed Label
§ 12.5.1 Element Click
(2)
(3)
(4)
§ 12.5.2 Element Clear
(2)
(3)
(4)
§ 12.5.3 Element Send Keys
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
§ 13.1 Get Page Source
§ 13.2 Executing Script
(2)
(3)
(4)
(5)
(6)
(7)
§ 13.2.1 Execute Script
(2)
(3)
§ 13.2.2 Execute Async Script
(2)
(3)
§ 14.1 Get All Cookies
§ 14.2 Get Named Cookie
(2)
§ 14.3 Add Cookie
(2)
(3)
(4)
(5)
§ 14.4 Delete Cookie
§ 14.5 Delete All Cookies
§ 15.2 Input sources
§ 15.3 Input state
§ 15.5 Processing actions
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
(12)
(13)
(14)
(15)
(16)
(17)
(18)
(19)
(20)
(21)
(22)
(23)
(24)
(25)
(26)
(27)
(28)
(29)
(30)
(31)
(32)
(33)
(34)
(35)
(36)
(37)
(38)
(39)
(40)
(41)
(42)
(43)
(44)
§ 15.6 Dispatching actions
§ 15.7 Perform Actions
§ 15.8 Release Actions
§ 16.1 User Prompt Handler
(2)
(3)
(4)
(5)
§ 16.2 Dismiss Alert
(2)
§ 16.3 Accept Alert
(2)
§ 16.4 Get Alert Text
(2)
§ 16.5 Send Alert Text
(2)
(3)
(4)
(5)
§ 17. Screen capture
(2)
(3)
§ 17.1 Take Screenshot
§ 17.2 Take Element Screenshot
§ 18. Print
(2)
(3)
(4)
§ 18.1 Print Page
(2)
(3)
(4)
(5)
(6)
(7)
(8)
§ C. Element displayedness
Permalink
Referenced in:
§ 6.3 Processing model
Permalink
Referenced in:
§ 12.5.1 Element Click
(2)
Permalink
Referenced in:
§ 12.5.1 Element Click
(2)
§ 12.5.2 Element Clear
§ 12.5.3 Element Send Keys
(2)
(3)
(4)
§ 16.5 Send Alert Text
Permalink
Referenced in:
§ 10. Navigation
Permalink
exported
Referenced in:
§ 6.3 Processing model
(2)
§ 7.1 Proxy
(2)
(3)
(4)
(5)
(6)
§ 7.2 Processing capabilities
(2)
(3)
(4)
(5)
(6)
(7)
(8)
§ 9. Timeouts
§ 10. Navigation
(2)
§ 10.1 Navigate To
§ 11. Contexts
(2)
(3)
(4)
§ 11.3 Switch To Window
§ 11.6 Switch To Frame
(2)
§ 11.8.2 Set Window Rect
(2)
§ 12. Elements
(2)
§ 12.2 Shadow Roots
(2)
§ 12.3.2 Find Element
(2)
§ 12.3.3 Find Elements
(2)
§ 12.3.4 Find Element From Element
(2)
§ 12.3.5 Find Elements From Element
(2)
§ 12.3.6 Find Element From Shadow Root
(2)
§ 12.3.7 Find Elements From Shadow Root
(2)
§ 12.5.1 Element Click
§ 12.5.3 Element Send Keys
(2)
(3)
(4)
(5)
(6)
(7)
§ 13.2 Executing Script
(2)
§ 14.3 Add Cookie
(2)
§ 15.2 Input sources
§ 15.3 Input state
§ 15.5 Processing actions
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
(12)
(13)
(14)
(15)
(16)
(17)
(18)
(19)
(20)
(21)
(22)
(23)
(24)
(25)
(26)
(27)
(28)
(29)
(30)
(31)
(32)
(33)
(34)
(35)
(36)
(37)
(38)
(39)
(40)
(41)
(42)
(43)
§ 16.1 User Prompt Handler
(2)
(3)
(4)
§ 16.5 Send Alert Text
§ 18. Print
(2)
(3)
(4)
(5)
(6)
§ 18.1 Print Page
(2)
(3)
(4)
(5)
(6)
(7)
Permalink
Referenced in:
§ 14.3 Add Cookie
Permalink
Referenced in:
§ 12.5.2 Element Clear
(2)
Permalink
Referenced in:
§ 12.3 Retrieval
§ 12.3.1.1 CSS selectors
§ 12.3.1.5 XPath
(2)
Permalink
Referenced in:
§ 6.3 Processing model
(2)
Permalink
Referenced in:
§ 13.2 Executing Script
(2)
§ 13.2.1 Execute Script
§ 13.2.2 Execute Async Script
Permalink
Referenced in:
§ 15.6.3 Pointer actions
(2)
§ 15.6.4 Wheel actions
(2)
Permalink
Referenced in:
§ 16.2 Dismiss Alert
§ 16.3 Accept Alert
§ 16.4 Get Alert Text
§ 16.5 Send Alert Text
Permalink
Referenced in:
§ 14.2 Get Named Cookie
Permalink
Referenced in:
§ 12. Elements
(2)
§ 12.3.2 Find Element
(2)
§ 12.3.3 Find Elements
§ 12.3.4 Find Element From Element
§ 12.3.6 Find Element From Shadow Root
§ 12.3.8 Get Active Element
§ 15.5 Processing actions
Permalink
Referenced in:
§ 11. Contexts
§ 11.6 Switch To Frame
(2)
Permalink
Referenced in:
§ 10.1 Navigate To
§ 10.2 Get Current URL
§ 10.3 Back
§ 10.4 Forward
§ 10.5 Refresh
§ 10.6 Get Title
§ 11. Contexts
§ 11.1 Get Window Handle
§ 11.2 Close Window
§ 11.3 Switch To Window
§ 11.5 New Window
§ 11.6 Switch To Frame
(2)
(3)
§ 11.7 Switch To Parent Frame
(2)
§ 11.8.1 Get Window Rect
§ 11.8.2 Set Window Rect
§ 11.8.3 Maximize Window
§ 11.8.4 Minimize Window
§ 11.8.5 Fullscreen Window
§ 12.3.2 Find Element
§ 12.3.3 Find Elements
§ 12.3.4 Find Element From Element
§ 12.3.5 Find Elements From Element
§ 12.3.6 Find Element From Shadow Root
§ 12.3.7 Find Elements From Shadow Root
§ 12.3.8 Get Active Element
§ 12.3.9 Get Element Shadow Root
§ 12.4.1 Is Element Selected
§ 12.4.2 Get Element Attribute
§ 12.4.3 Get Element Property
§ 12.4.4 Get Element CSS Value
§ 12.4.5 Get Element Text
§ 12.4.6 Get Element Tag Name
§ 12.4.7 Get Element Rect
§ 12.4.8 Is Element Enabled
§ 12.4.9 Get Computed Role
§ 12.4.10 Get Computed Label
§ 12.5.1 Element Click
§ 12.5.2 Element Clear
§ 12.5.3 Element Send Keys
§ 13.1 Get Page Source
§ 13.2.1 Execute Script
§ 13.2.2 Execute Async Script
§ 14.1 Get All Cookies
§ 14.2 Get Named Cookie
§ 14.3 Add Cookie
§ 14.4 Delete Cookie
§ 14.5 Delete All Cookies
§ 15.6 Dispatching actions
§ 15.7 Perform Actions
§ 15.8 Release Actions
§ 16.2 Dismiss Alert
§ 16.3 Accept Alert
§ 16.4 Get Alert Text
§ 16.5 Send Alert Text
§ 17.1 Take Screenshot
§ 17.2 Take Element Screenshot
§ 18.1 Print Page
Permalink
Referenced in:
§ 12.2 Shadow Roots
(2)
§ 12.3.9 Get Element Shadow Root
Permalink
Referenced in:
§ 13.2.1 Execute Script
§ 13.2.2 Execute Async Script
Permalink
Referenced in:
§ 8.1 Global State
§ 8.2 New Session
(2)
(3)
(4)
Permalink
Referenced in:
§ 12. Elements
§ 13.2 Executing Script
(2)
Permalink
Referenced in:
§ 12.2 Shadow Roots
§ 13.2 Executing Script
Permalink
Referenced in:
§ 10. Navigation
(2)
§ 10.1 Navigate To
§ 10.3 Back
§ 10.4 Forward
Permalink
Referenced in:
§ 14.3 Add Cookie
Permalink
Referenced in:
§ 17. Screen capture
(2)
(3)
Permalink
Referenced in:
§ 11.3 Switch To Window
§ 16. User prompts
§ 16.1 User Prompt Handler
(2)
Permalink
Referenced in:
§ 6.4 Routing requests
Permalink
Referenced in:
§ 6.3 Processing model
§ 10. Navigation
§ 12.3.1.2 Link text
§ 12.3.1.3 Partial link text
§ 12.3.1.5 XPath
§ C. Element displayedness
Permalink
Referenced in:
§ 6.4 Routing requests
Permalink
Referenced in:
§ 11.5 New Window
§ 11.8 Resizing and positioning windows
§ 11.8.2 Set Window Rect
§ 11.8.3 Maximize Window
§ 11.8.4 Minimize Window
§ 11.8.5 Fullscreen Window
§ 16.5 Send Alert Text
Permalink
Referenced in:
§ 6.3 Processing model
§ 6.6 Errors
(2)
§ 16.1 User Prompt Handler
Permalink
exported
Referenced in:
§ 6.3 Processing model
§ 6.5 Endpoints
§ 6.7 Extensions
(2)
(3)
(4)
Permalink
exported
Referenced in:
§ 6.7 Extensions
(2)
Permalink
Referenced in:
§ 6.7 Extensions
(2)
§ 7.2 Processing capabilities
(2)
Permalink
exported
Referenced in:
Not referenced in this document.
Permalink
exported
Referenced in:
§ 6.7 Extensions
§ 7.2 Processing capabilities
Permalink
exported
Referenced in:
§ 7.2 Processing capabilities
(2)
Permalink
exported
Referenced in:
§ 8.1 Global State
Permalink
Referenced in:
§ 6.7 Extensions
(2)
§ 7. Capabilities
§ 7.2 Processing capabilities
(2)
(3)
(4)
§ 8.1 Global State
§ 8.2 New Session
(2)
Permalink
Referenced in:
§ 6.7 Extensions
§ 7.1 Proxy
§ 7.2 Processing capabilities
§ 8.2 New Session
(2)
(3)
§ 10. Navigation
§ 11.8 Resizing and positioning windows
Permalink
Referenced in:
§ 6.7 Extensions
Permalink
Referenced in:
§ 7.2 Processing capabilities
Permalink
Referenced in:
§ 7.2 Processing capabilities
Permalink
Referenced in:
§ 7. Capabilities
Permalink
Referenced in:
§ 11.8 Resizing and positioning windows
Permalink
Referenced in:
§ 7. Capabilities
§ 7.1 Proxy
(2)
§ 8.1 Global State
Permalink
Referenced in:
§ 7.1 Proxy
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
Permalink
Referenced in:
§ 7.1 Proxy
(2)
(3)
Permalink
Referenced in:
§ 7.2 Processing capabilities
Permalink
Referenced in:
§ 7.1 Proxy
Permalink
Referenced in:
§ 8.2 New Session
(2)
Permalink
exported
Referenced in:
§ 7.2 Processing capabilities
(2)
Permalink
Referenced in:
§ 7.2 Processing capabilities
§ 8.2 New Session
Permalink
exported
Referenced in:
§ 7.2 Processing capabilities
(2)
(3)
Permalink
Referenced in:
§ 5. Nodes
§ 6.3 Processing model
(2)
§ 6.6 Errors
(2)
(3)
§ 6.7 Extensions
§ 7. Capabilities
(2)
(3)
(4)
(5)
(6)
§ 8. Sessions
(2)
(3)
(4)
(5)
(6)
(7)
(8)
§ 8.1 Global State
(2)
(3)
(4)
§ 8.2 New Session
(2)
§ 9.1 Get Timeouts
§ 10. Navigation
§ 10.1 Navigate To
(2)
(3)
§ 11.7 Switch To Parent Frame
§ 12. Elements
(2)
(3)
§ 12.5.3 Element Send Keys
§ 15.8 Release Actions
§ A. Privacy
§ B. Security
Permalink
Referenced in:
§ 8. Sessions
§ 8.1 Global State
§ 8.2 New Session
(2)
Permalink
Referenced in:
§ 6.3 Processing model
§ 6.6 Errors
(2)
§ 8.1 Global State
§ 8.2 New Session
Permalink
Referenced in:
§ 8. Sessions
(2)
§ 8.1 Global State
(2)
Permalink
Referenced in:
§ 8. Sessions
(2)
(3)
(4)
(5)
(6)
§ 16. User prompts
§ 16.1 User Prompt Handler
Permalink
Referenced in:
§ 6.3 Processing model
(2)
§ 6.6 Errors
§ 8.1 Global State
(2)
(3)
§ 16. User prompts
Permalink
Referenced in:
§ 5. Nodes
§ 8. Sessions
§ 8.1 Global State
(2)
§ 8.2 New Session
§ 8.3 Delete Session
Permalink
Referenced in:
§ 6.6 Errors
§ 8. Sessions
(2)
§ 10. Navigation
(2)
(3)
§ 10.3 Back
§ 10.4 Forward
§ 11. Contexts
(2)
§ 11.3 Switch To Window
§ 11.5 New Window
(2)
§ 11.6 Switch To Frame
(2)
(3)
(4)
(5)
(6)
§ 11.7 Switch To Parent Frame
(2)
(3)
(4)
(5)
§ 12. Elements
(2)
(3)
§ 12.1 Interactability
§ 12.2 Shadow Roots
(2)
(3)
§ 12.3.1 Locator strategies
§ 12.3.2 Find Element
(2)
(3)
§ 12.3.3 Find Elements
(2)
§ 12.3.4 Find Element From Element
§ 12.3.5 Find Elements From Element
§ 12.3.6 Find Element From Shadow Root
§ 12.3.7 Find Elements From Shadow Root
§ 12.3.8 Get Active Element
(2)
§ 12.3.9 Get Element Shadow Root
§ 12.4.1 Is Element Selected
§ 12.4.2 Get Element Attribute
§ 12.4.3 Get Element Property
§ 12.4.4 Get Element CSS Value
(2)
§ 12.4.5 Get Element Text
§ 12.4.6 Get Element Tag Name
§ 12.4.7 Get Element Rect
(2)
(3)
§ 12.4.8 Is Element Enabled
(2)
§ 12.4.9 Get Computed Role
§ 12.4.10 Get Computed Label
§ 12.5.1 Element Click
(2)
§ 12.5.2 Element Clear
§ 12.5.3 Element Send Keys
(2)
§ 13.1 Get Page Source
(2)
(3)
§ 13.2 Executing Script
§ 13.2.1 Execute Script
§ 13.2.2 Execute Async Script
§ 14. Cookies
(2)
§ 14.1 Get All Cookies
(2)
§ 14.2 Get Named Cookie
(2)
§ 14.3 Add Cookie
(2)
(3)
(4)
§ 14.4 Delete Cookie
§ 14.5 Delete All Cookies
§ 15.1 Actions Options
§ 15.7 Perform Actions
(2)
§ 15.8 Release Actions
(2)
§ 16. User prompts
§ 16.1 User Prompt Handler
§ 17.2 Take Element Screenshot
§ 18.1 Print Page
Permalink
Referenced in:
§ 11. Contexts
§ 11.7 Switch To Parent Frame
(2)
(3)
Permalink
Referenced in:
§ 8.2 New Session
§ 10. Navigation
§ 10.1 Navigate To
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
§ 10.2 Get Current URL
(2)
§ 10.3 Back
(2)
§ 10.4 Forward
(2)
§ 10.5 Refresh
(2)
(3)
(4)
§ 10.6 Get Title
(2)
(3)
§ 11. Contexts
(2)
(3)
§ 11.1 Get Window Handle
(2)
§ 11.2 Close Window
(2)
§ 11.3 Switch To Window
§ 11.5 New Window
§ 11.6 Switch To Frame
(2)
(3)
§ 11.8 Resizing and positioning windows
§ 11.8.1 Get Window Rect
(2)
(3)
§ 11.8.2 Set Window Rect
(2)
(3)
(4)
(5)
(6)
(7)
§ 11.8.3 Maximize Window
(2)
(3)
(4)
(5)
§ 11.8.4 Minimize Window
(2)
(3)
(4)
§ 11.8.5 Fullscreen Window
(2)
(3)
§ 12.4 State
§ 12.5.1 Element Click
§ 12.5.3 Element Send Keys
§ 15.7 Perform Actions
§ 15.8 Release Actions
(2)
§ 16. User prompts
§ 16.2 Dismiss Alert
§ 16.3 Accept Alert
§ 16.4 Get Alert Text
§ 16.5 Send Alert Text
§ 17.1 Take Screenshot
(2)
§ 18.1 Print Page
Permalink
Referenced in:
§ 7. Capabilities
§ 8.1 Global State
(2)
§ 10. Navigation
§ 10.1 Navigate To
§ 10.3 Back
§ 10.4 Forward
§ 12.3 Retrieval
§ 12.5.2 Element Clear
§ 12.5.3 Element Send Keys
§ 13.2.1 Execute Script
§ 13.2.2 Execute Async Script
Permalink
Referenced in:
§ 8.1 Global State
(2)
§ 10. Navigation
(2)
(3)
(4)
Permalink
Referenced in:
§ 7. Capabilities
(2)
§ 8.1 Global State
§ 12.5.3 Element Send Keys
Permalink
Referenced in:
§ 15.3 Input state
(2)
Permalink
Referenced in:
§ 6.3 Processing model
§ 8.2 New Session
Permalink
Referenced in:
§ 7.2 Processing capabilities
(2)
§ 8. Sessions
§ 8.1 Global State
Permalink
Referenced in:
§ 7.2 Processing capabilities
§ 8.1 Global State
(2)
§ 10. Navigation
§ 10.1 Navigate To
Permalink
Referenced in:
§ 7.2 Processing capabilities
§ 8.1 Global State
(2)
Permalink
Referenced in:
§ 8.2 New Session
Permalink
Referenced in:
§ 8. Sessions
§ 8.3 Delete Session
§ 11.2 Close Window
Permalink
Referenced in:
§ 5. Nodes
§ 6.3 Processing model
§ 6.4 Routing requests
§ 6.5 Endpoints
§ 6.7 Extensions
(2)
§ 7. Capabilities
§ 7.2 Processing capabilities
§ 8. Sessions
§ 8.2 New Session
(2)
(3)
(4)
(5)
§ 8.4 Status
(2)
(3)
§ A. Privacy
Permalink
Referenced in:
§ 6.5 Endpoints
Permalink
Referenced in:
§ 6.3 Processing model
§ 6.5 Endpoints
§ 8.4 Status
Permalink
Referenced in:
§ 10. Navigation
§ 10.1 Navigate To
§ 10.3 Back
§ 10.4 Forward
§ 12.3 Retrieval
§ 12.5.2 Element Clear
§ 12.5.3 Element Send Keys
§ 13.2.1 Execute Script
§ 13.2.2 Execute Async Script
Permalink
Referenced in:
§ 9. Timeouts
§ 10. Navigation
§ 10.1 Navigate To
§ 10.3 Back
(2)
§ 10.4 Forward
(2)
§ 12.3 Retrieval
§ 12.5.2 Element Clear
§ 12.5.3 Element Send Keys
§ 13.2.1 Execute Script
(2)
§ 13.2.2 Execute Async Script
(2)
Permalink
Referenced in:
§ 10. Navigation
§ 10.1 Navigate To
§ 10.3 Back
§ 10.4 Forward
§ 12.3 Retrieval
§ 12.5.2 Element Clear
§ 12.5.3 Element Send Keys
§ 13.2.1 Execute Script
§ 13.2.2 Execute Async Script
Permalink
Referenced in:
§ 8. Sessions
(2)
§ 9. Timeouts
§ 9.1 Get Timeouts
§ 9.2 Set Timeouts
Permalink
Referenced in:
§ 9. Timeouts
(2)
§ 13.2.1 Execute Script
§ 13.2.2 Execute Async Script
Permalink
Referenced in:
§ 9. Timeouts
(2)
§ 10. Navigation
(2)
§ 10.1 Navigate To
§ 10.3 Back
§ 10.4 Forward
Permalink
Referenced in:
§ 9. Timeouts
(2)
§ 12.3 Retrieval
§ 12.5.2 Element Clear
§ 12.5.3 Element Send Keys
Permalink
Referenced in:
§ 7.2 Processing capabilities
§ 9.2 Set Timeouts
Permalink
Referenced in:
§ 8.1 Global State
§ 9.1 Get Timeouts
Permalink
Referenced in:
§ 6.5 Endpoints
Permalink
Referenced in:
§ 6.5 Endpoints
Permalink
Referenced in:
§ 8. Sessions
§ 10. Navigation
(2)
Permalink
Referenced in:
§ 10. Navigation
(2)
Permalink
Referenced in:
§ 10. Navigation
Permalink
Referenced in:
§ 8. Sessions
§ 10. Navigation
Permalink
Referenced in:
§ 7.2 Processing capabilities
Permalink
Referenced in:
§ 6.3 Processing model
§ 10.1 Navigate To
(2)
§ 10.5 Refresh
§ 12.5.1 Element Click
Permalink
Referenced in:
§ 10.1 Navigate To
(2)
§ 10.5 Refresh
§ 12.5.1 Element Click
Permalink
Referenced in:
§ 6.5 Endpoints
Permalink
Referenced in:
§ 6.5 Endpoints
Permalink
Referenced in:
§ 6.5 Endpoints
Permalink
Referenced in:
§ 6.5 Endpoints
Permalink
Referenced in:
§ 6.5 Endpoints
Permalink
Referenced in:
§ 6.5 Endpoints
Permalink
Referenced in:
§ 10. Navigation
§ 10.1 Navigate To
§ 10.2 Get Current URL
§ 10.3 Back
§ 10.4 Forward
§ 10.5 Refresh
§ 10.6 Get Title
§ 11.1 Get Window Handle
§ 11.2 Close Window
§ 11.5 New Window
§ 11.6 Switch To Frame
(2)
(3)
§ 11.7 Switch To Parent Frame
(2)
§ 11.8.1 Get Window Rect
§ 11.8.2 Set Window Rect
§ 11.8.3 Maximize Window
§ 11.8.4 Minimize Window
§ 11.8.5 Fullscreen Window
§ 12.3.2 Find Element
§ 12.3.3 Find Elements
§ 12.3.4 Find Element From Element
§ 12.3.5 Find Elements From Element
§ 12.3.6 Find Element From Shadow Root
§ 12.3.7 Find Elements From Shadow Root
§ 12.3.8 Get Active Element
§ 12.3.9 Get Element Shadow Root
§ 12.4.1 Is Element Selected
§ 12.4.2 Get Element Attribute
§ 12.4.3 Get Element Property
§ 12.4.4 Get Element CSS Value
§ 12.4.5 Get Element Text
§ 12.4.6 Get Element Tag Name
§ 12.4.7 Get Element Rect
§ 12.4.8 Is Element Enabled
§ 12.4.9 Get Computed Role
§ 12.4.10 Get Computed Label
§ 12.5.1 Element Click
§ 12.5.2 Element Clear
§ 12.5.3 Element Send Keys
§ 13.1 Get Page Source
§ 13.2.1 Execute Script
§ 13.2.2 Execute Async Script
§ 14.1 Get All Cookies
§ 14.2 Get Named Cookie
§ 14.3 Add Cookie
§ 14.4 Delete Cookie
§ 14.5 Delete All Cookies
§ 15.6 Dispatching actions
§ 15.7 Perform Actions
§ 15.8 Release Actions
§ 16.2 Dismiss Alert
§ 16.3 Accept Alert
§ 16.4 Get Alert Text
§ 16.5 Send Alert Text
§ 17.1 Take Screenshot
§ 17.2 Take Element Screenshot
§ 18.1 Print Page
Permalink
Referenced in:
§ 11. Contexts
(2)
(3)
(4)
§ 11.1 Get Window Handle
§ 11.3 Switch To Window
§ 11.4 Get Window Handles
§ 11.5 New Window
Permalink
Referenced in:
§ 13.2 Executing Script
Permalink
Referenced in:
§ 11. Contexts
(2)
(3)
(4)
Permalink
Referenced in:
§ 11. Contexts
§ 13.2 Executing Script
Permalink
Referenced in:
§ 13.2 Executing Script
Permalink
Referenced in:
§ 11. Contexts
(2)
(3)
(4)
Permalink
Referenced in:
§ 11. Contexts
§ 13.2 Executing Script
Permalink
Referenced in:
§ 13.2 Executing Script
Permalink
Referenced in:
§ 13.2 Executing Script
Permalink
Referenced in:
§ 13.2 Executing Script
Permalink
Referenced in:
§ 10.1 Navigate To
§ 10.5 Refresh
§ 11. Contexts
§ 11.6 Switch To Frame
(2)
(3)
§ 11.7 Switch To Parent Frame
Permalink
Referenced in:
§ 11.3 Switch To Window
Permalink
Referenced in:
§ 6.5 Endpoints
Permalink
Referenced in:
§ 6.5 Endpoints
Permalink
Referenced in:
§ 6.5 Endpoints
§ 11. Contexts
Permalink
Referenced in:
§ 6.5 Endpoints
§ 11.2 Close Window
Permalink
Referenced in:
§ 6.5 Endpoints
Permalink
Referenced in:
§ 6.5 Endpoints
§ 11. Contexts
§ 11.6 Switch To Frame
Permalink
Referenced in:
§ 6.5 Endpoints
§ 11.7 Switch To Parent Frame
Permalink
Referenced in:
§ 11.8 Resizing and positioning windows
Permalink
Referenced in:
§ 11.8 Resizing and positioning windows
Permalink
Referenced in:
§ 11.8 Resizing and positioning windows
Permalink
Referenced in:
§ 11.8 Resizing and positioning windows
Permalink
Referenced in:
§ 11.8.5 Fullscreen Window
Permalink
Referenced in:
§ 11.8.1 Get Window Rect
§ 11.8.2 Set Window Rect
§ 11.8.3 Maximize Window
§ 11.8.4 Minimize Window
§ 11.8.5 Fullscreen Window
Permalink
Referenced in:
§ 11.8.3 Maximize Window
Permalink
Referenced in:
§ 11.8.4 Minimize Window
Permalink
Referenced in:
§ 11.8.2 Set Window Rect
§ 11.8.3 Maximize Window
§ 11.8.5 Fullscreen Window
Permalink
Referenced in:
§ 6.5 Endpoints
§ 11.8.1 Get Window Rect
Permalink
Referenced in:
§ 6.5 Endpoints
§ 11.8.2 Set Window Rect
(2)
(3)
Permalink
Referenced in:
§ 6.5 Endpoints
§ 11.8.3 Maximize Window
(2)
Permalink
Referenced in:
§ 6.5 Endpoints
§ 11.8.4 Minimize Window
(2)
Permalink
Referenced in:
§ 6.5 Endpoints
Permalink
Referenced in:
§ 12.3.1.1 CSS selectors
§ 12.3.1.2 Link text
§ 12.3.1.3 Partial link text
§ 12.3.1.4 Tag name
§ 12.3.1.5 XPath
§ 12.3.2 Find Element
§ 12.4.7 Get Element Rect
(2)
(3)
(4)
(5)
§ 13.2 Executing Script
Permalink
Referenced in:
§ 12. Elements
(2)
(3)
(4)
Permalink
Referenced in:
§ 11.6 Switch To Frame
(2)
§ 12. Elements
§ 12.5.1 Element Click
§ 12.5.3 Element Send Keys
(2)
§ 13.2 Executing Script
§ 15.7 Perform Actions
§ 15.8 Release Actions
Permalink
Referenced in:
§ 12. Elements
Permalink
Referenced in:
§ 8. Sessions
§ 12. Elements
(2)
(3)
(4)
(5)
Permalink
Referenced in:
§ 12. Elements
(2)
Permalink
Referenced in:
§ 12. Elements
Permalink
Referenced in:
§ 12. Elements
(2)
Permalink
Referenced in:
§ 12. Elements
§ 12.2 Shadow Roots
Permalink
Referenced in:
§ 12. Elements
§ 12.2 Shadow Roots
Permalink
Referenced in:
§ 12. Elements
§ 12.2 Shadow Roots
Permalink
Referenced in:
§ 11.6 Switch To Frame
§ 12. Elements
§ 12.3.4 Find Element From Element
§ 12.3.5 Find Elements From Element
§ 12.3.9 Get Element Shadow Root
§ 12.4.1 Is Element Selected
§ 12.4.2 Get Element Attribute
§ 12.4.3 Get Element Property
§ 12.4.4 Get Element CSS Value
§ 12.4.5 Get Element Text
§ 12.4.6 Get Element Tag Name
§ 12.4.7 Get Element Rect
§ 12.4.8 Is Element Enabled
§ 12.4.9 Get Computed Role
§ 12.4.10 Get Computed Label
§ 12.5.1 Element Click
§ 12.5.2 Element Clear
§ 12.5.3 Element Send Keys
§ 15.1 Actions Options
§ 17.2 Take Element Screenshot
Permalink
Referenced in:
§ 12. Elements
Permalink
Referenced in:
§ 12.3 Retrieval
§ 12.3.8 Get Active Element
§ 13.2 Executing Script
Permalink
Referenced in:
§ 13.2 Executing Script
Permalink
Referenced in:
§ 12. Elements
§ 12.2 Shadow Roots
§ 13.2 Executing Script
Permalink
Referenced in:
§ 12.5 Interaction
§ 12.5.1 Element Click
(2)
§ 12.5.2 Element Clear
§ 12.5.3 Element Send Keys
(2)
§ 17. Screen capture
§ 17.2 Take Element Screenshot
Permalink
Referenced in:
§ 6.6 Errors
§ 12.5.2 Element Clear
Permalink
Referenced in:
§ 12.5.2 Element Clear
Permalink
Referenced in:
§ 12.5.2 Element Clear
Permalink
Referenced in:
§ 12.1 Interactability
Permalink
Referenced in:
§ 12. Elements
Permalink
Referenced in:
§ 6.6 Errors
§ 12.5 Interaction
§ 12.5.2 Element Clear
(2)
Permalink
Referenced in:
§ 6.6 Errors
§ 12.1 Interactability
§ 12.5.1 Element Click
Permalink
Referenced in:
§ 6.6 Errors
§ 12.1 Interactability
§ 12.5.3 Element Send Keys
(2)
(3)
Permalink
Referenced in:
§ 12.1 Interactability
(2)
(3)
(4)
(5)
(6)
§ 12.5.1 Element Click
(2)
(3)
§ 15.5 Processing actions
Permalink
Referenced in:
§ 12. Elements
§ 12.4.8 Is Element Enabled
§ 12.5.1 Element Click
Permalink
Referenced in:
§ 12. Elements
§ 12.5.1 Element Click
Permalink
Referenced in:
§ 6.6 Errors
§ 12.1 Interactability
(2)
§ 12.5.1 Element Click
(2)
Permalink
Referenced in:
§ 12.1 Interactability
(2)
Permalink
Referenced in:
§ 6.6 Errors
§ 12.2 Shadow Roots
(2)
§ 12.3.9 Get Element Shadow Root
§ 13.2 Executing Script
Permalink
Referenced in:
§ 12.2 Shadow Roots
(2)
(3)
(4)
Permalink
Referenced in:
§ 12.2 Shadow Roots
§ 13.2 Executing Script
Permalink
Referenced in:
§ 12.2 Shadow Roots
§ 12.3.6 Find Element From Shadow Root
§ 12.3.7 Find Elements From Shadow Root
Permalink
Referenced in:
§ 12.2 Shadow Roots
Permalink
Referenced in:
§ 12.3.9 Get Element Shadow Root
§ 13.2 Executing Script
Permalink
Referenced in:
§ 13.2 Executing Script
Permalink
Referenced in:
§ 12.2 Shadow Roots
§ 13.2 Executing Script
Permalink
Referenced in:
§ 12.3.2 Find Element
§ 12.3.3 Find Elements
§ 12.3.4 Find Element From Element
§ 12.3.5 Find Elements From Element
§ 12.3.6 Find Element From Shadow Root
§ 12.3.7 Find Elements From Shadow Root
Permalink
Referenced in:
§ 12.3 Retrieval
(2)
§ 12.3.1.1 CSS selectors
§ 12.3.1.2 Link text
§ 12.3.1.3 Partial link text
(2)
(3)
§ 12.3.1.4 Tag name
§ 12.3.1.5 XPath
Permalink
Referenced in:
§ 12.3.2 Find Element
§ 12.3.3 Find Elements
§ 12.3.4 Find Element From Element
§ 12.3.5 Find Elements From Element
§ 12.3.6 Find Element From Shadow Root
§ 12.3.7 Find Elements From Shadow Root
Permalink
Referenced in:
§ 12.3.1 Locator strategies
Permalink
Referenced in:
§ 12.3.1 Locator strategies
§ 12.3.1.3 Partial link text
§ 12.4.5 Get Element Text
Permalink
Referenced in:
§ 12.3.1 Locator strategies
§ 12.3.1.3 Partial link text
§ 12.4.5 Get Element Text
Permalink
Referenced in:
§ 12.3.1 Locator strategies
Permalink
Referenced in:
§ 12.3.1 Locator strategies
Permalink
Referenced in:
§ 6.5 Endpoints
§ 12.3 Retrieval
§ 12.3.2 Find Element
Permalink
Referenced in:
§ 6.5 Endpoints
§ 12.3 Retrieval
Permalink
Referenced in:
§ 6.5 Endpoints
§ 12.3 Retrieval
Permalink
Referenced in:
§ 6.5 Endpoints
§ 12.3 Retrieval
Permalink
Referenced in:
§ 6.5 Endpoints
§ 12.3 Retrieval
Permalink
Referenced in:
§ 6.5 Endpoints
§ 12.3 Retrieval
Permalink
Referenced in:
§ 6.5 Endpoints
Permalink
Referenced in:
§ 6.5 Endpoints
Permalink
Referenced in:
§ 12.4.7 Get Element Rect
Permalink
Referenced in:
§ 12.1 Interactability
Permalink
Referenced in:
§ 12.5.1 Element Click
(2)
(3)
(4)
(5)
Permalink
Referenced in:
§ 6.5 Endpoints
§ 12.4.1 Is Element Selected
Permalink
Referenced in:
§ 6.5 Endpoints
Permalink
Referenced in:
§ 6.5 Endpoints
Permalink
Referenced in:
§ 6.5 Endpoints
Permalink
Referenced in:
§ 6.5 Endpoints
§ 12.3.1.2 Link text
§ 12.3.1.3 Partial link text
§ 12.4.5 Get Element Text
(2)
Permalink
Referenced in:
§ 12.3.1.2 Link text
§ 18. Print
(2)
Permalink
Referenced in:
§ 6.5 Endpoints
Permalink
Referenced in:
§ 6.5 Endpoints
§ 12.4.7 Get Element Rect
Permalink
Referenced in:
§ 6.5 Endpoints
Permalink
Referenced in:
§ 6.5 Endpoints
Permalink
Referenced in:
§ 6.5 Endpoints
Permalink
Referenced in:
§ 12.5 Interaction
(2)
(3)
(4)
(5)
§ 12.5.2 Element Clear
Permalink
Referenced in:
§ 1.2 Simplicity
§ 6.5 Endpoints
§ 6.6 Errors
§ 12.1 Interactability
§ 12.5.1 Element Click
Permalink
Referenced in:
§ 6.5 Endpoints
§ 6.6 Errors
§ 12. Elements
Permalink
Referenced in:
§ 12.5.2 Element Clear
Permalink
Referenced in:
§ 12.5.2 Element Clear
Permalink
Referenced in:
§ 1.2 Simplicity
§ 6.5 Endpoints
§ 12. Elements
§ 12.5.3 Element Send Keys
(2)
Permalink
Referenced in:
§ 12.5.3 Element Send Keys
(2)
(3)
Permalink
Referenced in:
§ 12.5.3 Element Send Keys
Permalink
Referenced in:
§ 12.5.3 Element Send Keys
(2)
Permalink
Referenced in:
§ 12.5.3 Element Send Keys
Permalink
Referenced in:
§ 12.5.3 Element Send Keys
(2)
Permalink
Referenced in:
§ 12.5.3 Element Send Keys
(2)
(3)
(4)
Permalink
Referenced in:
§ 12.5.3 Element Send Keys
(2)
(3)
Permalink
Referenced in:
§ 12.5.3 Element Send Keys
Permalink
Referenced in:
§ 6.5 Endpoints
§ 13.1 Get Page Source
Permalink
Referenced in:
§ 13.2 Executing Script
Permalink
Referenced in:
§ 13.2 Executing Script
(2)
Permalink
Referenced in:
§ 13.2.1 Execute Script
(2)
§ 13.2.2 Execute Async Script
(2)
Permalink
Referenced in:
§ 13.2 Executing Script
(2)
Permalink
Referenced in:
§ 13.2 Executing Script
(2)
Permalink
Referenced in:
§ 13.2.1 Execute Script
§ 13.2.2 Execute Async Script
Permalink
Referenced in:
§ 13.2.1 Execute Script
§ 13.2.2 Execute Async Script
Permalink
Referenced in:
§ 6.5 Endpoints
Permalink
Referenced in:
§ 6.5 Endpoints
§ 13.2.2 Execute Async Script
(2)
Permalink
Referenced in:
§ 14. Cookies
§ 14.3 Add Cookie
(2)
Permalink
Referenced in:
§ 14. Cookies
§ 14.2 Get Named Cookie
§ 14.3 Add Cookie
(2)
Permalink
Referenced in:
§ 14.3 Add Cookie
(2)
Permalink
Referenced in:
§ 14.3 Add Cookie
Permalink
Referenced in:
§ 14.3 Add Cookie
(2)
Permalink
Referenced in:
§ 14.3 Add Cookie
(2)
Permalink
Referenced in:
§ 14. Cookies
§ 14.3 Add Cookie
(2)
Permalink
Referenced in:
§ 14. Cookies
§ 14.3 Add Cookie
(2)
Permalink
Referenced in:
§ 14.3 Add Cookie
Permalink
Referenced in:
§ 14. Cookies
(2)
§ 14.1 Get All Cookies
§ 14.2 Get Named Cookie
Permalink
Referenced in:
§ 6.6 Errors
§ 14. Cookies
§ 14.1 Get All Cookies
§ 14.2 Get Named Cookie
Permalink
Referenced in:
§ 14. Cookies
§ 14.3 Add Cookie
Permalink
Referenced in:
§ 14.4 Delete Cookie
§ 14.5 Delete All Cookies
Permalink
Referenced in:
§ 6.5 Endpoints
Permalink
Referenced in:
§ 6.5 Endpoints
Permalink
Referenced in:
§ 6.5 Endpoints
§ 14. Cookies
(2)
(3)
(4)
(5)
(6)
(7)
Permalink
Referenced in:
§ 6.5 Endpoints
Permalink
Referenced in:
§ 6.5 Endpoints
Permalink
Referenced in:
§ 12.5 Interaction
Permalink
Referenced in:
§ 12.5.1 Element Click
§ 12.5.3 Element Send Keys
(2)
(3)
§ 15.7 Perform Actions
§ 15.8 Release Actions
Permalink
Referenced in:
§ 12.5.1 Element Click
§ 12.5.3 Element Send Keys
(2)
§ 15.5 Processing actions
(2)
§ 15.7 Perform Actions
§ 15.8 Release Actions
Permalink
Referenced in:
§ 12.5.1 Element Click
§ 12.5.3 Element Send Keys
(2)
§ 15.5 Processing actions
§ 15.7 Perform Actions
§ 15.8 Release Actions
Permalink
Referenced in:
§ 12.5.1 Element Click
§ 12.5.3 Element Send Keys
(2)
§ 15.7 Perform Actions
§ 15.8 Release Actions
Permalink
Referenced in:
§ 15. Actions
(2)
(3)
(4)
(5)
(6)
§ 15.2.1 Null input source
(2)
§ 15.2.2 Key input source
§ 15.2.3 Pointer input source
§ 15.2.4 Wheel input source
§ 15.3 Input state
(2)
(3)
§ 15.4 Ticks
(2)
(3)
Permalink
Referenced in:
§ 15.3 Input state
Permalink
Referenced in:
§ 12.5.1 Element Click
§ 12.5.3 Element Send Keys
§ 15.3 Input state
Permalink
Referenced in:
§ 15.2.1 Null input source
(2)
§ 15.2.2 Key input source
§ 15.2.3 Pointer input source
§ 15.2.4 Wheel input source
Permalink
Referenced in:
§ 15. Actions
(2)
(3)
(4)
(5)
§ 15.2.2 Key input source
§ 15.2.3 Pointer input source
§ 15.2.4 Wheel input source
§ 15.4 Ticks
Permalink
Referenced in:
§ 15.2 Input sources
Permalink
Referenced in:
§ 12.5.3 Element Send Keys
(2)
§ 15.2.2 Key input source
(2)
(3)
§ 15.3 Input state
Permalink
Referenced in:
§ 15. Actions
§ 15.6.2 Keyboard actions
Permalink
Referenced in:
§ 15. Actions
Permalink
Referenced in:
§ 15.2 Input sources
Permalink
Referenced in:
§ 15.2.3 Pointer input source
(2)
(3)
§ 15.3 Input state
(2)
Permalink
Referenced in:
§ 15. Actions
(2)
(3)
(4)
Permalink
Referenced in:
§ 15. Actions
(2)
(3)
(4)
Permalink
Referenced in:
§ 15. Actions
(2)
(3)
§ 15.6.3 Pointer actions
Permalink
Referenced in:
Not referenced in this document.
Permalink
Referenced in:
§ 15.2 Input sources
Permalink
Referenced in:
§ 15.2.4 Wheel input source
(2)
Permalink
Referenced in:
§ 15.6.4 Wheel actions
Permalink
Referenced in:
§ 15.2 Input sources
Permalink
Referenced in:
§ 8. Sessions
§ 15.3 Input state
(2)
(3)
Permalink
Referenced in:
§ 15.2 Input sources
§ 15.3 Input state
(2)
(3)
(4)
(5)
(6)
Permalink
Referenced in:
§ 15.3 Input state
(2)
§ 15.6 Dispatching actions
(2)
§ 15.8 Release Actions
Permalink
Referenced in:
§ 15.6 Dispatching actions
(2)
(3)
Permalink
Referenced in:
§ 12.5.1 Element Click
§ 12.5.3 Element Send Keys
§ 15.7 Perform Actions
§ 15.8 Release Actions
Permalink
Referenced in:
§ 15.8 Release Actions
Permalink
Referenced in:
§ 15.3 Input state
Permalink
Referenced in:
§ 12.5.1 Element Click
§ 12.5.3 Element Send Keys
Permalink
Referenced in:
§ 12.5.1 Element Click
§ 12.5.3 Element Send Keys
Permalink
Referenced in:
§ 15.3 Input state
§ 15.6 Dispatching actions
Permalink
Referenced in:
§ 15.5 Processing actions
Permalink
Referenced in:
§ 15.3 Input state
Permalink
Referenced in:
§ 12.5.3 Element Send Keys
§ 15.6 Dispatching actions
Permalink
Referenced in:
§ 15.2.3 Pointer input source
Permalink
Referenced in:
§ 15. Actions
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
(12)
(13)
(14)
§ 15.2.1 Null input source
(2)
§ 15.4 Ticks
(2)
(3)
§ 15.5 Processing actions
§ 15.6 Dispatching actions
§ 15.6.3 Pointer actions
§ 15.6.4 Wheel actions
Permalink
Referenced in:
§ 15.6 Dispatching actions
§ 15.6.3 Pointer actions
(2)
§ 15.6.4 Wheel actions
(2)
Permalink
Referenced in:
§ 12.5.3 Element Send Keys
§ 15.6.2 Keyboard actions
(2)
§ 15.6.3 Pointer actions
(2)
(3)
(4)
§ 15.6.4 Wheel actions
Permalink
Referenced in:
§ 15.6.3 Pointer actions
§ 15.6.4 Wheel actions
Permalink
Referenced in:
§ 15.5 Processing actions
§ 15.7 Perform Actions
Permalink
Referenced in:
§ 15.5 Processing actions
Permalink
Referenced in:
§ 15.5 Processing actions
Permalink
Referenced in:
§ 15.5 Processing actions
Permalink
Referenced in:
§ 12.5.1 Element Click
(2)
(3)
§ 12.5.3 Element Send Keys
(2)
(3)
(4)
(5)
§ 15.3 Input state
§ 15.5 Processing actions
(2)
(3)
(4)
Permalink
Referenced in:
§ 15.5 Processing actions
Permalink
Referenced in:
§ 15.5 Processing actions
Permalink
Referenced in:
§ 15.5 Processing actions
Permalink
Referenced in:
§ 15.5 Processing actions
Permalink
Referenced in:
§ 15.5 Processing actions
(2)
(3)
(4)
Permalink
Referenced in:
§ 15.5 Processing actions
Permalink
Referenced in:
§ 15.5 Processing actions
Permalink
Referenced in:
§ 15.6 Dispatching actions
§ 15.8 Release Actions
Permalink
Referenced in:
§ 15.6 Dispatching actions
(2)
§ 15.7 Perform Actions
§ 15.8 Release Actions
Permalink
Referenced in:
§ 15.6 Dispatching actions
Permalink
Referenced in:
§ 15.6 Dispatching actions
Permalink
Referenced in:
§ 15.6 Dispatching actions
(2)
(3)
Permalink
Referenced in:
§ 12.5.1 Element Click
§ 12.5.3 Element Send Keys
(2)
(3)
(4)
(5)
Permalink
Referenced in:
§ 15.6 Dispatching actions
(2)
(3)
(4)
Permalink
Referenced in:
§ 15.6.2 Keyboard actions
(2)
Permalink
Referenced in:
§ 12.5.3 Element Send Keys
§ 15.6.2 Keyboard actions
(2)
Permalink
Referenced in:
§ 12.5.3 Element Send Keys
(2)
Permalink
Referenced in:
§ 15.6.2 Keyboard actions
(2)
Permalink
Referenced in:
§ 15.6 Dispatching actions
Permalink
Referenced in:
§ 15.6 Dispatching actions
Permalink
Referenced in:
§ 15.6 Dispatching actions
Permalink
Referenced in:
§ 15.6 Dispatching actions
Permalink
Referenced in:
§ 15.6 Dispatching actions
Permalink
Referenced in:
§ 15.6.3 Pointer actions
(2)
Permalink
Referenced in:
§ 15.6 Dispatching actions
Permalink
Referenced in:
§ 15.6 Dispatching actions
Permalink
Referenced in:
§ 15.6.4 Wheel actions
(2)
Permalink
Referenced in:
§ 6.5 Endpoints
Permalink
Referenced in:
§ 6.5 Endpoints
§ 15.8 Release Actions
Permalink
Referenced in:
§ 6.6 Errors
§ 16.1 User Prompt Handler
(2)
Permalink
Referenced in:
§ 16. User prompts
Permalink
Referenced in:
§ 16.1 User Prompt Handler
(2)
(3)
(4)
(5)
(6)
(7)
§ 16.2 Dismiss Alert
(2)
(3)
§ 16.3 Accept Alert
(2)
§ 16.4 Get Alert Text
(2)
§ 16.5 Send Alert Text
(2)
(3)
Permalink
Referenced in:
§ 16.1 User Prompt Handler
(2)
(3)
§ 16.2 Dismiss Alert
(2)
(3)
Permalink
Referenced in:
§ 16. User prompts
§ 16.1 User Prompt Handler
(2)
(3)
§ 16.2 Dismiss Alert
§ 16.3 Accept Alert
Permalink
Referenced in:
§ 6.6 Errors
§ 7. Capabilities
§ 8.1 Global State
§ 16. User prompts
§ 16.1 User Prompt Handler
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
(12)
(13)
Permalink
Referenced in:
§ 16.1 User Prompt Handler
(2)
(3)
(4)
Permalink
Referenced in:
§ 16.1 User Prompt Handler
(2)
(3)
(4)
(5)
(6)
(7)
(8)
Permalink
Referenced in:
§ 16.1 User Prompt Handler
(2)
(3)
(4)
(5)
(6)
(7)
Permalink
Referenced in:
§ 16.1 User Prompt Handler
(2)
Permalink
Referenced in:
§ 16.1 User Prompt Handler
Permalink
Referenced in:
§ 16.1 User Prompt Handler
Permalink
Referenced in:
§ 16.1 User Prompt Handler
Permalink
Referenced in:
§ 7.2 Processing capabilities
Permalink
Referenced in:
§ 7.2 Processing capabilities
Permalink
Referenced in:
§ 8.1 Global State
Permalink
Referenced in:
§ 8.1 Global State
Permalink
Referenced in:
§ 16.1 User Prompt Handler
Permalink
exported
Referenced in:
§ 16.1 User Prompt Handler
Permalink
Referenced in:
§ 10.1 Navigate To
§ 10.2 Get Current URL
§ 10.3 Back
(2)
§ 10.4 Forward
(2)
§ 10.5 Refresh
§ 10.6 Get Title
§ 11.2 Close Window
§ 11.5 New Window
§ 11.6 Switch To Frame
(2)
(3)
§ 11.7 Switch To Parent Frame
§ 11.8.1 Get Window Rect
§ 11.8.2 Set Window Rect
§ 11.8.3 Maximize Window
§ 11.8.4 Minimize Window
§ 11.8.5 Fullscreen Window
§ 12.3.2 Find Element
§ 12.3.3 Find Elements
§ 12.3.4 Find Element From Element
§ 12.3.5 Find Elements From Element
§ 12.3.6 Find Element From Shadow Root
§ 12.3.7 Find Elements From Shadow Root
§ 12.3.8 Get Active Element
§ 12.3.9 Get Element Shadow Root
§ 12.4.1 Is Element Selected
§ 12.4.2 Get Element Attribute
§ 12.4.3 Get Element Property
§ 12.4.4 Get Element CSS Value
§ 12.4.5 Get Element Text
§ 12.4.6 Get Element Tag Name
§ 12.4.7 Get Element Rect
§ 12.4.8 Is Element Enabled
§ 12.4.9 Get Computed Role
§ 12.4.10 Get Computed Label
§ 12.5.1 Element Click
§ 12.5.2 Element Clear
§ 12.5.3 Element Send Keys
§ 13.1 Get Page Source
§ 13.2.1 Execute Script
§ 13.2.2 Execute Async Script
§ 14.1 Get All Cookies
§ 14.2 Get Named Cookie
§ 14.3 Add Cookie
§ 14.4 Delete Cookie
§ 14.5 Delete All Cookies
§ 15.7 Perform Actions
§ 15.8 Release Actions
§ 17.2 Take Element Screenshot
§ 18.1 Print Page
Permalink
Referenced in:
§ 6.5 Endpoints
§ 16.2 Dismiss Alert
Permalink
Referenced in:
§ 6.5 Endpoints
Permalink
Referenced in:
§ 6.5 Endpoints
Permalink
Referenced in:
§ 6.5 Endpoints
§ 16.5 Send Alert Text
Permalink
Referenced in:
§ 17.1 Take Screenshot
§ 17.2 Take Element Screenshot
Permalink
Referenced in:
§ 17.1 Take Screenshot
§ 17.2 Take Element Screenshot
Permalink
Referenced in:
§ 6.5 Endpoints
§ 17. Screen capture
Permalink
Referenced in:
§ 6.5 Endpoints
§ 17. Screen capture
§ 17.2 Take Element Screenshot
Permalink
Referenced in:
§ 18.1 Print Page
Permalink
Referenced in:
§ 18. Print
(2)
Permalink
Referenced in:
§ 18. Print
(2)
(3)
Permalink
Referenced in:
§ 6.5 Endpoints
Permalink
Referenced in:
§ C. Element displayedness
(2)
Permalink
Referenced in:
§ 12.4.9 Get Computed Role
Permalink
Referenced in:
§ 12.4.10 Get Computed Label
Permalink
Referenced in:
§ 12.4.10 Get Computed Label
Permalink
Referenced in:
§ 13.2 Executing Script
Permalink
Referenced in:
§ 10. Navigation
Permalink
Referenced in:
§ 18.1 Print Page
Permalink
Referenced in:
§ 13.1 Get Page Source
Permalink
Referenced in:
§ 12.5.2 Element Clear
(2)
Permalink
Referenced in:
§ 13.1 Get Page Source
Permalink
Referenced in:
§ 15.4 Ticks
Permalink
Referenced in:
§ 12.5.1 Element Click
Permalink
Referenced in:
§ 12.5.1 Element Click
Permalink
Referenced in:
§ 12.5.1 Element Click
Permalink
Referenced in:
§ 12.5.1 Element Click
Permalink
Referenced in:
§ 12.5.1 Element Click
Permalink
Referenced in:
§ 12.5.3 Element Send Keys
Permalink
Referenced in:
§ 13.2 Executing Script
Permalink
Referenced in:
§ 13.2 Executing Script
(2)
(3)
Permalink
Referenced in:
§ 13.2.2 Execute Async Script
Permalink
Referenced in:
§ 13.2 Executing Script
Permalink
Referenced in:
§ 13.2 Executing Script
Permalink
Referenced in:
§ 13.2 Executing Script
Permalink
Referenced in:
§ 13.2 Executing Script
Permalink
Referenced in:
§ 13.2 Executing Script
Permalink
Referenced in:
§ 13.2.2 Execute Async Script
Permalink
Referenced in:
§ 13.2 Executing Script
Permalink
Referenced in:
§ 13.2.2 Execute Async Script
Permalink
Referenced in:
§ 7.1 Proxy
(2)
(3)
(4)
(5)
(6)
§ 7.2 Processing capabilities
(2)
(3)
(4)
§ 11. Contexts
(2)
(3)
(4)
§ 12. Elements
(2)
§ 12.2 Shadow Roots
(2)
§ 12.5.3 Element Send Keys
§ 13.2 Executing Script
(2)
Permalink
Referenced in:
§ 13.2.2 Execute Async Script
Permalink
Referenced in:
§ 13.2.2 Execute Async Script
Permalink
Referenced in:
§ 12. Elements
§ 13.2.2 Execute Async Script
Permalink
Referenced in:
§ 13.2 Executing Script
Permalink
Referenced in:
§ 18. Print
Permalink
Referenced in:
§ 13.2 Executing Script
Permalink
Referenced in:
§ 12. Elements
§ 12.4.5 Get Element Text
§ 13.2 Executing Script
(2)
§ C. Element displayedness
Permalink
Referenced in:
§ 6.1 Algorithms
(2)
Permalink
Referenced in:
§ 12.4.3 Get Element Property
Permalink
Referenced in:
§ 17. Screen capture
Permalink
Referenced in:
§ 6.1 Algorithms
Permalink
Referenced in:
§ 17. Screen capture
Permalink
Referenced in:
§ 13.2 Executing Script
(2)
(3)
(4)
§ 15.5 Processing actions
(2)
§ 18.1 Print Page
(2)
(3)
Permalink
Referenced in:
§ 4. Interface
§ 7.2 Processing capabilities
(2)
(3)
(4)
(5)
§ 13.2 Executing Script
(2)
§ 18.1 Print Page
(2)
Permalink
Referenced in:
§ 7.1 Proxy
§ 7.2 Processing capabilities
(2)
(3)
(4)
§ 11.4 Get Window Handles
§ 12.3 Retrieval
(2)
§ 13.2 Executing Script
(2)
(3)
§ 14.1 Get All Cookies
§ 15.5 Processing actions
(2)
(3)
Permalink
Referenced in:
§ 9. Timeouts
§ 14.3 Add Cookie
Permalink
Referenced in:
§ 6.3 Processing model
(2)
§ 6.7 Extensions
§ 7.2 Processing capabilities
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
(12)
§ 8.1 Global State
§ 8.2 New Session
§ 8.3 Delete Session
§ 9.2 Set Timeouts
§ 10. Navigation
(2)
(3)
(4)
§ 10.1 Navigate To
§ 10.3 Back
§ 10.4 Forward
§ 10.5 Refresh
§ 11. Contexts
§ 11.3 Switch To Window
§ 11.6 Switch To Frame
(2)
(3)
§ 11.7 Switch To Parent Frame
(2)
(3)
§ 12.3.1.5 XPath
(2)
§ 12.3.2 Find Element
§ 12.3.3 Find Elements
§ 12.4.2 Get Element Attribute
§ 12.4.3 Get Element Property
§ 12.4.5 Get Element Text
§ 12.5.1 Element Click
§ 12.5.2 Element Clear
§ 12.5.3 Element Send Keys
(2)
(3)
§ 13.1 Get Page Source
(2)
§ 13.2 Executing Script
(2)
(3)
(4)
(5)
§ 14.3 Add Cookie
(2)
§ 14.4 Delete Cookie
§ 14.5 Delete All Cookies
§ 15.5 Processing actions
(2)
§ 15.6 Dispatching actions
(2)
§ 15.6.1 General actions
§ 15.6.2 Keyboard actions
(2)
§ 15.6.3 Pointer actions
(2)
(3)
(4)
(5)
(6)
§ 15.6.4 Wheel actions
§ 15.7 Perform Actions
§ 15.8 Release Actions
§ 16. User prompts
§ 16.2 Dismiss Alert
§ 16.3 Accept Alert
§ 16.4 Get Alert Text
§ 16.5 Send Alert Text
Permalink
Referenced in:
§ 3. Terminology
§ 11.8.2 Set Window Rect
(2)
§ 13.2 Executing Script
(2)
§ 15.5 Processing actions
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
(12)
(13)
(14)
§ 18. Print
(2)
§ 18.1 Print Page
(2)
(3)
Permalink
Referenced in:
§ 6.1 Algorithms
§ 6.3 Processing model
(2)
(3)
(4)
§ 6.6 Errors
(2)
§ 7. Capabilities
(2)
§ 7.1 Proxy
(2)
(3)
§ 7.2 Processing capabilities
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
§ 8.1 Global State
§ 8.2 New Session
§ 8.4 Status
§ 11. Contexts
(2)
(3)
(4)
(5)
§ 11.5 New Window
§ 11.6 Switch To Frame
§ 11.8 Resizing and positioning windows
§ 12. Elements
(2)
(3)
§ 12.2 Shadow Roots
(2)
(3)
§ 12.4.7 Get Element Rect
§ 13.2 Executing Script
(2)
(3)
(4)
(5)
(6)
(7)
§ 13.2.2 Execute Async Script
§ 14. Cookies
§ 14.3 Add Cookie
§ 15.5 Processing actions
(2)
(3)
§ 16.1 User Prompt Handler
§ 18.1 Print Page
(2)
Permalink
Referenced in:
§ 6.1 Algorithms
Permalink
Referenced in:
§ 7.1 Proxy
§ 7.2 Processing capabilities
(2)
(3)
(4)
§ 10. Navigation
§ 11. Contexts
(2)
(3)
§ 12. Elements
§ 12.2 Shadow Roots
§ 12.5.3 Element Send Keys
§ 13.2 Executing Script
(2)
(3)
§ 15.5 Processing actions
(2)
§ 16.1 User Prompt Handler
§ 16.5 Send Alert Text
§ 18. Print
(2)
§ 18.1 Print Page
Permalink
Referenced in:
§ 6.1 Algorithms
Permalink
Referenced in:
§ 3. Terminology
Permalink
Referenced in:
§ 6.4 Routing requests
§ 7.1 Proxy
§ 7.2 Processing capabilities
(2)
(3)
(4)
§ 11.3 Switch To Window
§ 11.8.2 Set Window Rect
(2)
(3)
(4)
§ 12.3.2 Find Element
§ 12.3.3 Find Elements
§ 12.3.4 Find Element From Element
§ 12.3.5 Find Elements From Element
§ 12.3.6 Find Element From Shadow Root
§ 12.3.7 Find Elements From Shadow Root
§ 12.4 State
(2)
(3)
§ 12.4.3 Get Element Property
§ 12.5.3 Element Send Keys
(2)
§ 13.2 Executing Script
(2)
§ 14. Cookies
§ 15.5 Processing actions
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
(12)
(13)
(14)
(15)
(16)
(17)
(18)
(19)
(20)
(21)
(22)
(23)
(24)
(25)
(26)
(27)
(28)
§ 15.6 Dispatching actions
(2)
§ 15.6.2 Keyboard actions
§ 15.6.3 Pointer actions
§ 15.6.4 Wheel actions
Permalink
Referenced in:
§ 6.3 Processing model
Permalink
Referenced in:
§ 6.3 Processing model
(2)
§ 12.1 Interactability
Permalink
Referenced in:
§ 7. Capabilities
§ 7.2 Processing capabilities
Permalink
Referenced in:
§ 6.3 Processing model
Permalink
Referenced in:
§ 6.3 Processing model
Permalink
Referenced in:
§ 6.3 Processing model
Permalink
Referenced in:
§ 10.1 Navigate To
Permalink
Referenced in:
§ 6.3 Processing model
(2)
§ 6.4 Routing requests
§ 6.5 Endpoints
Permalink
Referenced in:
§ 6.2 Commands
§ 6.3 Processing model
§ 6.6 Errors
(2)
§ 10. Navigation
(2)
(3)
Permalink
Referenced in:
§ 6.2 Commands
§ 6.3 Processing model
(2)
(3)
§ 6.4 Routing requests
§ 8. Sessions
Permalink
Referenced in:
§ 6.3 Processing model
Permalink
Referenced in:
§ 6.3 Processing model
§ 6.6 Errors
(2)
§ 10. Navigation
Permalink
Referenced in:
§ 6.3 Processing model
Permalink
Referenced in:
§ 11.8.5 Fullscreen Window
Permalink
Referenced in:
§ 11.8.5 Fullscreen Window
Permalink
Referenced in:
§ 11.8.2 Set Window Rect
§ 11.8.3 Maximize Window
§ 11.8.4 Minimize Window
Permalink
Referenced in:
§ 17. Screen capture
Permalink
Referenced in:
§ 17. Screen capture
Permalink
Referenced in:
§ 12.5.3 Element Send Keys
Permalink
Referenced in:
§ 6.6 Errors
§ 10.1 Navigate To
(2)
(3)
§ 10.2 Get Current URL
§ 10.5 Refresh
§ 10.6 Get Title
§ 11.6 Switch To Frame
§ 11.8 Resizing and positioning windows
(2)
§ 11.8.5 Fullscreen Window
§ 12. Elements
(2)
(3)
§ 12.1 Interactability
§ 12.2 Shadow Roots
§ 12.4.4 Get Element CSS Value
§ 12.4.8 Is Element Enabled
§ 13.1 Get Page Source
(2)
§ 13.2 Executing Script
§ 14. Cookies
(2)
§ 14.1 Get All Cookies
§ 14.2 Get Named Cookie
§ 14.3 Add Cookie
(2)
(3)
§ 16. User prompts
Permalink
Referenced in:
§ 12.3.8 Get Active Element
§ 12.5.3 Element Send Keys
Permalink
Referenced in:
§ 11.6 Switch To Frame
§ 12.4 State
§ 13.2 Executing Script
Permalink
Referenced in:
§ 12.4.2 Get Element Attribute
(2)
Permalink
Referenced in:
§ 8. Sessions
§ 10. Navigation
§ 11. Contexts
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
§ 11.3 Switch To Window
§ 11.6 Switch To Frame
§ 13.2 Executing Script
§ 15.4 Ticks
§ 16. User prompts
Permalink
Referenced in:
§ 12. Elements
(2)
(3)
Permalink
Referenced in:
§ 12.5.2 Element Clear
Permalink
Referenced in:
§ 17. Screen capture
Permalink
Referenced in:
§ 12.4.1 Is Element Selected
(2)
Permalink
Referenced in:
§ 12.4.1 Is Element Selected
§ 12.5 Interaction
Permalink
Referenced in:
§ 11.6 Switch To Frame
Permalink
Referenced in:
§ 8.1 Global State
(2)
§ 11.2 Close Window
Permalink
Referenced in:
§ 14.3 Add Cookie
Permalink
Referenced in:
§ 12.5 Interaction
Permalink
Referenced in:
§ 12.5 Interaction
(2)
Permalink
Referenced in:
§ 12.1 Interactability
(2)
Permalink
Referenced in:
§ 10. Navigation
(2)
(3)
Permalink
Referenced in:
§ 12.4 State
(2)
(3)
(4)
(5)
(6)
Permalink
Referenced in:
§ 12.3.1 Locator strategies
Permalink
Referenced in:
§ 16. User prompts
(2)
Permalink
Referenced in:
§ 12. Elements
§ 12.5.1 Element Click
§ 12.5.2 Element Clear
§ 12.5.3 Element Send Keys
Permalink
Referenced in:
§ 11.5 New Window
§ 12.5.1 Element Click
§ 12.5.2 Element Clear
(2)
§ 12.5.3 Element Send Keys
Permalink
Referenced in:
§ 12.1 Interactability
Permalink
Referenced in:
§ 11.6 Switch To Frame
Permalink
Referenced in:
§ 12.5 Interaction
§ 12.5.2 Element Clear
§ 12.5.3 Element Send Keys
(2)
Permalink
Referenced in:
§ 10.3 Back
§ 10.4 Forward
Permalink
Referenced in:
§ 10. Navigation
(2)
Permalink
Referenced in:
§ 12. Elements
§ 12.5.3 Element Send Keys
Permalink
Referenced in:
§ 6.6 Errors
§ 7. Capabilities
§ 7.2 Processing capabilities
§ 10. Navigation
§ 10.1 Navigate To
(2)
(3)
§ 12.5.1 Element Click
(2)
(3)
Permalink
Referenced in:
§ 17. Screen capture
Permalink
Referenced in:
§ 10.5 Refresh
Permalink
Referenced in:
§ 11. Contexts
Permalink
Referenced in:
§ 16. User prompts
Permalink
Referenced in:
§ 8.1 Global State
Permalink
Referenced in:
§ 12.4.1 Is Element Selected
(2)
Permalink
Referenced in:
§ 12.5 Interaction
Permalink
Referenced in:
§ 10.1 Navigate To
Permalink
Referenced in:
§ 12.5 Interaction
(2)
Permalink
Referenced in:
§ 6.6 Errors
§ 12.5 Interaction
Permalink
Referenced in:
§ 17.1 Take Screenshot
§ 17.2 Take Element Screenshot
§ 18.1 Print Page
Permalink
Referenced in:
§ 12.5.2 Element Clear
Permalink
Referenced in:
§ 12.4.1 Is Element Selected
§ 12.5.1 Element Click
(2)
(3)
(4)
Permalink
Referenced in:
§ 16.1 User Prompt Handler
(2)
(3)
(4)
(5)
§ 16.2 Dismiss Alert
Permalink
Referenced in:
§ 16. User prompts
Permalink
Referenced in:
§ 12.5.3 Element Send Keys
Permalink
Referenced in:
§ 10.3 Back
§ 10.4 Forward
Permalink
Referenced in:
§ 12.5.2 Element Clear
(2)
Permalink
Referenced in:
§ 11.3 Switch To Window
§ 13.2 Executing Script
§ 16. User prompts
(2)
(3)
(4)
(5)
(6)
(7)
§ 16.2 Dismiss Alert
§ 16.5 Send Alert Text
Permalink
Referenced in:
§ 12.5 Interaction
§ 12.5.2 Element Clear
Permalink
Referenced in:
§ 12.5 Interaction
Permalink
Referenced in:
§ 12.5 Interaction
Permalink
Referenced in:
§ 11. Contexts
(2)
Permalink
Referenced in:
§ 11.5 New Window
Permalink
Referenced in:
§ 11. Contexts
§ 11.6 Switch To Frame
§ 11.8 Resizing and positioning windows
§ 11.8.2 Set Window Rect
(2)
§ 13.2 Executing Script
(2)
Permalink
Referenced in:
§ 12.5.3 Element Send Keys
Permalink
Referenced in:
§ 16.5 Send Alert Text
Permalink
Referenced in:
§ 16.5 Send Alert Text
Permalink
Referenced in:
§ 16.5 Send Alert Text
(2)
Permalink
Referenced in:
§ 12. Elements
§ 12.5.3 Element Send Keys
Permalink
Referenced in:
§ 12. Elements
Permalink
Referenced in:
§ 12. Elements
Permalink
Referenced in:
§ 12. Elements
Permalink
Referenced in:
§ 12. Elements
Permalink
Referenced in:
§ 12. Elements
§ 12.5.3 Element Send Keys
Permalink
Referenced in:
§ 12. Elements
Permalink
Referenced in:
§ 12. Elements
Permalink
Referenced in:
§ 12. Elements
Permalink
Referenced in:
§ 12. Elements
Permalink
Referenced in:
§ 12. Elements
Permalink
Referenced in:
§ 12. Elements
Permalink
Referenced in:
§ 12. Elements
Permalink
Referenced in:
§ 12.5 Interaction
Permalink
Referenced in:
§ 12.5.1 Element Click
Permalink
Referenced in:
§ 12. Elements
§ 12.5.3 Element Send Keys
Permalink
Referenced in:
§ 12. Elements
Permalink
Referenced in:
§ 12.5.1 Element Click
§ 12.5.3 Element Send Keys
Permalink
Referenced in:
§ 10. Navigation
Permalink
Referenced in:
§ 12. Elements
(2)
§ 12.4.1 Is Element Selected
(2)
§ 12.5 Interaction
(2)
§ 12.5.1 Element Click
(2)
§ 12.5.2 Element Clear
§ 12.5.3 Element Send Keys
(2)
(3)
(4)
(5)
(6)
§ E. Index
Permalink
Referenced in:
§ 10. Navigation
Permalink
Referenced in:
§ 10.3 Back
§ 10.4 Forward
Permalink
Referenced in:
§ 10.3 Back
§ 10.4 Forward
Permalink
Referenced in:
§ 17. Screen capture
Permalink
Referenced in:
§ 6. Protocol
Permalink
Referenced in:
§ 14. Cookies
Permalink
Referenced in:
§ 14. Cookies
(2)
(3)
(4)
(5)
§ 14.2 Get Named Cookie
Permalink
Referenced in:
§ 14. Cookies
(2)
§ 14.3 Add Cookie
Permalink
Referenced in:
§ 14. Cookies
Permalink
Referenced in:
§ 14.3 Add Cookie
Permalink
Referenced in:
§ 14. Cookies
Permalink
Referenced in:
§ 14. Cookies
Permalink
Referenced in:
§ 6.3 Processing model
Permalink
Referenced in:
§ 9. Timeouts
§ 16.1 User Prompt Handler
Permalink
Referenced in:
§ 9. Timeouts
§ 16.1 User Prompt Handler
Permalink
Referenced in:
§ 7.1 Proxy
Permalink
Referenced in:
§ 6.4 Routing requests
§ 6.5 Endpoints
§ 6.7 Extensions
§ C. Element displayedness
Permalink
Referenced in:
§ 11.8 Resizing and positioning windows
Permalink
Referenced in:
§ 11.8 Resizing and positioning windows
(2)
Permalink
Referenced in:
§ 11.8 Resizing and positioning windows
Permalink
Referenced in:
§ 12.4.5 Get Element Text
Permalink
Referenced in:
§ C. Element displayedness
(2)
Permalink
Referenced in:
§ 18.1 Print Page
Permalink
Referenced in:
§ 11.8.2 Set Window Rect
(2)
§ 12.4.7 Get Element Rect
(2)
(3)
(4)
§ 15.6.3 Pointer actions
(2)
§ 15.6.4 Wheel actions
(2)
§ 17. Screen capture
Permalink
Referenced in:
§ C. Element displayedness
Permalink
Referenced in:
§ 12.1 Interactability
(2)
§ 12.5.1 Element Click
§ C. Element displayedness
Permalink
Referenced in:
§ C. Element displayedness
Permalink
Referenced in:
§ 12.4.7 Get Element Rect
(2)
(3)
§ 17. Screen capture
(2)
§ 17.1 Take Screenshot
§ 17.2 Take Element Screenshot
Permalink
Referenced in:
§ 12.1 Interactability
(2)
§ 12.4.7 Get Element Rect
§ 17. Screen capture
Permalink
Referenced in:
§ 12.1 Interactability
(2)
§ 12.4.7 Get Element Rect
§ 17. Screen capture
Permalink
Referenced in:
§ 12.1 Interactability
(2)
(3)
(4)
§ 12.4 State
§ 17. Screen capture
(2)
(3)
Permalink
Referenced in:
§ 12.1 Interactability
(2)
(3)
(4)
§ 12.4 State
§ 17. Screen capture
(2)
(3)
Permalink
Referenced in:
§ 12.4.4 Get Element CSS Value
Permalink
Referenced in:
§ 12. Elements
Permalink
Referenced in:
§ 12.1 Interactability
(2)
(3)
Permalink
Referenced in:
§ 12.1 Interactability
Permalink
Referenced in:
§ 12.1 Interactability
Permalink
Referenced in:
§ 11.8.2 Set Window Rect
Permalink
Referenced in:
§ 11.8 Resizing and positioning windows
§ 11.8.2 Set Window Rect
(2)
Permalink
Referenced in:
§ 11.8 Resizing and positioning windows
§ 11.8.2 Set Window Rect
(2)
Permalink
Referenced in:
§ 11.8 Resizing and positioning windows
Permalink
Referenced in:
§ 11.8 Resizing and positioning windows
Permalink
Referenced in:
§ 12.4 State
Permalink
Referenced in:
§ 12.4 State
Permalink
Referenced in:
§ 12. Elements
Permalink
Referenced in:
§ 12. Elements
Permalink
Referenced in:
§ 12. Elements
Permalink
Referenced in:
§ 12. Elements
Permalink
Referenced in:
§ 17. Screen capture
(2)
(3)
(4)
(5)
Permalink
Referenced in:
§ 18.1 Print Page
Permalink
Referenced in:
§ 7.1 Proxy
(2)
Permalink
Referenced in:
§ 12.5.3 Element Send Keys
§ 15.5 Processing actions
§ 15.6.2 Keyboard actions
Permalink
Referenced in:
§ 12.5.3 Element Send Keys
Permalink
Referenced in:
§ 12.5.3 Element Send Keys
Permalink
Referenced in:
§ 12.4.5 Get Element Text
Permalink
Referenced in:
§ 10.1 Navigate To
(2)
(3)
(4)
Permalink
Referenced in:
§ 10.1 Navigate To
Permalink
Referenced in:
§ 7.1 Proxy
Permalink
Referenced in:
§ 14. Cookies
§ 14.3 Add Cookie
(2)
Permalink
Referenced in:
§ 7.1 Proxy
(2)
(3)
(4)
(5)
§ 12.2 Shadow Roots
Permalink
Referenced in:
§ 7.1 Proxy
Permalink
Referenced in:
§ 10.1 Navigate To
(2)
§ 10.5 Refresh
Permalink
Referenced in:
§ 6.4 Routing requests
Permalink
Referenced in:
§ 6.4 Routing requests
(2)
Permalink
Referenced in:
§ 7.1 Proxy
Permalink
Referenced in:
§ 6.3 Processing model
§ 6.4 Routing requests
§ 7.1 Proxy
§ 8.2 New Session
§ 10.1 Navigate To
(2)
§ 10.2 Get Current URL
§ 14. Cookies
§ 14.3 Add Cookie
Permalink
Referenced in:
§ 10.2 Get Current URL
Permalink
Referenced in:
§ 12.3 Retrieval
Permalink
Referenced in:
§ 11.6 Switch To Frame
Permalink
Referenced in:
§ 12.3 Retrieval
Permalink
Referenced in:
§ 12.3.1.1 CSS selectors
§ 12.3.1.2 Link text
§ 12.3.1.3 Partial link text
§ 12.3.1.4 Tag name
§ 12.3.1.5 XPath
Permalink
Referenced in:
§ 13.2.1 Execute Script
Permalink
Referenced in:
§ 12.3.1.5 XPath
Permalink
Referenced in:
§ 12.3.1.5 XPath
Permalink
Referenced in:
§ 12.3.1.5 XPath
Permalink
Referenced in:
§ 12.3 Retrieval
§ 12.3.1.5 XPath
Permalink
Referenced in:
§ 12.4 State
Permalink
Referenced in:
§ 12.1 Interactability
(2)
(3)
Permalink
Referenced in:
§ 12.4 State
Permalink
Referenced in:
§ 12. Elements
Permalink
Referenced in:
§ 12.1 Interactability
(2)
Permalink
Referenced in:
§ 14. Cookies
(2)
§ E. Index
Permalink
Referenced in:
§ 11.8.5 Fullscreen Window
§ 12.1 Interactability
§ 12.3.2 Find Element
§ 12.3.3 Find Elements
§ 12.3.8 Get Active Element
§ 12.4.7 Get Element Rect
(2)
§ 13.1 Get Page Source
§ 14.3 Add Cookie
§ 17.1 Take Screenshot
Permalink
Referenced in:
§ 12.4 State
Permalink
Referenced in:
§ 13.2 Executing Script
Permalink
Referenced in:
§ 6.6 Errors
(2)
§ 12. Elements
(2)
(3)
(4)
(5)
(6)
(7)
§ 12.1 Interactability
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
§ 12.3.1 Locator strategies
§ 12.3.1.5 XPath
§ 12.3.2 Find Element
§ 12.3.8 Get Active Element
§ 12.4 State
(2)
(3)
§ 12.4.1 Is Element Selected
§ 12.4.5 Get Element Text
(2)
§ 12.5 Interaction
§ 12.5.1 Element Click
(2)
§ 12.5.3 Element Send Keys
(2)
(3)
(4)
(5)
(6)
(7)
§ 15.4 Ticks
§ 17. Screen capture
(2)
§ 17.2 Take Element Screenshot
§ C. Element displayedness
(2)
(3)
(4)
(5)
(6)
(7)
Permalink
Referenced in:
§ 12. Elements
(2)
§ 13.2 Executing Script
Permalink
Referenced in:
§ 10.4 Forward
Permalink
Referenced in:
§ 10. Navigation
(2)
§ 10.3 Back
(2)
§ 10.4 Forward
§ 12.5.1 Element Click
(2)
(3)
(4)
(5)
(6)
(7)
§ 12.5.3 Element Send Keys
§ 15.4 Ticks
§ 15.8 Release Actions
Permalink
Referenced in:
§ 12.4.2 Get Element Attribute
Permalink
Referenced in:
§ 12.4.2 Get Element Attribute
Permalink
Referenced in:
§ 12.3.1.4 Tag name
Permalink
Referenced in:
§ 12.4.2 Get Element Attribute
§ 12.5.3 Element Send Keys
Permalink
Referenced in:
§ 13.2 Executing Script
Permalink
Referenced in:
§ 12.1 Interactability
Permalink
Referenced in:
§ 12.1 Interactability
(2)
Permalink
Referenced in:
§ 15.4 Ticks
Permalink
Referenced in:
§ 12.4 State
(2)
(3)
(4)
Permalink
Referenced in:
§ 12. Elements
§ 12.2 Shadow Roots
§ 12.4 State
(2)
Permalink
Referenced in:
§ 12.3.1.2 Link text
§ 12.3.1.3 Partial link text
§ 12.3.1.5 XPath
§ 13.2 Executing Script
Permalink
Referenced in:
§ 12.3.1.1 CSS selectors
§ 12.3.1.2 Link text
§ 12.3.1.3 Partial link text
Permalink
Referenced in:
§ 15.3 Input state
Permalink
Referenced in:
§ 12.2 Shadow Roots
(2)
§ 13.2 Executing Script
Permalink
Referenced in:
§ 12.4.6 Get Element Tag Name
Permalink
Referenced in:
§ 12.5 Interaction
Permalink
Referenced in:
§ 12.4.4 Get Element CSS Value
§ 12.4.8 Is Element Enabled
Permalink
Referenced in:
§ 13.2 Executing Script
Permalink
Referenced in:
§ 12.1 Interactability
(2)
(3)
Permalink
Referenced in:
§ 12.3.1.3 Partial link text
§ 12.4.5 Get Element Text
Permalink
Referenced in:
§ 11.6 Switch To Frame
Permalink
Referenced in:
§ 14. Cookies
§ 14.3 Add Cookie
Permalink
Referenced in:
§ 17. Screen capture
(2)
(3)
§ 17.1 Take Screenshot
§ 17.2 Take Element Screenshot
Permalink
Referenced in:
§ 13.2 Executing Script
Permalink
Referenced in:
§ 13.2 Executing Script
Permalink
Referenced in:
§ 11.6 Switch To Frame
Permalink
Referenced in:
§ 12.4 State
Permalink
Referenced in:
§ 11. Contexts
§ 11.6 Switch To Frame
Permalink
Referenced in:
§ 17. Screen capture
Permalink
Referenced in:
§ 13.2 Executing Script
Permalink
Referenced in:
§ 13.2 Executing Script
Permalink
Referenced in:
§ 13.2 Executing Script
Permalink
Referenced in:
§ 11. Contexts
§ 11.6 Switch To Frame
Permalink
Referenced in:
§ 9. Timeouts
§ 13.2 Executing Script
§ 13.2.1 Execute Script
§ 13.2.2 Execute Async Script
§ 15.6.3 Pointer actions
§ 15.6.4 Wheel actions
Permalink
Referenced in:
§ 11. Contexts
§ 12. Elements
Permalink
Referenced in:
§ 4. Interface
Permalink
Referenced in:
§ 12. Elements
(2)
Permalink
Referenced in:
§ 12.1 Interactability
(2)
§ 12.4 State
Permalink
Referenced in:
§ 12.1 Interactability
(2)
§ 12.4 State
(2)
§ 12.4.1 Is Element Selected
(2)
§ 12.5.1 Element Click
Permalink
Referenced in:
§ 12.5 Interaction
Permalink
Referenced in:
§ 16. User prompts
(2)
Permalink
Referenced in:
§ 13.2 Executing Script
Permalink
Referenced in:
§ 13.2 Executing Script
Permalink
Referenced in:
§ 12. Elements
Permalink
Referenced in:
§ 16. User prompts
Permalink
Referenced in:
§ 13.2 Executing Script
Permalink
Referenced in:
§ 12.1 Interactability
(2)
§ 12.4 State
§ 12.5.3 Element Send Keys
Permalink
Referenced in:
§ 12. Elements
§ 12.5 Interaction
Permalink
Referenced in:
§ 10.6 Get Title
Permalink
Referenced in:
§ 8. Sessions
§ 8.1 Global State
§ 8.2 New Session
(2)
(3)
§ 11. Contexts
(2)
(3)
(4)
(5)
(6)
§ 11.2 Close Window
§ 11.3 Switch To Window
(2)
§ 11.4 Get Window Handles
§ 11.5 New Window
(2)
§ 11.7 Switch To Parent Frame
§ 11.8 Resizing and positioning windows
(2)
(3)
(4)
(5)
(6)
(7)
§ 15.3 Input state
(2)
§ 17. Screen capture
Permalink
Referenced in:
§ 12. Elements
§ 12.4.1 Is Element Selected
§ 12.5 Interaction
§ 12.5.2 Element Clear
§ 12.5.3 Element Send Keys
Permalink
Referenced in:
§ 17. Screen capture
Permalink
Referenced in:
§ 4. Interface
Permalink
Referenced in:
§ 10. Navigation
§ 10.1 Navigate To
Permalink
Referenced in:
§ 7.2 Processing capabilities
(2)
Permalink
Referenced in:
§ 9. Timeouts
§ 12. Elements
§ 16.1 User Prompt Handler
(2)
Permalink
Referenced in:
§ 6.3 Processing model
§ 12. Elements
§ 15.3 Input state
(2)
§ 16.1 User Prompt Handler
(2)
(3)
Permalink
Referenced in:
§ 6.3 Processing model
(2)
Permalink
Referenced in:
§ 6.4 Routing requests
Permalink
Referenced in:
§ 15.3 Input state
(2)
Permalink
Referenced in:
§ 10. Navigation
§ 10.1 Navigate To
Permalink
Referenced in:
§ 9. Timeouts
(2)
(3)
Permalink
Referenced in:
§ 12.5.3 Element Send Keys
Permalink
Referenced in:
§ 6.4 Routing requests
§ 9. Timeouts
§ 12. Elements
§ 16.1 User Prompt Handler
(2)
(3)
(4)
(5)
(6)
Permalink
Referenced in:
§ 8. Sessions
§ 8.2 New Session
§ 15.3 Input state
Permalink
Referenced in:
§ 8. Sessions
§ 18. Print
Permalink
Referenced in:
§ 16.1 User Prompt Handler
Permalink
Referenced in:
§ 16.1 User Prompt Handler
Permalink
Referenced in:
§ 9. Timeouts
(2)
§ 15.1 Actions Options
§ 15.2 Input sources
§ 15.3 Input state
§ 16.1 User Prompt Handler
Permalink
Referenced in:
§ 6.3 Processing model
Permalink
Referenced in:
§ 16. User prompts
Permalink
Referenced in:
§ 13.2.1 Execute Script
§ 13.2.2 Execute Async Script
Permalink
Referenced in:
§ 13.2.1 Execute Script
§ 13.2.2 Execute Async Script
(2)
(3)
Permalink
Referenced in:
§ 13.2.1 Execute Script
§ 13.2.2 Execute Async Script