JSON Wire Protocol 仕様
このドキュメントは以前、wiki に掲載されていました
ブラウザまたは RemoteWebDriver サーバーと通信する WebDriver のすべての実装は、共通のワイヤプロトコルを使用する必要があります。このワイヤプロトコルは、HTTP 経由で JSON を使用する RESTful ウェブサービス を定義します。
このプロトコルは、WebDriver API が「フラット化」されていることを前提としていますが、既存の Java API で示されているように、クライアントの実装はよりオブジェクト指向のアプローチを採用することが期待されています。ワイヤプロトコルは、「コマンド」と「レスポンス」のリクエスト/レスポンスのペアで実装されています。
用語と概念
クライアント
WebDriver API が使用されているマシン。
セッション
RemoteWebDriver を実行しているマシン。この用語は、FirefoxDriver や IPhoneDriver など、ワイヤプロトコルを直接実装する特定のブラウザを指す場合もあります。
サーバーはセッションごとに 1 つのブラウザを維持する必要があります。セッションに送信されたコマンドは、対応するブラウザに転送されます。
WebElement
ページ上の DOM 要素を表す WebDriver API のオブジェクト。
WebElement JSON オブジェクト
ワイヤを介した伝送のための WebElement の JSON 表現。このオブジェクトには、次のプロパティがあります
キー | 型 | 説明 |
---|---|---|
ELEMENT | 文字列 | サーバーによって要素に割り当てられた不透明な ID。この ID は、要素に対して発行される後続のすべてのコマンドで使用する必要があります。 |
Capabilities JSON オブジェクト
すべてのサーバー実装がすべての WebDriver 機能をサポートしているわけではありません。したがって、クライアントとサーバーは、セッションがサポートする機能を記述する際に、以下のプロパティを持つ JSON オブジェクトを使用する必要があります。
キー | 型 | 説明 |
---|---|---|
browserName | 文字列 | 使用されているブラウザの名前。{android, chrome, firefox, htmlunit, internet explorer, iPhone, iPad, opera, safari} のいずれかである必要があります。 |
version | 文字列 | ブラウザのバージョン。不明な場合は空の文字列。 |
platform | 文字列 | ブラウザが実行されているプラットフォームを指定するキー。この値は、{WINDOWS|XP|VISTA|MAC|LINUX|UNIX} のいずれかである必要があります。新しいセッションをリクエストする場合、クライアントは ANY を指定して、使用可能な任意のプラットフォームを使用できることを示すことができます。 |
javascriptEnabled | 真偽値 | セッションが、現在のページのコンテキストでユーザーが提供した JavaScript の実行をサポートするかどうか。 |
takesScreenshot | 真偽値 | セッションが、現在のページのスクリーンショットの取得をサポートするかどうか。 |
handlesAlerts | 真偽値 | セッションが、window.alert や window.confirm などのモーダルポップアップを操作できるかどうか。 |
databaseEnabled | 真偽値 | セッションが、データベースストレージを操作できるかどうか。 |
locationContextEnabled | 真偽値 | セッションが、ブラウザのロケーションコンテキストを設定およびクエリできるかどうか。 |
applicationCacheEnabled | 真偽値 | セッションが、アプリケーションキャッシュを操作できるかどうか。 |
browserConnectionEnabled | 真偽値 | セッションが、ブラウザの接続性をクエリし、必要に応じて無効にできるかどうか。 |
cssSelectorsEnabled | 真偽値 | セッションが、要素を検索する際に CSS セレクターをサポートするかどうか。 |
webStorageEnabled | 真偽値 | セッションが、ストレージオブジェクトとのインタラクションをサポートするかどうか。 |
rotatable | 真偽値 | セッションが、現在のページの現在のレイアウトをポートレートとランドスケープの向きの間で回転できるかどうか(モバイルプラットフォームにのみ適用)。 |
acceptSslCerts | 真偽値 | セッションが、デフォルトですべての SSL 証明書を受け入れる必要があるかどうか。 |
nativeEvents | 真偽値 | セッションが、ユーザー入力をシミュレートする際にネイティブイベントを生成できるかどうか。 |
proxy | proxy オブジェクト | 使用するプロキシの詳細。プロキシが指定されていない場合は、システムの現在の状態またはデフォルトの状態が使用されます。形式は、Proxy JSON オブジェクトで指定されています。 |
unexpectedAlertBehaviour | 文字列 | 未処理のアラートが発生した場合に、ブラウザが UnhandledAlertException をスローする前に実行する必要がある処理。「accept」、「dismiss」、「ignore」の値が考えられます。 |
elementScrollBehavior | 整数 | ユーザーは、インタラクションのために要素をビューポートにスクロールして、ビューポートの上部(0)または下部(1)に揃えるかどうかを指定できます。デフォルト値は、ビューポートの上部に揃えることです。IE および Firefox (2.36 以降) でサポートされています。 |
Desired Capabilities
サーバーによって作成された新しいセッションが持つべき capabilities を記述する、クライアントによって送信された Capabilities JSON オブジェクト。省略されたキーはすべて、対応する capability が無関係であることを暗黙的に示します。詳細については、DesiredCapabilities を参照してください。
実際の Capabilities
サーバーによって返される、セッションが実際にサポートする機能を記述する Capabilities JSON オブジェクト。省略されたキーはすべて、対応する capability がサポートされていないことを暗黙的に示します。
Cookie JSON オブジェクト
Cookie を記述する JSON オブジェクト。
キー | 型 | 説明 |
---|---|---|
name | 文字列 | Cookie の名前。 |
value | 文字列 | Cookie の値。 |
path | 文字列 | (オプション)Cookie のパス。1 |
domain | 文字列 | (オプション)Cookie が可視であるドメイン。1 |
secure | 真偽値 | (オプション)Cookie がセキュア Cookie であるかどうか。1 |
httpOnly | 真偽値 | (オプション)Cookie が httpOnly Cookie であるかどうか。1 |
expiry | 数値 | (オプション)Cookie の有効期限。1970 年 1 月 1 日午前 0 時 UTC からの秒数で指定。1 |
1 Cookie オブジェクトを返す場合、サーバーは情報を提供できない場合にのみオプションフィールドを省略する必要があります。
ログエントリ JSON オブジェクト
ログエントリを記述する JSON オブジェクト。
キー | 型 | 説明 |
---|---|---|
timestamp | 数値 | エントリのタイムスタンプ。 |
level | 文字列 | エントリのログレベル(例: "INFO" (ログレベル を参照))。 |
message | 文字列 | ログメッセージ。 |
ログレベル
ログレベル(順序付き、最上位が最も詳細なレベル、最下位が最も粗いレベル)。
レベル | 説明 |
---|---|
ALL | すべてのログメッセージ。ログの取得およびログ記録の設定に使用。 |
DEBUG | デバッグ用のメッセージ。 |
INFO | ユーザー情報を含むメッセージ。 |
WARNING | 重大でない問題に対応するメッセージ。 |
SEVERE | 重大なエラーに対応するメッセージ。 |
OFF | ログメッセージなし。ログ記録の設定に使用。 |
ログタイプ
以下の表に、一般的なログタイプを示します。パフォーマンスログ記録など、他のログタイプも利用できる場合があります。
ログタイプ | 説明 |
---|---|
client | クライアントからのログ。 |
driver | WebDriver からのログ。 |
browser | ブラウザからのログ。 |
server | サーバーからのログ。 |
Proxy JSON オブジェクト
Proxy 設定を記述する JSON オブジェクト。
キー | 型 | 説明 |
---|---|---|
proxyType | 文字列 | (必須)使用されているプロキシのタイプ。可能な値は次のとおりです。direct - 直接接続 - プロキシは使用されていません、manual - 手動プロキシ設定(HTTP 用プロキシ、FTP 用プロキシなどの設定)、pac - URL からのプロキシ自動構成、autodetect - プロキシ自動検出(おそらく WPAD を使用)、system - システム設定を使用 |
proxyAutoconfigUrl | 文字列 | (proxyType == pac の場合は必須、それ以外の場合は無視)プロキシ自動構成に使用する URL を指定します。期待される形式の例: http://hostname.com:1234/pacfile |
ftpProxy、httpProxy、sslProxy、socksProxy | 文字列 | (オプション、proxyType != manual の場合は無視)FTP、HTTP、HTTPS、SOCKS リクエストにそれぞれ使用するプロキシを指定します。proxyType が manual の場合に、特定のプロトコルのプロキシが未定義のリクエストが行われた場合の動作は未定義です。期待される形式の例: hostname.com:1234 |
socksUsername | 文字列 | (オプション、proxyType != manual かつ socksProxy が設定されていない場合は無視)SOCKS プロキシのユーザー名を指定します。 |
socksPassword | 文字列 | (オプション、proxyType != manual かつ socksProxy が設定されていない場合は無視)SOCKS プロキシのパスワードを指定します。 |
noProxy | 文字列 | (オプション、proxyType != manual の場合は無視)プロキシバイパスアドレスを指定します。形式はドライバ固有です。 |
メッセージ
コマンド
WebDriver コマンドメッセージは、HTTP/1.1 リクエスト仕様に準拠する必要があります。サーバーは他の content-type に応答するように拡張できますが、ワイヤプロトコルでは、すべてのコマンドが application/json;charset=UTF-8
の content-type を受け入れるように規定されています。同様に、POST および PUT リクエストのメッセージボディは、application/json;charset=UTF-8
の content-type を使用する必要があります。
WebDriver サービスの各コマンドは、特定のパスにある HTTP メソッドにマッピングされます。コロン (:) が前に付いたパスセグメントは、そのセグメントが基になるリソースをさらに識別するために使用される変数であることを示します。たとえば、任意のリソースが次のようにマッピングされているとします。
GET /favorite/color/:name
このマッピングが与えられた場合、サーバーは “/favorite/color/Jack” および “/favorite/color/Jill” に送信された GET リクエストに応答し、変数 :name
はそれぞれ “Jack” および “Jill” に設定する必要があります。
レスポンス
コマンドレスポンスは、HTTP/1.1 レスポンスメッセージとして送信されるものとします。リモートサーバーが 4xx レスポンスを返す必要がある場合、レスポンスボディの Content-Type は text/plain である必要があり、メッセージボディは不正なリクエストを説明するメッセージである必要があります。その他のすべての場合で、レスポンスにメッセージボディが含まれている場合は、Content-Type が application/json;charset=UTF-8 である必要があり、次のプロパティを持つ JSON オブジェクトになります。
キー | 型 | 説明 |
---|---|---|
sessionId | 文字列 | null |
status | 数値 | コマンドの結果を要約するステータスコード。ゼロ以外の値は、コマンドが失敗したことを示します。 |
value | * | レスポンス JSON 値。 |
レスポンスステータスコード
ワイヤプロトコルは、InternetExplorerDriver で使用されるステータスコードを継承します。
コード | 概要 | 詳細 |
---|---|---|
0 | Success | コマンドは正常に実行されました。 |
6 | NoSuchDriver | セッションが終了したか、開始されていません |
7 | NoSuchElement | 指定された検索パラメータを使用して、ページ上で要素を見つけることができませんでした。 |
8 | NoSuchFrame | フレームが見つからなかったため、フレームへの切り替えリクエストを満たすことができませんでした。 |
9 | UnknownCommand | リクエストされたリソースが見つからなかったか、マッピングされたリソースでサポートされていない HTTP メソッドを使用してリクエストが受信されました。 |
10 | StaleElementReference | 参照された要素が DOM にアタッチされなくなったため、要素コマンドが失敗しました。 |
11 | ElementNotVisible | 要素がページに表示されないため、要素コマンドを完了できませんでした。 |
12 | InvalidElementState | 要素が無効な状態にあるため(例: 無効な要素をクリックしようとした場合)、要素コマンドを完了できませんでした。 |
13 | UnknownError | コマンドの処理中に不明なサーバー側のエラーが発生しました。 |
15 | ElementIsNotSelectable | 選択できない要素を選択しようとしました。 |
17 | JavaScriptError | ユーザーが提供した JavaScript の実行中にエラーが発生しました。 |
19 | XPathLookupError | XPath で要素を検索中にエラーが発生しました。 |
21 | Timeout | 操作がタイムアウトになる前に完了しませんでした。 |
23 | NoSuchWindow | ウィンドウが見つからなかったため、別のウィンドウへの切り替えリクエストを満たすことができませんでした。 |
24 | InvalidCookieDomain | 現在のページとは異なるドメインで Cookie を設定する不正な試みが行われました。 |
25 | UnableToSetCookie | Cookie の値を設定するリクエストを満たすことができませんでした。 |
26 | UnexpectedAlertOpen | モーダルダイアログが開いており、この操作をブロックしています |
27 | NoAlertOpenError | モーダルダイアログが開いていないときに、モーダルダイアログで操作しようとしました。 |
28 | ScriptTimeout | スクリプトがタイムアウトになる前に完了しませんでした。 |
29 | InvalidElementCoordinates | インタラクション操作に提供された座標が無効です。 |
30 | IMENotAvailable | IME が利用できませんでした。 |
31 | IMEEngineActivationFailed | IME エンジンを起動できませんでした。 |
32 | InvalidSelector | 引数が無効なセレクター(例: XPath/CSS)でした。 |
33 | SessionNotCreatedException | 新しいセッションを作成できませんでした。 |
34 | MoveTargetOutOfBounds | 移動アクションに提供されたターゲットが範囲外です。 |
クライアントは、サーバーからの 404 Not Found レスポンスを “Unknown command” レスポンスとして解釈する必要があります。ステータスフィールドを定義しないサーバーからの他のすべての 4xx および 5xx レスポンスは、“Unknown error” レスポンスとして解釈する必要があります。
エラー処理
ワイヤプロトコルで指定されているエラー処理には、無効なリクエストと失敗したコマンドの 2 つのレベルがあります。
無効なリクエスト
すべての無効なリクエストは、サーバーが 4xx HTTP レスポンスを返す必要があります。レスポンスの Content-Type は text/plain に設定する必要があり、メッセージボディは説明的なエラーメッセージである必要があります。無効なリクエストのカテゴリは次のとおりです。
- 不明なコマンド
- サーバーが、パスが REST サービスのリソースにマッピングされていないコマンドリクエストを受信した場合、
404 Not Found
メッセージで応答する必要があります。 - 未実装のコマンド
- WebDriver ワイヤプロトコルを実装するすべてのサーバーは、定義されたすべてのコマンドに応答する必要があります。個々のコマンドがサーバーに実装されていない場合、サーバーは
501 Not Implemented
エラーメッセージで応答する必要があります。これは、4xx
ステータスコードを返さない無効なリクエストカテゴリで唯一のエラーであることに注意してください。 - 変数リソースが見つかりません
- リクエストパスが変数のリソースにマッピングされているが、そのリソースが存在しない場合、サーバーは
404 Not Found
で応答する必要があります。たとえば、IDmy-session
がサーバー上の有効なセッション ID でなく、コマンドがGET /session/my-session HTTP/1.1
に送信された場合、サーバーは正常に404
を返す必要があります。 - 無効なコマンドメソッド
- リクエストパスが有効なリソースにマッピングされているが、そのリソースがリクエストメソッドに応答しない場合、サーバーは
405 Method Not Allowed
で応答する必要があります。レスポンスには、リクエストされたリソースで許可されているメソッドのリストを含む Allows ヘッダーを含める必要があります。 - コマンドパラメータの欠落
- POST/PUT コマンドが JSON パラメータのセットを予期するリソースにマッピングされており、レスポンスボディにそれらのパラメータの 1 つが含まれていない場合、サーバーは
400 Bad Request
で応答する必要があります。レスポンスボディには、欠落しているパラメータをリストする必要があります。
失敗したコマンド
リクエストが有効なコマンドにマッピングされ、リクエストボディに予期されるすべてのパラメータが含まれているにもかかわらず、正常に実行できなかった場合、サーバーは 500 Internal Server Error を送信する必要があります。このレスポンスの Content-Type は application/json;charset=UTF-8
である必要があり、レスポンスボディは整形式の JSON レスポンスオブジェクトである必要があります。
レスポンスステータスは、定義されたステータスコードの 1 つである必要があり、レスポンス値は、失敗したコマンドの詳細情報を含む別の JSON オブジェクトである必要があります
キー | 型 | 説明 |
---|---|---|
message | 文字列 | コマンドの失敗に関する説明的なメッセージ。 |
screen | 文字列 | (オプション)含まれている場合、現在のページのスクリーンショットを base64 エンコードされた文字列として指定します。 |
class | 文字列 | (オプション)含まれている場合、コマンドが失敗したときにスローされた例外の完全修飾クラス名を指定します。 |
stackTrace | 配列 | (オプション)含まれている場合、コマンドが失敗したときにスローされた例外のスタックトレースを記述する JSON オブジェクトの配列を指定します。配列の 0 番目の要素は、スタックの最上位を表します。 |
stackTrace 配列内の各 JSON オブジェクトには、次のプロパティが含まれている必要があります
キー | 型 | 説明 |
---|---|---|
fileName | 文字列 | このフレームで表される行を含むソースファイルの名前。 |
className | 文字列 | このフレームでアクティブなクラスの完全修飾クラス名。クラス名を特定できない場合、またはサーバーが実装されている言語に適用できない場合は、このプロパティを空の文字列に設定する必要があります。 |
methodName | 文字列 | このフレームでアクティブなメソッドの名前。不明または適用できない場合は空の文字列。 |
lineNumber | 数値 | フレームの元のソースファイル内の行番号。不明な場合は 0。 |
リソースマッピング
WebDriver REST サービスのリソースは、個々の URL パターンにマッピングされます。各リソースは、1 つ以上の HTTP リクエストメソッドに応答できます。リソースが GET リクエストに応答する場合、HEAD リクエストにも応答する必要があります。すべてのリソースは、Allow
ヘッダーフィールド(値は、リソースが応答するすべてのメソッドのリスト)を含む OPTIONS リクエストに応答する必要があります。
リソースが変数パスセグメント名を含む URL にマッピングされている場合、そのパスセグメントを使用してリクエストをさらにルーティングする必要があります。変数パスセグメントは、コロンプレフィックスによるリソースマッピングで示されます。たとえば、次のように考えてください。
/favorite/color/:person
この URL にマッピングされたリソースは、:person
パスセグメントの値を解析して、リクエストにどのように応答するかをさらに決定する必要があります。このリソースが /favorite/color/Jack
のリクエストを受信した場合、Jack の好きな色を返す必要があります。同様に、サーバーは /favorite/color/Jill
へのリクエストに対して Jill の好きな色を返す必要があります。
2 つのリソースは、それらのリソースのパターンの 1 つが変数パスセグメントを含み、もう 1 つが含まれていない場合にのみ、同じ URL パターンにマッピングできます。これらの場合、サーバーは常に、リクエストに最も一致するパスを持つリソースにリクエストをルーティングする必要があります。次の 2 つのリソースパスを考えてください。
/session/:sessionId/element/active
/session/:sessionId/element/:id
これらのマッピングが与えられた場合、サーバーは常に、最後のパスセグメントが active であるリクエストを最初のリソースにルーティングする必要があります。他のすべてのリクエストは、2 番目のリソースにルーティングする必要があります。
コマンドリファレンス
コマンド概要
コマンド詳細
/status
GET /status
- サーバーの現在のステータスをクエリします。サーバーが稼働中でコマンドを受け入れている場合は、一般的な "HTTP 200 OK" レスポンスで応答する必要があります。レスポンスボディは、サーバーの状態を記述する JSON オブジェクトである必要があります。すべてのサーバー実装は、サーバーの現在のプラットフォームとサーバーがいつビルドされたかを記述する 2 つの基本的なオブジェクトを返す必要があります。すべてのフィールドはオプションです。省略した場合、クライアントは値が不明であると見なす必要があります。さらに、サーバー実装には、ここにリストされていない追加のフィールドが含まれている場合があります。
キー 型 説明 build オブジェクト build.version 文字列 一般的なリリースラベル(例: "2.0rc3") build.revision 文字列 サーバーがビルドされたローカルソース管理クライアントのリビジョン build.time 文字列 サーバーがビルドされたときのタイムスタンプ。 os オブジェクト os.arch 文字列 現在のシステムアーキテクチャ。 os.name 文字列 サーバーが現在実行されているオペレーティングシステムの名前: "windows"、"linux" など。 os.version 文字列 オペレーティングシステムのバージョン。 - 戻り値
{object}
サーバーの一般的なステータスを記述するオブジェクト。
- サーバーの現在のステータスをクエリします。サーバーが稼働中でコマンドを受け入れている場合は、一般的な "HTTP 200 OK" レスポンスで応答する必要があります。レスポンスボディは、サーバーの状態を記述する JSON オブジェクトである必要があります。すべてのサーバー実装は、サーバーの現在のプラットフォームとサーバーがいつビルドされたかを記述する 2 つの基本的なオブジェクトを返す必要があります。すべてのフィールドはオプションです。省略した場合、クライアントは値が不明であると見なす必要があります。さらに、サーバー実装には、ここにリストされていない追加のフィールドが含まれている場合があります。
/session
POST /session
- 新しいセッションを作成します。サーバーは、desired capabilities および required capabilities に最も一致するセッションを作成しようとする必要があります。required capabilities は desired capabilities よりも優先度が高く、セッションを作成するには設定する必要があります。
- JSON パラメータ
desiredCapabilities
-{object}
セッションの desired capabilities を記述するオブジェクト。requiredCapabilities
-{object}
セッションの required capabilities を記述するオブジェクト (オプション)。
- 戻り値
{object}
セッションの capabilities を記述するオブジェクト。
- 起こりうるエラー
SessionNotCreatedException
- 必須 capability を設定できなかった場合。
/sessions
GET /sessions
- 現在アクティブなセッションのリストを返します。各セッションは、次のキーを持つ JSON オブジェクトのリストとして返されます。
キー 型 説明 id 文字列 セッション ID。 capabilities オブジェクト セッションの capabilities を記述するオブジェクト。 - 戻り値
{Array.<Object>}
現在アクティブなセッションのリスト。
- 現在アクティブなセッションのリストを返します。各セッションは、次のキーを持つ JSON オブジェクトのリストとして返されます。
/session/:sessionId
GET /session/:sessionId
- 指定されたセッションの capabilities を取得します。
- URL パラメータ
:sessionId
- コマンドをルーティングするセッションの ID。
- 戻り値
{object}
セッションの capabilities を記述するオブジェクト。
DELETE /session/:sessionId
- セッションを削除します。
- URL パラメータ
:sessionId
- コマンドをルーティングするセッションの ID。
/session/:sessionId/timeouts
POST /session/:sessionId/timeouts
- 特定のタイプの操作が中止されて |Timeout| エラーがクライアントに返されるまでの実行時間を設定します。
- URL パラメータ
:sessionId
- コマンドをルーティングするセッションの ID。
- JSON パラメータ
type
-{string}
タイムアウトを設定する操作のタイプ。有効な値は、スクリプトタイムアウトの場合は "script"、暗黙的待機タイムアウトを変更する場合は "implicit"、ページロードタイムアウトを設定する場合は "page load" です。ms
-{number}
時間制限付きコマンドの実行が許可される時間(ミリ秒単位)。
/session/:sessionId/timeouts/async_script
POST /session/:sessionId/timeouts/async_script
/session/:sessionId/execute_async
によって実行される非同期スクリプトが中止されて |Timeout| エラーがクライアントに返されるまでの実行時間をミリ秒単位で設定します。- URL パラメータ
:sessionId
- コマンドをルーティングするセッションの ID。
- JSON パラメータ
ms
-{number}
時間制限付きコマンドの実行が許可される時間(ミリ秒単位)。
/session/:sessionId/timeouts/implicit_wait
POST /session/:sessionId/timeouts/implicit_wait
- 要素を検索するときにドライバが待機する時間を設定します。要素を
1 つ検索する場合、ドライバはページをポーリングして、要素が見つかるか
タイムアウトが先に発生した場合、タイムアウトになります。複数の要素を検索する場合、ドライバーは
少なくとも1つの要素が見つかるか、タイムアウトになるまでページをポーリングし、その時点で
空のリストを返す必要があります。
このコマンドが送信されない場合、ドライバーはデフォルトで暗黙的な待機時間を0msにする必要があります。 - URL パラメータ
:sessionId
- コマンドをルーティングするセッションの ID。
- JSON パラメータ
ms
-{number}
待機する時間(ミリ秒単位)。この値の下限は0です。
- 要素を検索するときにドライバが待機する時間を設定します。要素を
/session/:sessionId/window_handle
GET /session/:sessionId/window_handle
- 現在のウィンドウハンドルを取得します。
- URL パラメータ
:sessionId
- コマンドをルーティングするセッションの ID。
- 戻り値
{string}
現在のウィンドウハンドル。
- 起こりうるエラー
NoSuchWindow
- 現在選択されているウィンドウが閉じられた場合。
/session/:sessionId/window_handles
GET /session/:sessionId/window_handles
- セッションで使用可能なすべてのウィンドウハンドルのリストを取得します。
- URL パラメータ
:sessionId
- コマンドをルーティングするセッションの ID。
- 戻り値
{Array.<string>}
ウィンドウハンドルの一覧。
/session/:sessionId/url
GET /session/:sessionId/url
- 現在のページの URL を取得します。
- URL パラメータ
:sessionId
- コマンドをルーティングするセッションの ID。
- 戻り値
{string}
現在のURL。
- 起こりうるエラー
NoSuchWindow
- 現在選択されているウィンドウが閉じられた場合。
POST /session/:sessionId/url
- 新しい URL に移動します。
- URL パラメータ
:sessionId
- コマンドをルーティングするセッションの ID。
- JSON パラメータ
url
-{string}
ナビゲート先のURL。
- 起こりうるエラー
NoSuchWindow
- 現在選択されているウィンドウが閉じられた場合。
/session/:sessionId/forward
POST /session/:sessionId/forward
- 可能であれば、ブラウザの履歴を forward に移動します。
- URL パラメータ
:sessionId
- コマンドをルーティングするセッションの ID。
- 起こりうるエラー
NoSuchWindow
- 現在選択されているウィンドウが閉じられた場合。
/session/:sessionId/back
POST /session/:sessionId/back
- 可能であれば、ブラウザの履歴を backwards に移動します。
- URL パラメータ
:sessionId
- コマンドをルーティングするセッションの ID。
- 起こりうるエラー
NoSuchWindow
- 現在選択されているウィンドウが閉じられた場合。
/session/:sessionId/refresh
POST /session/:sessionId/refresh
- 現在のページをリフレッシュします。
- URL パラメータ
:sessionId
- コマンドをルーティングするセッションの ID。
- 起こりうるエラー
NoSuchWindow
- 現在選択されているウィンドウが閉じられた場合。
/session/:sessionId/execute
POST /session/:sessionId/execute
- 現在選択されているフレームのコンテキストで実行するために、JavaScript のスニペットをページに挿入します。実行されるスクリプトは同期処理であるとみなされ、スクリプトの評価結果がクライアントに返されます。
script
引数は、関数本体の形式で実行するスクリプトを定義します。その関数から返された値がクライアントに返されます。関数は、提供されたargs
配列とともに呼び出され、値は指定された順序でarguments
オブジェクトを介してアクセスできます。
引数には、JSONプリミティブ、配列、またはJSONオブジェクトを使用できます。WebElement 参照を定義する JSON オブジェクトは、対応する DOM 要素に変換されます。同様に、スクリプト結果内の WebElement は、WebElement JSON オブジェクトとしてクライアントに返されます。 - URL パラメータ
:sessionId
- コマンドをルーティングするセッションの ID。
- JSON パラメータ
script
-{string}
実行するスクリプト。args
-{Array.<*>}
スクリプトの引数。
- 戻り値
{*}
スクリプトの実行結果。
- 起こりうるエラー
NoSuchWindow
- 現在選択されているウィンドウが閉じられた場合。StaleElementReference
- スクリプト引数の1つが、ページのDOMにアタッチされていない WebElement である場合。JavaScriptError
- スクリプトがエラーをスローした場合。
- 現在選択されているフレームのコンテキストで実行するために、JavaScript のスニペットをページに挿入します。実行されるスクリプトは同期処理であるとみなされ、スクリプトの評価結果がクライアントに返されます。
/session/:sessionId/execute_async
POST /session/:sessionId/execute_async
- 現在選択されているフレームのコンテキストで実行するために、JavaScript のスニペットをページに挿入します。実行されるスクリプトは非同期処理であるとみなされ、関数の最後の引数として常に提供されるコールバックを呼び出すことによって、完了したことを通知する必要があります。このコールバックへの値がクライアントに返されます。
非同期スクリプトコマンドは、ページロードをまたぐことはできません。スクリプト結果を待機中にunload
イベントが発生した場合、エラーがクライアントに返される必要があります。script
引数は、関数本体の形式で実行するスクリプトを定義します。関数は、提供されたargs
配列とともに呼び出され、値は指定された順序でarguments
オブジェクトを介してアクセスできます。最後の引数は常にコールバック関数となり、スクリプトが完了したことを通知するために呼び出す必要があります。
引数には、JSONプリミティブ、配列、またはJSONオブジェクトを使用できます。WebElement 参照を定義する JSON オブジェクトは、対応する DOM 要素に変換されます。同様に、スクリプト結果内の WebElement は、WebElement JSON オブジェクトとしてクライアントに返されます。 - URL パラメータ
:sessionId
- コマンドをルーティングするセッションの ID。
- JSON パラメータ
script
-{string}
実行するスクリプト。args
-{Array.<*>}
スクリプトの引数。
- 戻り値
{*}
スクリプトの実行結果。
- 起こりうるエラー
NoSuchWindow
- 現在選択されているウィンドウが閉じられた場合。StaleElementReference
- スクリプト引数の1つが、ページのDOMにアタッチされていない WebElement である場合。Timeout
- スクリプトのコールバックがタイムアウト前に呼び出されなかった場合。タイムアウトは、/session/:sessionId/timeout/async_script
コマンドによって制御されます。JavaScriptError
- スクリプトがエラーをスローした場合、またはスクリプトの完了を待機中にunload
イベントが発生した場合。
- 現在選択されているフレームのコンテキストで実行するために、JavaScript のスニペットをページに挿入します。実行されるスクリプトは非同期処理であるとみなされ、関数の最後の引数として常に提供されるコールバックを呼び出すことによって、完了したことを通知する必要があります。このコールバックへの値がクライアントに返されます。
/session/:sessionId/screenshot
GET /session/:sessionId/screenshot
- 現在のページのスクリーンショットを撮ります。
- URL パラメータ
:sessionId
- コマンドをルーティングするセッションの ID。
- 戻り値
{string}
スクリーンショット(base64エンコードされたPNG形式)。
- 起こりうるエラー
NoSuchWindow
- 現在選択されているウィンドウが閉じられた場合。
/session/:sessionId/ime/available_engines
GET /session/:sessionId/ime/available_engines
- マシン上で利用可能なすべてのエンジンをリスト表示します。エンジンを使用するには、このリストに存在する必要があります。
- URL パラメータ
:sessionId
- コマンドをルーティングするセッションの ID。
- 戻り値
{Array.<string>}
利用可能なエンジンの一覧。
- 起こりうるエラー
ImeNotAvailableException
- ホストがIMEをサポートしていない場合。
/session/:sessionId/ime/active_engine
GET /session/:sessionId/ime/active_engine
- アクティブなIMEエンジンの名前を取得します。名前の文字列はプラットフォームに依存します。
- URL パラメータ
:sessionId
- コマンドをルーティングするセッションの ID。
- 戻り値
{string}
アクティブなIMEエンジンの名前。
- 起こりうるエラー
ImeNotAvailableException
- ホストがIMEをサポートしていない場合。
/session/:sessionId/ime/activated
GET /session/:sessionId/ime/activated
- IME入力が現在アクティブであるかどうかを示します(利用可能かどうかではなく)。
- URL パラメータ
:sessionId
- コマンドをルーティングするセッションの ID。
- 戻り値
{boolean}
IME入力が利用可能で現在アクティブな場合はtrue、それ以外の場合はfalse。
- 起こりうるエラー
ImeNotAvailableException
- ホストがIMEをサポートしていない場合。
/session/:sessionId/ime/deactivate
POST /session/:sessionId/ime/deactivate
- 現在アクティブな IME エンジンを非アクティブ化します。
- URL パラメータ
:sessionId
- コマンドをルーティングするセッションの ID。
- 起こりうるエラー
ImeNotAvailableException
- ホストがIMEをサポートしていない場合。
/session/:sessionId/ime/activate
POST /session/:sessionId/ime/activate
- 利用可能なエンジン(getAvailableEnginesによって返されるリストに表示されるエンジン)をアクティブにします。この呼び出し後、エンジンは
IMEデーモンにロードされたエンジンのリストに追加され、sendKeysを使用して送信された入力は
アクティブなエンジンによって変換されます。
これは、IMEをアクティブ化するプラットフォームに依存しない方法であることに注意してください。
(プラットフォーム固有の方法はキーボードショートカットを使用することです。)engine
-{string}
アクティブ化するエンジンの名前。 - URL パラメータ
:sessionId
- コマンドをルーティングするセッションの ID。
- JSON パラメータ
ImeActivationFailedException
- エンジンが利用できない場合、またはその他の理由でアクティブ化に失敗した場合。
- 起こりうるエラー
- POST /session/:sessionId/frame
ImeNotAvailableException
- ホストがIMEをサポートしていない場合。
- 利用可能なエンジン(getAvailableEnginesによって返されるリストに表示されるエンジン)をアクティブにします。この呼び出し後、エンジンは
/session/:sessionId/frame
ページの別のフレームにフォーカスを切り替えます。フレームの
id
がnull
の場合、サーバーは- ページのデフォルトコンテンツに切り替える必要があります。
id
-{string|number|null|WebElement JSON Object}
フォーカスを切り替えるフレームの識別子。 - URL パラメータ
:sessionId
- コマンドをルーティングするセッションの ID。
- JSON パラメータ
NoSuchFrame
-id
で指定されたフレームが見つからない場合。
- 起こりうるエラー
NoSuchWindow
- 現在選択されているウィンドウが閉じられた場合。- POST /session/:sessionId/frame/parent
- ページのデフォルトコンテンツに切り替える必要があります。
/session/:sessionId/frame/parent
親コンテキストにフォーカスを切り替えます。現在のコンテキストがトップレベルのブラウジングコンテキストである場合、コンテキストは変更されません。
- POST /session/:sessionId/window
- URL パラメータ
:sessionId
- コマンドをルーティングするセッションの ID。
/session/:sessionId/window
別のウィンドウにフォーカスを切り替えます。フォーカスを切り替えるウィンドウは、サーバーによって割り当てられたウィンドウハンドル、または
name
属性の値によって指定できます。name
-{string}
フォーカスを切り替えるウィンドウ。NoSuchWindow
-name
で指定されたウィンドウが見つからない場合。- URL パラメータ
:sessionId
- コマンドをルーティングするセッションの ID。
- JSON パラメータ
- DELETE /session/:sessionId/window
- 起こりうるエラー
NoSuchWindow
- 現在選択されているウィンドウがすでに閉じられている場合。
POST /session/:sessionId/window/:windowHandle/size
- 現在のウィンドウを閉じます。
- URL パラメータ
:sessionId
- コマンドをルーティングするセッションの ID。
- 起こりうるエラー
- 指定されたウィンドウのサイズを変更します。:windowHandle URLパラメータが "current" の場合、現在アクティブなウィンドウのサイズが変更されます。
/session/:sessionId/window/:windowHandle/size
width
-{number}
新しいウィンドウの幅。height
-{number}
新しいウィンドウの高さ。- URL パラメータ
:sessionId
- コマンドをルーティングするセッションの ID。
- JSON パラメータ
- GET /session/:sessionId/window/:windowHandle/size
- 指定されたウィンドウのサイズを取得します。:windowHandle URLパラメータが "current" の場合、現在アクティブなウィンドウのサイズが返されます。
{width: number, height: number}
ウィンドウのサイズ。NoSuchWindow
- 指定されたウィンドウが見つからない場合。- URL パラメータ
:sessionId
- コマンドをルーティングするセッションの ID。
- 戻り値
- POST /session/:sessionId/window/:windowHandle/position
- 起こりうるエラー
- 指定されたウィンドウの位置を変更します。:windowHandle URLパラメータが "current" の場合、現在アクティブなウィンドウが移動されます。
/session/:sessionId/window/:windowHandle/position
x
-{number}
画面の左上隅を基準とした、ウィンドウを配置するX座標。y
-{number}
画面の左上隅を基準とした、ウィンドウを配置するY座標。- URL パラメータ
:sessionId
- コマンドをルーティングするセッションの ID。
- JSON パラメータ
- GET /session/:sessionId/window/:windowHandle/position
- 指定されたウィンドウの位置を取得します。:windowHandle URLパラメータが "current" の場合、現在アクティブなウィンドウの位置が返されます。
- 起こりうるエラー
- 指定されたウィンドウの位置を変更します。:windowHandle URLパラメータが "current" の場合、現在アクティブなウィンドウが移動されます。
{x: number, y: number}
画面の左上隅を基準とした、ウィンドウのX座標とY座標。- POST /session/:sessionId/window/:windowHandle/maximize
- URL パラメータ
:sessionId
- コマンドをルーティングするセッションの ID。
- 戻り値
- 指定されたウィンドウがまだ最大化されていない場合は最大化します。:windowHandle URLパラメータが "current" の場合、現在アクティブなウィンドウが最大化されます。
- 起こりうるエラー
- 指定されたウィンドウの位置を変更します。:windowHandle URLパラメータが "current" の場合、現在アクティブなウィンドウが移動されます。
/session/:sessionId/window/:windowHandle/maximize
GET /session/:sessionId/cookie
{Array.<object>}
クッキーの一覧。- URL パラメータ
:sessionId
- コマンドをルーティングするセッションの ID。
- 起こりうるエラー
- 指定されたウィンドウの位置を変更します。:windowHandle URLパラメータが "current" の場合、現在アクティブなウィンドウが移動されます。
/session/:sessionId/cookie
POST /session/:sessionId/cookie
- 現在のページに表示されるすべての Cookie を取得します。
- URL パラメータ
:sessionId
- コマンドをルーティングするセッションの ID。
- 戻り値
- クッキーを設定します。クッキーのパスが指定されていない場合は、
"/"
に設定する必要があります。同様に、ドメインが省略されている場合は、現在のページのドメインをデフォルトにする必要があります。
- 起こりうるエラー
NoSuchWindow
- 現在選択されているウィンドウが閉じられた場合。
cookie
-{object}
追加するクッキーを定義する JSONオブジェクト。- DELETE /session/:sessionId/cookie
- URL パラメータ
:sessionId
- コマンドをルーティングするセッションの ID。
- JSON パラメータ
InvalidCookieDomain
- クッキーのdomain
が現在のページから見えない場合。
UnableToSetCookie
- クッキーをサポートしていないページ(例:mime-type がtext/plain
のページ)にクッキーを設定しようとした場合。- 現在のページに表示されるすべての Cookie を削除します。
- URL パラメータ
:sessionId
- コマンドをルーティングするセッションの ID。
- 起こりうるエラー
- DELETE /session/:sessionId/cookie/:name
NoSuchWindow
- 現在選択されているウィンドウが閉じられた場合。- 指定された名前のクッキーを削除します。このコマンドは、現在のページから見えるそのようなクッキーが存在しない場合は、何もしないはずです。
/session/:sessionId/cookie/:name
:name
- 削除するクッキーの名前。- GET /session/:sessionId/source
{string}
現在のページソース。 - URL パラメータ
:sessionId
- コマンドをルーティングするセッションの ID。- GET /session/:sessionId/title
- 起こりうるエラー
NoSuchWindow
- 現在選択されているウィンドウが閉じられた場合。
- GET /session/:sessionId/source
/session/:sessionId/source
{string}
現在のページタイトル。- 現在のページソースを取得します。
- URL パラメータ
:sessionId
- コマンドをルーティングするセッションの ID。
- 戻り値
- POST /session/:sessionId/element
- 起こりうるエラー
NoSuchWindow
- 現在選択されているウィンドウが閉じられた場合。
/session/:sessionId/title
ドキュメントルートから開始して、ページ上の要素を検索します。見つかった要素は、WebElement JSONオブジェクトとして返されます。以下の表は、各サーバーがサポートする必要があるロケータ戦略の一覧です。各ロケータは、DOM内で最初に見つかった一致する要素を返す必要があります。
- 現在のページタイトルを取得します。
- URL パラメータ
:sessionId
- コマンドをルーティングするセッションの ID。
- 戻り値
- 戦略
- 起こりうるエラー
NoSuchWindow
- 現在選択されているウィンドウが閉じられた場合。
/session/:sessionId/element
class name
- クラス名に検索値を含む要素を返します。複合クラス名は許可されません。
css selector 説明 CSSセレクターに一致する要素を返します。 id ID属性が検索値に一致する要素を返します。 name id NAME属性が検索値に一致する要素を返します。 name link text 表示テキストが検索値に一致するアンカー要素を返します。 partial link text 表示テキストが検索値に部分的に一致するアンカー要素を返します。 tag name タグ名が検索値に一致する要素を返します。 xpath XPath式に一致する要素を返します。 using
-{string}
使用するロケータ戦略。 - URL パラメータ
:sessionId
- コマンドをルーティングするセッションの ID。
- JSON パラメータ
value
-{string}
検索対象。{ELEMENT:string}
見つかった要素の WebElement JSON オブジェクト。
- 戻り値
NoSuchElement
- 要素が見つからない場合。
- 起こりうるエラー
NoSuchWindow
- 現在選択されているウィンドウが閉じられた場合。XPathLookupError
- XPath を使用していて、入力式が無効な場合。- POST /session/:sessionId/elements
- クラス名に検索値を含む要素を返します。複合クラス名は許可されません。
/session/:sessionId/elements
ドキュメントルートから開始して、ページ上の複数の要素を検索します。見つかった要素は、WebElement JSON オブジェクトとして返されます。以下の表は、各サーバーがサポートする必要があるロケータ戦略の一覧です。要素は、DOM内で見つかった順序で返す必要があります。
- クラス名に検索値を含むすべての要素を返します。複合クラス名は許可されません。
css selector 説明 CSSセレクターに一致する要素を返します。 CSSセレクターに一致するすべての要素を返します。 ID属性が検索値に一致する要素を返します。 ID属性が検索値に一致するすべての要素を返します。 id NAME属性が検索値に一致するすべての要素を返します。 name 表示テキストが検索値に一致するすべてのアンカー要素を返します。 表示テキストが検索値に一致するアンカー要素を返します。 表示テキストが検索値に部分的に一致するすべてのアンカー要素を返します。 表示テキストが検索値に部分的に一致するアンカー要素を返します。 タグ名が検索値に一致するすべての要素を返します。 タグ名が検索値に一致する要素を返します。 XPath式に一致するすべての要素を返します。 XPath式に一致する要素を返します。 {Array.<{ELEMENT:string}>}
見つかった要素の WebElement JSON オブジェクトの一覧。 - URL パラメータ
:sessionId
- コマンドをルーティングするセッションの ID。
- JSON パラメータ
value
-{string}
検索対象。{ELEMENT:string}
見つかった要素の WebElement JSON オブジェクト。
- 戻り値
- POST /session/:sessionId/element/active
- 起こりうるエラー
NoSuchWindow
- 現在選択されているウィンドウが閉じられた場合。- POST /session/:sessionId/elements
- クラス名に検索値を含むすべての要素を返します。複合クラス名は許可されません。
/session/:sessionId/element/active
現在フォーカスがあるページ上の要素を取得します。要素は、WebElement JSONオブジェクトとして返されます。
{ELEMENT:string}
アクティブな要素の WebElement JSON オブジェクト。- URL パラメータ
:sessionId
- コマンドをルーティングするセッションの ID。
- 戻り値
- GET /session/:sessionId/element/:id
- 起こりうるエラー
NoSuchWindow
- 現在選択されているウィンドウが閉じられた場合。
/session/:sessionId/element/:id
注: このコマンドは将来の使用のために予約されています。その戻り値の型は現在未定義です。
- 識別された要素を記述します。
:id
- コマンドのルーティング先となる要素のID。 - URL パラメータ
:sessionId
- コマンドをルーティングするセッションの ID。StaleElementReference
-:id
で参照される要素がページの DOM にアタッチされなくなった場合。
- 起こりうるエラー
NoSuchWindow
- 現在選択されているウィンドウが閉じられた場合。- POST /session/:sessionId/element/:id/element
- 識別された要素を記述します。
/session/:sessionId/element/:id/element
識別された要素から開始して、ページ上の要素を検索します。見つかった要素は、WebElement JSONオブジェクトとして返されます。以下の表は、各サーバーがサポートする必要があるロケータ戦略の一覧です。各ロケータは、DOM内で最初に見つかった一致する要素を返す必要があります。
- XPath式に一致する要素を返します。提供された XPath 式は、サーバーに「そのまま」適用する必要があります。式が要素ルートに対する相対式ではない場合、サーバーはそれを変更しないでください。したがって、XPath クエリは、ルート要素のサブツリーに含まれていない要素を返す可能性があります。
css selector 説明 CSSセレクターに一致する要素を返します。 id ID属性が検索値に一致する要素を返します。 name id NAME属性が検索値に一致する要素を返します。 name link text 表示テキストが検索値に一致するアンカー要素を返します。 partial link text 表示テキストが検索値に部分的に一致するアンカー要素を返します。 tag name タグ名が検索値に一致する要素を返します。 xpath XPath式に一致する要素を返します。 POST /session/:sessionId/element/:id/elements - URL パラメータ
:sessionId
- コマンドをルーティングするセッションの ID。StaleElementReference
-:id
で参照される要素がページの DOM にアタッチされなくなった場合。
- JSON パラメータ
value
-{string}
検索対象。{ELEMENT:string}
見つかった要素の WebElement JSON オブジェクト。
- 戻り値
NoSuchElement
- 要素が見つからない場合。
- 起こりうるエラー
NoSuchWindow
- 現在選択されているウィンドウが閉じられた場合。- POST /session/:sessionId/element/:id/element
XPathLookupError
- XPath を使用していて、入力式が無効な場合。- POST /session/:sessionId/elements
- XPath式に一致する要素を返します。提供された XPath 式は、サーバーに「そのまま」適用する必要があります。式が要素ルートに対する相対式ではない場合、サーバーはそれを変更しないでください。したがって、XPath クエリは、ルート要素のサブツリーに含まれていない要素を返す可能性があります。
/session/:sessionId/element/:id/elements
識別された要素から開始して、ページ上の複数の要素を検索します。見つかった要素は、WebElement JSON オブジェクトとして返されます。以下の表は、各サーバーがサポートする必要があるロケータ戦略の一覧です。要素は、DOM内で見つかった順序で返す必要があります。
- XPath式に一致するすべての要素を返します。提供された XPath 式は、サーバーに「そのまま」適用する必要があります。式が要素ルートに対する相対式ではない場合、サーバーはそれを変更しないでください。したがって、XPath クエリは、ルート要素のサブツリーに含まれていない要素を返す可能性があります。
css selector 説明 CSSセレクターに一致する要素を返します。 CSSセレクターに一致するすべての要素を返します。 ID属性が検索値に一致する要素を返します。 ID属性が検索値に一致するすべての要素を返します。 id NAME属性が検索値に一致するすべての要素を返します。 name 表示テキストが検索値に一致するすべてのアンカー要素を返します。 表示テキストが検索値に一致するアンカー要素を返します。 表示テキストが検索値に部分的に一致するすべてのアンカー要素を返します。 表示テキストが検索値に部分的に一致するアンカー要素を返します。 タグ名が検索値に一致するすべての要素を返します。 タグ名が検索値に一致する要素を返します。 XPath式に一致するすべての要素を返します。 XPath式に一致する要素を返します。 POST /session/:sessionId/element/:id/click - URL パラメータ
:sessionId
- コマンドをルーティングするセッションの ID。StaleElementReference
-:id
で参照される要素がページの DOM にアタッチされなくなった場合。
- JSON パラメータ
value
-{string}
検索対象。{ELEMENT:string}
見つかった要素の WebElement JSON オブジェクト。
- 戻り値
- POST /session/:sessionId/element/active
- 起こりうるエラー
NoSuchWindow
- 現在選択されているウィンドウが閉じられた場合。- POST /session/:sessionId/element/:id/element
- POST /session/:sessionId/elements
- XPath式に一致するすべての要素を返します。提供された XPath 式は、サーバーに「そのまま」適用する必要があります。式が要素ルートに対する相対式ではない場合、サーバーはそれを変更しないでください。したがって、XPath クエリは、ルート要素のサブツリーに含まれていない要素を返す可能性があります。
/session/:sessionId/element/:id/click
ElementNotVisible
- 参照された要素がページに表示されていない場合(CSSによって非表示になっている、幅が0、または高さが0のいずれか)。- 要素をクリックします。
- URL パラメータ
:sessionId
- コマンドをルーティングするセッションの ID。StaleElementReference
-:id
で参照される要素がページの DOM にアタッチされなくなった場合。
- 起こりうるエラー
NoSuchWindow
- 現在選択されているウィンドウが閉じられた場合。- POST /session/:sessionId/element/:id/element
- POST /session/:sessionId/element/:id/submit
/session/:sessionId/element/:id/submit
FORM
要素を送信します。submit コマンドは、FORM
要素の子孫である任意の要素にも適用できます。- GET /session/:sessionId/element/:id/text
- URL パラメータ
:sessionId
- コマンドをルーティングするセッションの ID。StaleElementReference
-:id
で参照される要素がページの DOM にアタッチされなくなった場合。
- 起こりうるエラー
NoSuchWindow
- 現在選択されているウィンドウが閉じられた場合。- POST /session/:sessionId/element/:id/element
/session/:sessionId/element/:id/text
POST /session/:sessionId/element/:id/value
- 要素の表示テキストを返します。
- URL パラメータ
:sessionId
- コマンドをルーティングするセッションの ID。StaleElementReference
-:id
で参照される要素がページの DOM にアタッチされなくなった場合。
- 起こりうるエラー
NoSuchWindow
- 現在選択されているウィンドウが閉じられた場合。- POST /session/:sessionId/element/:id/element
/session/:sessionId/element/:id/value
任意のUTF-8文字を指定できます。ただし、サーバーがネイティブキーイベントをサポートしていない場合は、標準のUSキーボードレイアウトのキーストロークをシミュレートする必要があります。Unicode Private Use Area コードポイント、0xE000-0xF8FFは、押下可能な非テキストキーを表すために使用されます(以下の表を参照)。
- キーストロークのシーケンスを要素に送信します。
NULLキー コード U+E000 Cancel U+E001 U+E002 ヘルプ Back space U+E003 Tab U+E004 Clear U+E005 Return1 U+E006 Enter1 U+E007 Shift U+E008 Control U+E009 Alt U+E00A Pause U+E00B Escape U+E00C Space キー コード U+E00D Pageup U+E00E Pagedown U+E00F End U+E010 Home U+E011 Left arrow U+E012 Up arrow U+E013 Right arrow U+E014 Down arrow U+E015 Insert U+E016 Delete U+E017 Semicolon U+E018 Equals U+E019 Numpad 0 キー コード U+E01A Numpad 1 U+E01B Numpad 2 U+E01C Numpad 3 U+E01D Numpad 4 U+E01E Numpad 5 U+E01F Numpad 6 U+E020 Numpad 7 U+E021 Numpad 8 U+E022 Numpad 9 U+E023 Multiply キー コード U+E024 Add U+E025 Separator U+E026 Subtract U+E027 Decimal U+E028 Divide U+E029 F1 キー コード U+E031 F2 U+E032 F3 U+E033 F4 U+E034 F5 U+E035 F6 U+E036 F7 U+E037 F8 U+E038 F9 U+E039 F10 U+E03A F11 U+E03B F12 U+E03C Command/Meta U+E03D 1 ReturnキーはEnterキーとは異なります。 サーバーは、キースシーケンスを次のように処理する必要があります。 修飾キーを必要とせずにキーボードに表示される各キーは、keydown に続いて keyup として送信されます。
- サーバーがネイティブイベントをサポートしておらず、JavaScript でキーストロークをシミュレートする必要がある場合は、keydown、keypress、keyup イベントをこの順序で生成する必要があります。keypress イベントは、対応するキーが印刷可能な文字の場合にのみ発生させる必要があります。
- キーに修飾キーが必要な場合(例:標準的なUSキーボードの "!")、シーケンスは次のようになります:modifier down、key down、key up、modifier up。ここで、key は理想的な非修飾キー値です(前の例では "1")。
- 修飾キー(Ctrl、Shift、Alt、および Command/Meta)は「sticky」であると見なされます。各修飾キーは、シーケンス内で修飾キーが再び検出されるか、
NULL
(U+E000) キーが検出されるまで、押し下げられたまま(例:keydown イベントのみ)にする必要があります。 - 各キースシーケンスは、暗黙的な
NULL
キーで終了します。その後、シーケンスの最後に、押し下げられたすべての修飾キーを解放する必要があります(対応する keyup イベントを使用)。 value
-{Array.<string>}
入力するキーのシーケンス。配列を指定する必要があります。サーバーは、入力される単一の文字列に配列項目をフラット化する必要があります。
- サーバーがネイティブイベントをサポートしておらず、JavaScript でキーストロークをシミュレートする必要がある場合は、keydown、keypress、keyup イベントをこの順序で生成する必要があります。keypress イベントは、対応するキーが印刷可能な文字の場合にのみ発生させる必要があります。
- URL パラメータ
:sessionId
- コマンドをルーティングするセッションの ID。StaleElementReference
-:id
で参照される要素がページの DOM にアタッチされなくなった場合。
- JSON パラメータ
- POST /session/:sessionId/keys
- 起こりうるエラー
NoSuchWindow
- 現在選択されているウィンドウが閉じられた場合。- POST /session/:sessionId/element/:id/element
- POST /session/:sessionId/element/:id/submit
- キーストロークのシーケンスを要素に送信します。
/session/:sessionId/keys
アクティブな要素にキーストロークのシーケンスを送信します。このコマンドは、暗黙的な終了を除いて、あらゆる点で send keys コマンドに似ています。修飾キーは、呼び出しの最後に解放されません。むしろ、修飾キーの状態は呼び出し間で保持されるため、修飾キーが押された状態でマウス操作を実行できます。
value
-{Array.<string>}
送信するキーシーケンス。シーケンスは、send keys コマンドで定義されています。- URL パラメータ
:sessionId
- コマンドをルーティングするセッションの ID。
- JSON パラメータ
- GET /session/:sessionId/element/:id/name
- 起こりうるエラー
NoSuchWindow
- 現在選択されているウィンドウが閉じられた場合。
/session/:sessionId/element/:id/name
要素のタグ名をクエリします。
{string}
要素のタグ名(小文字の文字列)。- URL パラメータ
:sessionId
- コマンドをルーティングするセッションの ID。StaleElementReference
-:id
で参照される要素がページの DOM にアタッチされなくなった場合。
- 戻り値
- POST /session/:sessionId/element/:id/clear
- 起こりうるエラー
NoSuchWindow
- 現在選択されているウィンドウが閉じられた場合。- POST /session/:sessionId/element/:id/element
/session/:sessionId/element/:id/clear
TEXTAREA
またはtext INPUT
要素の値をクリアします。InvalidElementState
- 参照された要素が無効になっている場合。- URL パラメータ
:sessionId
- コマンドをルーティングするセッションの ID。StaleElementReference
-:id
で参照される要素がページの DOM にアタッチされなくなった場合。
- 起こりうるエラー
NoSuchWindow
- 現在選択されているウィンドウが閉じられた場合。- POST /session/:sessionId/element/:id/element
- POST /session/:sessionId/element/:id/submit
- GET /session/:sessionId/element/:id/selected
/session/:sessionId/element/:id/selected
{boolean}
要素が選択されているかどうか。OPTION
要素、またはタイプcheckbox
またはradiobutton
のINPUT
要素が現在選択されているかどうかを判断します。- URL パラメータ
:sessionId
- コマンドをルーティングするセッションの ID。StaleElementReference
-:id
で参照される要素がページの DOM にアタッチされなくなった場合。
- 戻り値
- GET /session/:sessionId/element/:id/enabled
- 起こりうるエラー
NoSuchWindow
- 現在選択されているウィンドウが閉じられた場合。- POST /session/:sessionId/element/:id/element
/session/:sessionId/element/:id/enabled
{boolean}
要素が有効になっているかどうか。- 要素が現在有効になっているかどうかを判断します。
- URL パラメータ
:sessionId
- コマンドをルーティングするセッションの ID。StaleElementReference
-:id
で参照される要素がページの DOM にアタッチされなくなった場合。
- 戻り値
- GET /session/:sessionId/element/:id/attribute/:name
- 起こりうるエラー
NoSuchWindow
- 現在選択されているウィンドウが閉じられた場合。- POST /session/:sessionId/element/:id/element
/session/:sessionId/element/:id/attribute/:name
要素の属性の値を取得します。
{string|null}
属性の値。要素に設定されていない場合は null。- URL パラメータ
:sessionId
- コマンドをルーティングするセッションの ID。StaleElementReference
-:id
で参照される要素がページの DOM にアタッチされなくなった場合。
- 戻り値
- GET /session/:sessionId/element/:id/equals/:other
- 起こりうるエラー
NoSuchWindow
- 現在選択されているウィンドウが閉じられた場合。- POST /session/:sessionId/element/:id/element
/session/:sessionId/element/:id/equals/:other
:other
- 比較対象の要素のID。- 2 つの要素 ID が同じ DOM 要素を参照しているかどうかをテストします。
- URL パラメータ
:sessionId
- コマンドをルーティングするセッションの ID。StaleElementReference
-:id
で参照される要素がページの DOM にアタッチされなくなった場合。{boolean}
2つのIDが同じ要素を参照しているかどうか。
- 戻り値
StaleElementReference
-:id
または:other
で参照される要素のいずれかが、ページの DOM にアタッチされなくなった場合。
- 起こりうるエラー
NoSuchWindow
- 現在選択されているウィンドウが閉じられた場合。- GET /session/:sessionId/element/:id/displayed
/session/:sessionId/element/:id/displayed
{boolean}
要素が表示されているかどうか。- 要素が現在表示されているかどうかを判断します。
- URL パラメータ
:sessionId
- コマンドをルーティングするセッションの ID。StaleElementReference
-:id
で参照される要素がページの DOM にアタッチされなくなった場合。
- 戻り値
- GET /session/:sessionId/element/:id/location
- 起こりうるエラー
NoSuchWindow
- 現在選択されているウィンドウが閉じられた場合。- POST /session/:sessionId/element/:id/element
/session/:sessionId/element/:id/location
ページ上の要素の位置を特定します。点
(0, 0)
は、ページの左上隅を指します。要素の座標は、x
プロパティとy
プロパティを持つ JSON オブジェクトとして返されます。{x:number, y:number}
ページ上の要素のX座標とY座標。- URL パラメータ
:sessionId
- コマンドをルーティングするセッションの ID。StaleElementReference
-:id
で参照される要素がページの DOM にアタッチされなくなった場合。
- 戻り値
- GET /session/:sessionId/element/:id/location_in_view
- 起こりうるエラー
NoSuchWindow
- 現在選択されているウィンドウが閉じられた場合。- POST /session/:sessionId/element/:id/element
/session/:sessionId/element/:id/location_in_view
要素がビューにスクロールされた後の、画面上の要素の位置を特定します。
- 注: これは内部コマンドと見なされ、ネイティブイベントを正しく生成するための要素の
位置を特定するためにのみ使用する必要があります。{x:number, y:number}
要素のX座標とY座標。 - URL パラメータ
:sessionId
- コマンドをルーティングするセッションの ID。StaleElementReference
-:id
で参照される要素がページの DOM にアタッチされなくなった場合。
- 戻り値
- GET /session/:sessionId/element/:id/size
- 起こりうるエラー
NoSuchWindow
- 現在選択されているウィンドウが閉じられた場合。- POST /session/:sessionId/element/:id/element
- 注: これは内部コマンドと見なされ、ネイティブイベントを正しく生成するための要素の
/session/:sessionId/element/:id/size
要素のサイズをピクセル単位で特定します。サイズは、
width
プロパティとheight
プロパティを持つ JSON オブジェクトとして返されます。{width:number, height:number}
要素の幅と高さ(ピクセル単位)。- URL パラメータ
:sessionId
- コマンドをルーティングするセッションの ID。StaleElementReference
-:id
で参照される要素がページの DOM にアタッチされなくなった場合。
- 戻り値
- GET /session/:sessionId/element/:id/css/:propertyName
- 起こりうるエラー
NoSuchWindow
- 現在選択されているウィンドウが閉じられた場合。- POST /session/:sessionId/element/:id/element
/session/:sessionId/element/:id/css/:propertyName
要素の計算されたCSSプロパティの値をクエリします。クエリする CSS プロパティは、JavaScript プロパティ名ではなく、CSS プロパティ名(例:
backgroundColor
ではなくbackground-color
)を使用して指定する必要があります。{string}
指定された CSS プロパティの値。- URL パラメータ
:sessionId
- コマンドをルーティングするセッションの ID。StaleElementReference
-:id
で参照される要素がページの DOM にアタッチされなくなった場合。
- 戻り値
- GET /session/:sessionId/orientation
- 起こりうるエラー
NoSuchWindow
- 現在選択されているウィンドウが閉じられた場合。- POST /session/:sessionId/element/:id/element
/session/:sessionId/orientation
現在のブラウザの向きを取得します。サーバーは、ScreenOrientation で定義されている有効な向きの値を返す必要があります:
{LANDSCAPE|PORTRAIT}
。{string}
ScreenOrientation で定義されている値に対応する現在のブラウザの向き:{LANDSCAPE|PORTRAIT}
。- URL パラメータ
:sessionId
- コマンドをルーティングするセッションの ID。
- 戻り値
- POST /session/:sessionId/orientation
- 起こりうるエラー
NoSuchWindow
- 現在選択されているウィンドウが閉じられた場合。
ブラウザの向きを設定します。向きは、ScreenOrientation で定義されているように指定する必要があります:
{LANDSCAPE|PORTRAIT}
。orientation
-{string}
ScreenOrientation で定義されている新しいブラウザの向き:{LANDSCAPE|PORTRAIT}
。- URL パラメータ
:sessionId
- コマンドをルーティングするセッションの ID。
- JSON パラメータ
- GET /session/:sessionId/alert_text
- 起こりうるエラー
NoSuchWindow
- 現在選択されているウィンドウが閉じられた場合。
/session/:sessionId/alert_text
{string}
現在表示されているアラートのテキスト。- 現在表示されている JavaScript
alert()
、confirm()
、またはprompt()
ダイアログのテキストを取得します。 - URL パラメータ
:sessionId
- コマンドをルーティングするセッションの ID。
- 戻り値
NoAlertPresent
- アラートが表示されていない場合。
- 起こりうるエラー
- POST /session/:sessionId/alert_text
- 現在表示されている JavaScript
text
-{string}
prompt()
ダイアログに送信するキーストローク。- キーストロークを JavaScript
prompt()
ダイアログに送信します。 - URL パラメータ
:sessionId
- コマンドをルーティングするセッションの ID。
- JSON パラメータ
- POST /session/:sessionId/accept_alert
- 起こりうるエラー
- POST /session/:sessionId/alert_text
- キーストロークを JavaScript
/session/:sessionId/accept_alert
現在表示されているアラートダイアログを受け入れます。通常、これはダイアログの「OK」ボタンをクリックすることと同じです。
- POST /session/:sessionId/dismiss_alert
- URL パラメータ
:sessionId
- コマンドをルーティングするセッションの ID。
- 起こりうるエラー
- POST /session/:sessionId/alert_text
/session/:sessionId/dismiss_alert
現在表示されているアラートダイアログを閉じます。
confirm()
およびprompt()
ダイアログの場合、これは「キャンセル」ボタンをクリックすることと同じです。alert()
ダイアログの場合、これは「OK」ボタンをクリックすることと同じです。- POST /session/:sessionId/moveto
- URL パラメータ
:sessionId
- コマンドをルーティングするセッションの ID。
- 起こりうるエラー
- POST /session/:sessionId/alert_text
/session/:sessionId/moveto
指定された要素のオフセットでマウスを移動します。要素が指定されていない場合、移動は現在のマウスカーソルを基準とします。要素が提供されているがオフセットがない場合、マウスは要素の中央に移動します。要素が表示されていない場合は、ビューにスクロールされます。
element
-{string}
移動先の要素に割り当てられた不透明なID(WebElement JSONオブジェクトで説明されているとおり)。指定されていない場合、または null の場合、オフセットはマウスの現在の位置を基準とします。- URL パラメータ
:sessionId
- コマンドをルーティングするセッションの ID。
- JSON パラメータ
xoffset
-{number}
要素の左上隅を基準とした、移動先のXオフセット。指定されていない場合、マウスは要素の中央に移動します。yoffset
-{number}
要素の左上隅を基準とした、移動先のYオフセット。指定されていない場合、マウスは要素の中央に移動します。- POST /session/:sessionId/click
/session/:sessionId/click
任意のマウスボタンをクリックします(最後の moveto コマンドで設定された座標で)。buttondown を呼び出した後、button up を呼び出す前(または順序が異なるインタラクションシーケンス)にこのコマンドを呼び出すと、未定義の動作になることに注意してください。
button
-{number}
ボタンの種類、enum:{LEFT = 0, MIDDLE = 1 , RIGHT = 2}
。指定されていない場合は、デフォルトで左マウスボタンになります。- URL パラメータ
:sessionId
- コマンドをルーティングするセッションの ID。
- JSON パラメータ
- POST /session/:sessionId/buttondown
/session/:sessionId/buttondown
左マウスボタンをクリックして押し続けます(最後の moveto コマンドで設定された座標で)。次に続くマウス関連のコマンドは buttonup である必要があることに注意してください。他のマウスコマンド(click や buttondown の別の呼び出しなど)は、未定義の動作になります。
- POST /session/:sessionId/buttonup
- URL パラメータ
:sessionId
- コマンドをルーティングするセッションの ID。
- JSON パラメータ
- POST /session/:sessionId/buttondown
/session/:sessionId/buttonup
以前に押されていたマウスボタンを解放します(マウスが現在ある場所で)。buttondown コマンドが発行されるたびに1回呼び出す必要があります。順序が異なるコマンドの影響については、click および buttondown の注記を参照してください。
- POST /session/:sessionId/doubleclick
- URL パラメータ
:sessionId
- コマンドをルーティングするセッションの ID。
- JSON パラメータ
- POST /session/:sessionId/buttondown
/session/:sessionId/doubleclick
POST /session/:sessionId/touch/click
- 現在のマウス座標(moveto で設定)でダブルクリックします。
- URL パラメータ
:sessionId
- コマンドをルーティングするセッションの ID。
/session/:sessionId/touch/click
element
-{string}
シングルタップする要素のID。- タッチ対応デバイスでシングルタップします。
- URL パラメータ
:sessionId
- コマンドをルーティングするセッションの ID。
- JSON パラメータ
- POST /session/:sessionId/touch/down
/session/:sessionId/touch/down
x
-{number}
画面上のX座標。- 画面上で指を下にします。
- URL パラメータ
:sessionId
- コマンドをルーティングするセッションの ID。
- JSON パラメータ
y
-{number}
画面上のY座標。- POST /session/:sessionId/touch/up
/session/:sessionId/touch/up
POST session/:sessionId/touch/move
- 画面上で指を上げます。
- URL パラメータ
:sessionId
- コマンドをルーティングするセッションの ID。
- JSON パラメータ
y
-{number}
画面上のY座標。- POST /session/:sessionId/touch/up
session/:sessionId/touch/move
POST session/:sessionId/touch/scroll
- 画面上で指を動かします。
- URL パラメータ
:sessionId
- コマンドをルーティングするセッションの ID。
- JSON パラメータ
y
-{number}
画面上のY座標。- POST /session/:sessionId/touch/up
session/:sessionId/touch/scroll
指ベースのモーションイベントを使用してタッチスクリーンをスクロールします。特定の画面位置でスクロールを開始するには、このコマンドを使用します。
element
-{string}
スクロールが開始される要素のID。- URL パラメータ
:sessionId
- コマンドをルーティングするセッションの ID。
- JSON パラメータ
xoffset
-{number}
スクロールするピクセル単位のxオフセット。yoffset
-{number}
スクロールするピクセル単位のyオフセット。- 指ベースのモーションイベントを使用してタッチスクリーンをスクロールします。画面上のスクロール開始位置を気にしない場合は、このコマンドを使用します。
session/:sessionId/touch/scroll
指ベースのモーションイベントを使用してタッチスクリーンをスクロールします。特定の画面位置でスクロールを開始するには、このコマンドを使用します。
xoffset
-{number}
スクロールするピクセル単位のxオフセット。- URL パラメータ
:sessionId
- コマンドをルーティングするセッションの ID。
- JSON パラメータ
yoffset
-{number}
スクロールするピクセル単位のyオフセット。- POST session/:sessionId/touch/doubleclick
session/:sessionId/touch/doubleclick
element
-{string}
ダブルタップする要素のID。- 指のモーションイベントを使用して、タッチスクリーン上でダブルタップします。
- URL パラメータ
:sessionId
- コマンドをルーティングするセッションの ID。
- JSON パラメータ
- POST session/:sessionId/touch/longclick
session/:sessionId/touch/longclick
element
-{string}
長押しする要素のID。- 指のモーションイベントを使用して、タッチスクリーン上で長押しします。
- URL パラメータ
:sessionId
- コマンドをルーティングするセッションの ID。
- JSON パラメータ
- POST session/:sessionId/touch/flick
session/:sessionId/touch/flick
指の動きイベントを使用して、タッチスクリーン上でフリックします。この flick コマンドは、特定の画面位置から開始されます。
element
-{string}
フリックが開始される要素のID。- URL パラメータ
:sessionId
- コマンドをルーティングするセッションの ID。
- JSON パラメータ
xoffset
-{number}
フリックするピクセル単位のxオフセット。yoffset
-{number}
フリックするピクセル単位のyオフセット。speed
-{number}
ピクセル/秒単位の速度。- 指の動きイベントを使用して、タッチスクリーン上でフリックします。画面上のフリック開始位置を気にしない場合は、この flick コマンドを使用します。
session/:sessionId/touch/flick
指の動きイベントを使用して、タッチスクリーン上でフリックします。この flick コマンドは、特定の画面位置から開始されます。
xspeed
-{number}
ピクセル/秒単位のx速度。- URL パラメータ
:sessionId
- コマンドをルーティングするセッションの ID。
- JSON パラメータ
yspeed
-{number}
ピクセル/秒単位のy速度。- GET /session/:sessionId/location
/session/:sessionId/location
{latitude: number, longitude: number, altitude: number}
現在の地理的位置。- 現在の地理的位置を取得します。
- URL パラメータ
:sessionId
- コマンドをルーティングするセッションの ID。
- 戻り値
- POST /session/:sessionId/location
location
-{latitude: number, longitude: number, altitude: number}
新しい位置。- 現在の地理的位置を設定します。
- URL パラメータ
:sessionId
- コマンドをルーティングするセッションの ID。
- JSON パラメータ
- GET /session/:sessionId/local_storage
/session/:sessionId/local_storage
{Array.<string>}
キーの一覧。- ストレージのすべてのキーを取得します。
- URL パラメータ
:sessionId
- コマンドをルーティングするセッションの ID。
- 戻り値
- POST /session/:sessionId/local_storage
- 起こりうるエラー
NoSuchWindow
- 現在選択されているウィンドウが閉じられた場合。
key
-{string}
設定するキー。- 指定されたキーのストレージアイテムを設定します。
- URL パラメータ
:sessionId
- コマンドをルーティングするセッションの ID。
- JSON パラメータ
value
-{string}
設定する値。- DELETE /session/:sessionId/local_storage
- 起こりうるエラー
NoSuchWindow
- 現在選択されているウィンドウが閉じられた場合。
GET /session/:sessionId/local_storage/key/:key
- ストレージをクリアします。
- URL パラメータ
:sessionId
- コマンドをルーティングするセッションの ID。
- 起こりうるエラー
NoSuchWindow
- 現在選択されているウィンドウが閉じられた場合。
/session/:sessionId/local_storage/key/:key
:key
- 取得するキー。- 指定されたキーのストレージアイテムを取得します。
- URL パラメータ
:sessionId
- コマンドをルーティングするセッションの ID。- DELETE /session/:sessionId/local_storage/key/:key
- 起こりうるエラー
NoSuchWindow
- 現在選択されているウィンドウが閉じられた場合。
:key
- 削除するキー。- 指定されたキーのストレージアイテムを削除します。
- URL パラメータ
:sessionId
- コマンドをルーティングするセッションの ID。- GET /session/:sessionId/local_storage/size
- 起こりうるエラー
NoSuchWindow
- 現在選択されているウィンドウが閉じられた場合。
/session/:sessionId/local_storage/size
{number}
ストレージ内のアイテム数。- ストレージ内のアイテムの数を取得します。
- URL パラメータ
:sessionId
- コマンドをルーティングするセッションの ID。
- 戻り値
- GET /session/:sessionId/session_storage
- 起こりうるエラー
NoSuchWindow
- 現在選択されているウィンドウが閉じられた場合。
/session/:sessionId/session_storage
POST /session/:sessionId/session_storage
- ストレージのすべてのキーを取得します。
- URL パラメータ
:sessionId
- コマンドをルーティングするセッションの ID。
- 戻り値
- POST /session/:sessionId/local_storage
- 起こりうるエラー
NoSuchWindow
- 現在選択されているウィンドウが閉じられた場合。
DELETE /session/:sessionId/session_storage
- 指定されたキーのストレージアイテムを設定します。
- URL パラメータ
:sessionId
- コマンドをルーティングするセッションの ID。
- JSON パラメータ
value
-{string}
設定する値。- DELETE /session/:sessionId/local_storage
- 起こりうるエラー
NoSuchWindow
- 現在選択されているウィンドウが閉じられた場合。
GET /session/:sessionId/session_storage/key/:key
- ストレージをクリアします。
- URL パラメータ
:sessionId
- コマンドをルーティングするセッションの ID。
- 起こりうるエラー
NoSuchWindow
- 現在選択されているウィンドウが閉じられた場合。
/session/:sessionId/session_storage/key/:key
DELETE /session/:sessionId/session_storage/key/:key
- 指定されたキーのストレージアイテムを取得します。
- URL パラメータ
:sessionId
- コマンドをルーティングするセッションの ID。- DELETE /session/:sessionId/local_storage/key/:key
- 起こりうるエラー
NoSuchWindow
- 現在選択されているウィンドウが閉じられた場合。
GET /session/:sessionId/session_storage/size
- 指定されたキーのストレージアイテムを削除します。
- URL パラメータ
:sessionId
- コマンドをルーティングするセッションの ID。- GET /session/:sessionId/local_storage/size
- 起こりうるエラー
NoSuchWindow
- 現在選択されているウィンドウが閉じられた場合。
/session/:sessionId/session_storage/size
POST /session/:sessionId/log
- ストレージ内のアイテムの数を取得します。
- URL パラメータ
:sessionId
- コマンドをルーティングするセッションの ID。
- 戻り値
- GET /session/:sessionId/session_storage
- 起こりうるエラー
NoSuchWindow
- 現在選択されているウィンドウが閉じられた場合。
/session/:sessionId/log
指定されたログタイプのログを取得します。ログバッファは、各リクエスト後にリセットされます。
/session/:sessionId/log/types
{Array.<string>}
利用可能な ログタイプの一覧。- 利用可能なログタイプを取得します。
- URL パラメータ
:sessionId
- コマンドをルーティングするセッションの ID。
- 戻り値
- GET /session/:sessionId/application_cache/status
/session/:sessionId/application_cache/status
{number}
アプリケーションキャッシュのステータスコード: {UNCACHED = 0, IDLE = 1, CHECKING = 2, DOWNLOADING = 3, UPDATE_READY = 4, OBSOLETE = 5}- html5 アプリケーションキャッシュのステータスを取得します。
- URL パラメータ
:sessionId
- コマンドをルーティングするセッションの ID。
- 戻り値
- 最終更新日 2022年1月10日: More wiki (#907) [deploy site] (adcf706a1ad)