このセクションでは、ブラウザアイテムスクリプトで使用するためにDuktapeで実装されたJavaScript言語へのZabbixの追加機能について説明します。 これらの追加機能は、追加のJavaScriptオブジェクトページで説明されているJavaScriptオブジェクトを補完するものです。
Browser オブジェクトは WebDriver セッションを管理し、作成時にセッションを初期化し、破棄時にセッションを終了します。
1 つのスクリプトで最大 4 つの Browser オブジェクトをサポートできます。
Browser オブジェクトを作成するには、new Browser(options) 構文を使用します。 options (JSON オブジェクト) パラメータは、ブラウザオプションを指定します。通常は WebDriver オプションメソッドの結果 (例: Browser.chromeOptions()) です。
Browser オブジェクトでは、以下のメソッドがサポートされています。
| メソッド | 説明 |
|---|---|
navigate(url) |
指定された URL に移動します。 パラメータ: url - (文字列) 移動先の URL |
getUrl() |
開いているページの URL の文字列を返します。 |
getPageSource() |
開いているページソースの文字列を返します。 |
findElement(strategy, selector) |
開いているページ内の1つの要素を含む Element オブジェクトを返します(strategy と selector に一致する要素がない場合は null を返します)。パラメーター: strategy - (文字列、CSS セレクター/リンク テキスト/部分リンク テキスト/タグ名/Xpath) ロケーション ストラテジ。selector - (文字列) 指定されたロケーション ストラテジを使用する要素セレクター |
findElements(strategy, target) |
開いているページ内の複数の要素を含む Element オブジェクトの配列を返します(ロケーション ストラテジーとターゲットに一致する要素がない場合は空の配列を返します)。パラメーター: strategy - (文字列、CSS セレクター/リンク テキスト/部分リンク テキスト/タグ名/Xpath) ロケーション ストラテジー。target - (文字列) 指定されたロケーション ストラテジーを使用する要素セレクター |
getCookies() |
Cookie オブジェクトの配列を返します。 |
addCookie(cookie) |
Cookie を設定します。 パラメーター: cookie - (Cookie オブジェクト) 設定する Cookie |
getScreenshot() |
ブラウザのビューポートの画像を表す Base64 エンコードされた文字列を返します。 |
setScreenSize(x,y) |
ブラウザのビューポートサイズを設定します。 パラメータ: x - (文字列) 高さ (ピクセル単位);y - (文字列) 幅 (ピクセル単位) |
setScriptTimeout(timeout) |
スクリプトの読み込みタイムアウトを設定します。 パラメータ: timeout - (整数) タイムアウト値 (ミリ秒単位) |
setSessionTimeout(timeout) |
セッション (ページ読み込み) タイムアウトを設定します。 パラメータ: timeout - (整数) タイムアウト値 (ミリ秒単位) |
setElementWaitTimeout(timeout) |
要素配置戦略 (暗黙的) タイムアウトを設定します。 パラメータ: timeout - (整数) タイムアウト値 (ミリ秒単位) |
collectPerfEntries(mark) |
getResult() メソッドで取得するパフォーマンスエントリを収集します。パラメーター: mark - (文字列、オプション) パフォーマンススナップショットのマーク。 |
getRawPerfEntries() |
パフォーマンスエントリオブジェクトの配列を返します。 |
getResult() |
ブラウザセッションの統計情報 (エラー情報、パフォーマンススナップショットなど) を含む Result オブジェクトを返します。 |
getError() |
ブラウザエラーを含む BrowserError オブジェクトを返します (ブラウザエラーがない場合は null を返します)。 |
setError(message) |
Result オブジェクトに含めるカスタムエラーメッセージを設定します。パラメーター: message - (文字列) エラーメッセージ |
discardError() |
Result オブジェクトで返されるエラーを破棄します。 |
getAlert() |
ブラウザアラートを含む Alert オブジェクトを返します(ブラウザアラートがない場合は null を返します)。 |
chromeOptions() |
定義済みの Chrome ブラウザオプションを含む chromeOptions オブジェクトを返します。 |
firefoxOptions() |
定義済みの Firefox ブラウザオプションを含む firefoxOptions オブジェクトを返します。 |
safariOptions() |
定義済みの Safari ブラウザオプションを含む safariOptions オブジェクトを返します。 |
edgeOptions() |
定義済みの Edge ブラウザオプションを含む edgeOptions オブジェクトを返します。 |
switchFrame(target) |
指定されたフレームに切り替えます。バージョン 7.0.4 以降でサポートされています。 パラメーター: target - (ブラウザ要素または整数、オプション) ターゲットフレーム。要素でフレームを選択するには、要素を渡します。インデックスでフレームを選択するには、番号を渡します。空のままにすると、最上位のブラウジングコンテキストに切り替えます。 |
すべての Browser メソッドは、以下のエラーをスローする可能性があります。
BrowserError - Browser コンストラクタが失敗した場合にスローされる Error オブジェクトから派生します。 この BrowserError をスローした Browser オブジェクトを持つ追加の browser プロパティが含まれます。WebdriverError - BrowserError から派生します。 BrowserError オブジェクトと同じプロパティが含まれます。これらのプロパティは、WebDriver レスポンスのエラーに応じてエラーが生成されたかどうかを示します。Element オブジェクトは Browser オブジェクトの findElement()/findElements() メソッドによって返され、直接構築することはできません。
Element オブジェクトは Web ページ内の要素を表し、その要素を操作するためのメソッドを提供します。
Element オブジェクトでは、以下のメソッドがサポートされています。
| メソッド | 説明 |
|---|---|
getAttribute(name) |
要素属性の属性値文字列を返します(指定された属性が見つからない場合は null を返します)パラメーター: name - (文字列) 属性名 |
getProperty(name) |
要素プロパティのプロパティ値文字列を返します(指定されたプロパティが見つからない場合は null を返します)パラメーター: name - (文字列) プロパティ名 |
getText() |
要素テキストのテキスト値文字列を返します。 |
click() |
要素をクリックします。 |
clear() |
編集可能な要素のコンテンツをクリアします。 |
sendKeys(keys) |
キーを送信します。 パラメーター: keys - (文字列) 送信するキー |
Cookie オブジェクトは、Browser オブジェクトの getCookies() メソッドによって返され、addCookie() メソッドに渡されます。
Cookie オブジェクトにはメソッドはありませんが、以下のプロパティを持つことができます。
| プロパティ | 型 | 説明 |
|---|---|---|
| name | 文字列 | Cookie の名前 |
| value | 文字列 | Cookie の値 |
| path | 文字列 | Cookie が有効なパス。 Cookie の追加時に省略された場合、デフォルトで "/" になります。 |
| domain | 文字列 | Cookie が参照可能なドメイン。 Cookie の追加時に省略された場合、デフォルトでセッションの現在のブラウジングコンテキストのアクティブドキュメントの URL ドメインになります。 |
| secure | boolean | Cookie が安全かどうかを示します。 Cookie の追加時に省略された場合、デフォルトで false になります。 |
| httpOnly | boolean | Cookie が HTTP 専用かどうかを示します。 Cookie の追加時に省略された場合、デフォルトで false になります。 |
| expiry | integer | Cookie の有効期限(Unix エポックからの秒数)。Cookie の追加時に省略された場合は設定しないでください。 |
| sameSite | string | Cookie の sameSite 属性。Cookie をファーストパーティまたは同一サイトのコンテキストに制限するかどうかを制御します。"Lax" または "Strict" のいずれかに設定できます。Cookie の追加時に省略された場合、デフォルトで "None" になります。 |
Alert オブジェクトはウェブページのアラートを表し、Browser オブジェクトの getAlert() メソッドによって返されます。直接構築することはできません。
Alert オブジェクトには、アラートテキスト(アラートがない場合は null)が設定された text プロパティが含まれます。
Alert オブジェクトでは、以下のメソッドがサポートされています。
| メソッド | 説明 |
|---|---|
accept() |
アラートを承認します。 |
dismiss() |
アラートを却下します。 |
Result オブジェクトにはセッション統計が含まれており、Browser オブジェクトの getResult() メソッドによって返されます。
通常、Result オブジェクトは文字列化されてスクリプトから返され、その後、前処理によって依存項目の値に解析されます。
Result オブジェクトにはメソッドはありませんが、以下のプロパティを含めることができます。
| プロパティ | タイプ | 説明 | ||
|---|---|---|---|---|
| duration | 文字列 | セッション作成から結果取得までのセッション継続時間 | ||
| error | オブジェクト | エラー情報 | ||
| http_status | 整数 | WebDriver によって返される HTTP ステータス(WebDriver エラーがない場合は 0) | ||
| error_code | 文字列 | WebDriver から返されたエラー (WebDriver エラーがない場合は空の文字列) | ||
| message | 文字列 | WebDriver エラー メッセージ (WebDriver エラーがない場合は空の文字列) | ||
| performance_data | object | パフォーマンス統計 | ||
| summary | object | パフォーマンス サマリー | ||
| navigation | object | ナビゲーション サマリー | ||
| resource | object | リソース サマリー | ||
| details | オブジェクトの配列 | ナビゲーションにつながる可能性のある各操作後のパフォーマンス統計 | ||
| mark | 文字列 | (オプション) collectPerfEntries() メソッドで指定されたパフォーマンス スナップショット マーク |
||
| navigation | object | ナビゲーション統計 | ||
| user | オブジェクトの配列 | マーク/メジャータイプの統計情報の配列 | ||
| marks | オブジェクトの配列 | マークされたパフォーマンス スナップショットのインデックス | ||
| name | string | パフォーマンス スナップショットのマーク名 | ||
| index | integer | 詳細配列内のパフォーマンス スナップショットのインデックス | ||