JSON Wire Protocol 仕様

現在では廃止されたオープンソースプロトコルであり、W3C 仕様の前身であるプロトコルのエンドポイントとペイロード。

このドキュメントは以前、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.alertwindow.confirm などのモーダルポップアップを操作できるかどうか。
databaseEnabled真偽値セッションが、データベースストレージを操作できるかどうか。
locationContextEnabled真偽値セッションが、ブラウザのロケーションコンテキストを設定およびクエリできるかどうか。
applicationCacheEnabled真偽値セッションが、アプリケーションキャッシュを操作できるかどうか。
browserConnectionEnabled真偽値セッションが、ブラウザの接続性をクエリし、必要に応じて無効にできるかどうか。
cssSelectorsEnabled真偽値セッションが、要素を検索する際に CSS セレクターをサポートするかどうか。
webStorageEnabled真偽値セッションが、ストレージオブジェクトとのインタラクションをサポートするかどうか。
rotatable真偽値セッションが、現在のページの現在のレイアウトをポートレートとランドスケープの向きの間で回転できるかどうか(モバイルプラットフォームにのみ適用)。
acceptSslCerts真偽値セッションが、デフォルトですべての SSL 証明書を受け入れる必要があるかどうか。
nativeEvents真偽値セッションが、ユーザー入力をシミュレートする際にネイティブイベントを生成できるかどうか。
proxyproxy オブジェクト使用するプロキシの詳細。プロキシが指定されていない場合は、システムの現在の状態またはデフォルトの状態が使用されます。形式は、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 オブジェクト。

キー説明
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クライアントからのログ。
driverWebDriver からのログ。
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 で使用されるステータスコードを継承します。

コード概要詳細
0Successコマンドは正常に実行されました。
6NoSuchDriverセッションが終了したか、開始されていません
7NoSuchElement指定された検索パラメータを使用して、ページ上で要素を見つけることができませんでした。
8NoSuchFrameフレームが見つからなかったため、フレームへの切り替えリクエストを満たすことができませんでした。
9UnknownCommandリクエストされたリソースが見つからなかったか、マッピングされたリソースでサポートされていない HTTP メソッドを使用してリクエストが受信されました。
10StaleElementReference参照された要素が DOM にアタッチされなくなったため、要素コマンドが失敗しました。
11ElementNotVisible要素がページに表示されないため、要素コマンドを完了できませんでした。
12InvalidElementState要素が無効な状態にあるため(例: 無効な要素をクリックしようとした場合)、要素コマンドを完了できませんでした。
13UnknownErrorコマンドの処理中に不明なサーバー側のエラーが発生しました。
15ElementIsNotSelectable選択できない要素を選択しようとしました。
17JavaScriptErrorユーザーが提供した JavaScript の実行中にエラーが発生しました。
19XPathLookupErrorXPath で要素を検索中にエラーが発生しました。
21Timeout操作がタイムアウトになる前に完了しませんでした。
23NoSuchWindowウィンドウが見つからなかったため、別のウィンドウへの切り替えリクエストを満たすことができませんでした。
24InvalidCookieDomain現在のページとは異なるドメインで Cookie を設定する不正な試みが行われました。
25UnableToSetCookieCookie の値を設定するリクエストを満たすことができませんでした。
26UnexpectedAlertOpenモーダルダイアログが開いており、この操作をブロックしています
27NoAlertOpenErrorモーダルダイアログが開いていないときに、モーダルダイアログで操作しようとしました。
28ScriptTimeoutスクリプトがタイムアウトになる前に完了しませんでした。
29InvalidElementCoordinatesインタラクション操作に提供された座標が無効です。
30IMENotAvailableIME が利用できませんでした。
31IMEEngineActivationFailedIME エンジンを起動できませんでした。
32InvalidSelector引数が無効なセレクター(例: XPath/CSS)でした。
33SessionNotCreatedException新しいセッションを作成できませんでした。
34MoveTargetOutOfBounds移動アクションに提供されたターゲットが範囲外です。

クライアントは、サーバーからの 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 で応答する必要があります。たとえば、ID my-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 つのリソースパスを考えてください。

  1. /session/:sessionId/element/active
  2. /session/:sessionId/element/:id

これらのマッピングが与えられた場合、サーバーは常に、最後のパスセグメントが active であるリクエストを最初のリソースにルーティングする必要があります。他のすべてのリクエストは、2 番目のリソースにルーティングする必要があります。

コマンドリファレンス

コマンド概要

HTTP メソッドパス概要
GET/statusサーバーの現在のステータスをクエリします。
POST/session新しいセッションを作成します。
GET/sessions現在アクティブなセッションのリストを返します。
GET/session/:sessionId指定されたセッションの capabilities を取得します。
DELETE/session/:sessionIdセッションを削除します。
POST/session/:sessionId/timeouts特定のタイプの操作が中止されて
POST/session/:sessionId/timeouts/async_script/session/:sessionId/execute_async によって実行される非同期スクリプトが中止されて
POST/session/:sessionId/timeouts/implicit_wait要素を検索するときにドライバが待機する時間を設定します。
GET/session/:sessionId/window_handle現在のウィンドウハンドルを取得します。
GET/session/:sessionId/window_handlesセッションで使用可能なすべてのウィンドウハンドルのリストを取得します。
GET/session/:sessionId/url現在のページの URL を取得します。
POST/session/:sessionId/url新しい URL に移動します。
POST/session/:sessionId/forward可能であれば、ブラウザの履歴を forward に移動します。
POST/session/:sessionId/back可能であれば、ブラウザの履歴を backwards に移動します。
POST/session/:sessionId/refresh現在のページをリフレッシュします。
POST/session/:sessionId/execute現在選択されているフレームのコンテキストで実行するために、JavaScript のスニペットをページに挿入します。
POST/session/:sessionId/execute_async現在選択されているフレームのコンテキストで実行するために、JavaScript のスニペットをページに挿入します。
GET/session/:sessionId/screenshot現在のページのスクリーンショットを撮ります。
GET/session/:sessionId/ime/available_enginesマシン上のすべての利用可能なエンジンをリストします。
GET/session/:sessionId/ime/active_engineアクティブな IME エンジンの名前を取得します。
GET/session/:sessionId/ime/activatedIME 入力が現時点でアクティブかどうかを示します(利用可能かどうかではありません)。
POST/session/:sessionId/ime/deactivate現在アクティブな IME エンジンを非アクティブ化します。
POST/session/:sessionId/ime/activate利用可能なエンジン(getAvailableEngines によって返されるリストに表示されるエンジン)をアクティブにします。
POST/session/:sessionId/frameページの別のフレームにフォーカスを変更します。
POST/session/:sessionId/frame/parent親コンテキストにフォーカスを変更します。
POST/session/:sessionId/window別のウィンドウにフォーカスを変更します。
DELETE/session/:sessionId/window現在のウィンドウを閉じます。
POST/session/:sessionId/window/:windowHandle/size指定されたウィンドウのサイズを変更します。
GET/session/:sessionId/window/:windowHandle/size指定されたウィンドウのサイズを取得します。
POST/session/:sessionId/window/:windowHandle/position指定されたウィンドウの位置を変更します。
GET/session/:sessionId/window/:windowHandle/position指定されたウィンドウの位置を取得します。
POST/session/:sessionId/window/:windowHandle/maximize指定されたウィンドウがまだ最大化されていない場合は、最大化します。
GET/session/:sessionId/cookie現在のページに表示されるすべての Cookie を取得します。
POST/session/:sessionId/cookieCookie を設定します。
DELETE/session/:sessionId/cookie現在のページに表示されるすべての Cookie を削除します。
DELETE/session/:sessionId/cookie/:name指定された名前の Cookie を削除します。
GET/session/:sessionId/source現在のページソースを取得します。
GET/session/:sessionId/title現在のページタイトルを取得します。
POST/session/:sessionId/elementドキュメントルートから開始して、ページ上の要素を検索します。
POST/session/:sessionId/elementsドキュメントルートから開始して、ページ上の複数の要素を検索します。
POST/session/:sessionId/element/active現在フォーカスがあるページ上の要素を取得します。
GET/session/:sessionId/element/:id識別された要素を記述します。
POST/session/:sessionId/element/:id/element識別された要素から開始して、ページ上の要素を検索します。
POST/session/:sessionId/element/:id/elements識別された要素から開始して、ページ上の複数の要素を検索します。
POST/session/:sessionId/element/:id/click要素をクリックします。
POST/session/:sessionId/element/:id/submitFORM 要素を送信します。
GET/session/:sessionId/element/:id/text要素の表示テキストを返します。
POST/session/:sessionId/element/:id/valueキーストロークのシーケンスを要素に送信します。
POST/session/:sessionId/keysアクティブな要素にキーストロークのシーケンスを送信します。
GET/session/:sessionId/element/:id/name要素のタグ名をクエリします。
POST/session/:sessionId/element/:id/clearTEXTAREA または text INPUT 要素の値をクリアします。
GET/session/:sessionId/element/:id/selectedOPTION 要素、またはタイプ checkbox または radiobuttonINPUT 要素が現在選択されているかどうかを判断します。
GET/session/:sessionId/element/:id/enabled要素が現在有効になっているかどうかを判断します。
GET/session/:sessionId/element/:id/attribute/:name要素の属性の値を取得します。
GET/session/:sessionId/element/:id/equals/:other2 つの要素 ID が同じ DOM 要素を参照しているかどうかをテストします。
GET/session/:sessionId/element/:id/displayed要素が現在表示されているかどうかを判断します。
GET/session/:sessionId/element/:id/locationページ上の要素の場所を判断します。
GET/session/:sessionId/element/:id/location_in_view要素がビューにスクロールされた後の画面上の要素の場所を判断します。
GET/session/:sessionId/element/:id/size要素のサイズをピクセル単位で判断します。
GET/session/:sessionId/element/:id/css/:propertyName要素の計算された CSS プロパティの値をクエリします。
GET/session/:sessionId/orientation現在のブラウザの向きを取得します。
POST/session/:sessionId/orientationブラウザの向きを設定します。
GET/session/:sessionId/alert_text現在表示されている JavaScript alert()confirm()、または prompt() ダイアログのテキストを取得します。
POST/session/:sessionId/alert_textキーストロークを JavaScript prompt() ダイアログに送信します。
POST/session/:sessionId/accept_alert現在表示されているアラートダイアログを受け入れます。
POST/session/:sessionId/dismiss_alert現在表示されているアラートダイアログを閉じます。
POST/session/:sessionId/moveto指定された要素のオフセットだけマウスを移動します。
POST/session/:sessionId/click任意のマウスボタンをクリックします(最後の moveto コマンドで設定された座標で)。
POST/session/:sessionId/buttondown左マウスボタンをクリックして押し続けます(最後の moveto コマンドで設定された座標で)。
POST/session/:sessionId/buttonup以前に保持されていたマウスボタンを離します(マウスが現在ある場所で)。
POST/session/:sessionId/doubleclick現在のマウス座標(moveto で設定)でダブルクリックします。
POST/session/:sessionId/touch/clickタッチ対応デバイスでシングルタップします。
POST/session/:sessionId/touch/down画面上で指を下にします。
POST/session/:sessionId/touch/up画面上で指を上げます。
POSTsession/:sessionId/touch/move画面上で指を動かします。
POSTsession/:sessionId/touch/scroll指ベースのモーションイベントを使用して、タッチスクリーン上でスクロールします。
POSTsession/:sessionId/touch/scroll指ベースのモーションイベントを使用して、タッチスクリーン上でスクロールします。
POSTsession/:sessionId/touch/doubleclick指のモーションイベントを使用して、タッチスクリーン上でダブルタップします。
POSTsession/:sessionId/touch/longclick指のモーションイベントを使用して、タッチスクリーン上で長押しします。
POSTsession/:sessionId/touch/flick指のモーションイベントを使用して、タッチスクリーン上でフリックします。
POSTsession/:sessionId/touch/flick指のモーションイベントを使用して、タッチスクリーン上でフリックします。
GET/session/:sessionId/location現在の地理的位置を取得します。
POST/session/:sessionId/location現在の地理的位置を設定します。
GET/session/:sessionId/local_storageストレージのすべてのキーを取得します。
POST/session/:sessionId/local_storage指定されたキーのストレージアイテムを設定します。
DELETE/session/:sessionId/local_storageストレージをクリアします。
GET/session/:sessionId/local_storage/key/:key指定されたキーのストレージアイテムを取得します。
DELETE/session/:sessionId/local_storage/key/:key指定されたキーのストレージアイテムを削除します。
GET/session/:sessionId/local_storage/sizeストレージ内のアイテムの数を取得します。
GET/session/:sessionId/session_storageストレージのすべてのキーを取得します。
POST/session/:sessionId/session_storage指定されたキーのストレージアイテムを設定します。
DELETE/session/:sessionId/session_storageストレージをクリアします。
GET/session/:sessionId/session_storage/key/:key指定されたキーのストレージアイテムを取得します。
DELETE/session/:sessionId/session_storage/key/:key指定されたキーのストレージアイテムを削除します。
GET/session/:sessionId/session_storage/sizeストレージ内のアイテムの数を取得します。
POST/session/:sessionId/log指定されたログタイプのログを取得します。
GET/session/:sessionId/log/types利用可能なログタイプを取得します。
GET/session/:sessionId/application_cache/statushtml5 アプリケーションキャッシュのステータスを取得します。

コマンド詳細

/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} サーバーの一般的なステータスを記述するオブジェクト。

/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>} 現在アクティブなセッションのリスト。

/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 - スクリプトがエラーをスローした場合。

/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 イベントが発生した場合。

/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をサポートしていない場合。

/session/:sessionId/frame

ページの別のフレームにフォーカスを切り替えます。フレームの idnull の場合、サーバーは

ページのデフォルトコンテンツに切り替える必要があります。
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 - 現在選択されているウィンドウが閉じられた場合。

/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
idNAME属性が検索値に一致する要素を返します。
namelink 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属性が検索値に一致するすべての要素を返します。
idNAME属性が検索値に一致するすべての要素を返します。
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
idNAME属性が検索値に一致する要素を返します。
namelink 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

/session/:sessionId/element/:id/elements

識別された要素から開始して、ページ上の複数の要素を検索します。見つかった要素は、WebElement JSON オブジェクトとして返されます。以下の表は、各サーバーがサポートする必要があるロケータ戦略の一覧です。要素は、DOM内で見つかった順序で返す必要があります。

XPath式に一致するすべての要素を返します。提供された XPath 式は、サーバーに「そのまま」適用する必要があります。式が要素ルートに対する相対式ではない場合、サーバーはそれを変更しないでください。したがって、XPath クエリは、ルート要素のサブツリーに含まれていない要素を返す可能性があります。

css selector説明
CSSセレクターに一致する要素を返します。CSSセレクターに一致するすべての要素を返します。
ID属性が検索値に一致する要素を返します。ID属性が検索値に一致するすべての要素を返します。
idNAME属性が検索値に一致するすべての要素を返します。
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

/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+E000Cancel
U+E001U+E002
ヘルプBack space
U+E003Tab
U+E004Clear
U+E005Return1
U+E006Enter1
U+E007Shift
U+E008Control
U+E009Alt
U+E00APause
U+E00BEscape
U+E00CSpace
キーコード
U+E00DPageup
U+E00EPagedown
U+E00FEnd
U+E010Home
U+E011Left arrow
U+E012Up arrow
U+E013Right arrow
U+E014Down arrow
U+E015Insert
U+E016Delete
U+E017Semicolon
U+E018Equals
U+E019Numpad 0
キーコード
U+E01ANumpad 1
U+E01BNumpad 2
U+E01CNumpad 3
U+E01DNumpad 4
U+E01ENumpad 5
U+E01FNumpad 6
U+E020Numpad 7
U+E021Numpad 8
U+E022Numpad 9
U+E023Multiply
キーコード
U+E024Add
U+E025Separator
U+E026Subtract
U+E027Decimal
U+E028Divide
U+E029F1
キーコード
U+E031F2
U+E032F3
U+E033F4
U+E034F5
U+E035F6
U+E036F7
U+E037F8
U+E038F9
U+E039F10
U+E03AF11
U+E03BF12
U+E03CCommand/Meta
U+E03D1 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>} 入力するキーのシーケンス。配列を指定する必要があります。サーバーは、入力される単一の文字列に配列項目をフラット化する必要があります。
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 または radiobuttonINPUT 要素が現在選択されているかどうかを判断します。
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

text - {string} prompt() ダイアログに送信するキーストローク。

キーストロークを JavaScript prompt() ダイアログに送信します。
URL パラメータ
:sessionId - コマンドをルーティングするセッションの ID。
JSON パラメータ
POST /session/:sessionId/accept_alert
起こりうるエラー
POST /session/:sessionId/alert_text

/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

指定されたログタイプのログを取得します。ログバッファは、各リクエスト後にリセットされます。

type - {string} ログタイプ。これは必須です。
URL パラメータ
:sessionId - コマンドをルーティングするセッションの ID。
JSON パラメータ
{Array.<object>} ログエントリの一覧。
戻り値
GET /session/:sessionId/log/types

/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)
開発パートナー