2 ブラウザアイテムのJavaScriptオブジェクト

概要

このセクションでは、ブラウザアイテムスクリプトで使用するためにDuktapeで実装されたJavaScript言語へのZabbixの追加機能について説明します。 これらの追加機能は、追加のJavaScriptオブジェクトページで説明されているJavaScriptオブジェクトを補完するものです。

Browser

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 オブジェクトを返します(strategyselector に一致する要素がない場合は 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) 指定されたフレームに切り替えます。

パラメータ:
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

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 詳細配列内のパフォーマンス スナップショットのインデックス