You are viewing documentation for the development version, it may be incomplete.
Join our translation project and help translate Zabbix documentation into your native language.

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

概要

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

Browser

BrowserオブジェクトはWebDriverセッションを管理し、作成時にセッションを初期化し、破棄時にセッションを終了します。 1つのスクリプトで最大4つのBrowserオブジェクトをサポートできます。

Browserオブジェクトを構築するには、new Browser(options)構文を使用します。 optionsJSONオブジェクト)パラメータはブラウザオプションを指定し、通常はWebDriverのオプションメソッドの結果(例:Browser.chromeOptions())です。

Browserオブジェクトでサポートされているメソッドは以下の通りです。

メソッド 説明
navigate(url) 指定したURLに移動します。

パラメータ:
url - (string) 移動するURL。
getUrl() 開いているページのURLの文字列を返します。
getPageSource() 開いているページのソースの文字列を返します。
findElement(strategy, selector) 開いているページ内の1つの要素を持つElementオブジェクトを返します(strategyselectorに一致する要素がない場合はnullを返します)。

パラメータ:
strategy - (string, CSSセレクタ/リンクテキスト/部分リンクテキスト/タグ名/Xpath) ロケーションストラテジー;
selector - (string) 指定したロケーションストラテジーを使用した要素セレクタ。
findElements(strategy, target) 開いているページ内の複数の要素を持つElementオブジェクトの配列を返します(ロケーションストラテジーとターゲットに一致する要素がない場合は空配列を返します)。

パラメータ:
strategy - (string, CSSセレクタ/リンクテキスト/部分リンクテキスト/タグ名/Xpath) ロケーションストラテジー;
target - (string) 指定したロケーションストラテジーを使用した要素セレクタ。
getCookies() Cookieオブジェクトの配列を返します。
addCookie(cookie) Cookieを設定します。

パラメータ:
cookie - (Cookieオブジェクト) 設定するCookie。
getScreenshot() ブラウザのビューポート画像を表すbase64エンコード文字列を返します。
setScreenSize(x,y) ブラウザのビューポートサイズを設定します。

パラメータ:
x - (string) ピクセル単位の高さ;
y - (string) ピクセル単位の幅。
setScriptTimeout(timeout) スクリプトの読み込みタイムアウトを設定します。

パラメータ:
timeout - (integer) タイムアウト値(ミリ秒)。
setSessionTimeout(timeout) セッション(ページロード)のタイムアウトを設定します。

パラメータ:
timeout - (integer) タイムアウト値(ミリ秒)。
setElementWaitTimeout(timeout) 要素ロケーションストラテジー(暗黙的)タイムアウトを設定します。

パラメータ:
timeout - (integer) タイムアウト値(ミリ秒)。
collectPerfEntries(mark) getResult()メソッドで取得するためのパフォーマンスエントリを収集します。

パラメータ:
mark - (string, オプション) パフォーマンススナップショットマーク。
getRawPerfEntries() パフォーマンスエントリオブジェクトの配列を返します。
getResult() ブラウザセッションの統計情報(エラー情報、パフォーマンススナップショットなど)を持つResultオブジェクトを返します。
getError() ブラウザエラーを持つBrowserErrorオブジェクトを返します(ブラウザエラーがない場合はnullを返します)。
setError(message) Resultオブジェクトに含めるカスタムエラーメッセージを設定します。

パラメータ:
message - (string) エラーメッセージ。
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

Element オブジェクトは、Browser オブジェクトの findElement()/findElements() メソッドによって返され、直接構築することはできません。

Element オブジェクトは、Webページ内の要素を表し、それに対して操作を行うためのメソッドを提供します。

Element オブジェクトでサポートされているメソッドは以下の通りです。

メソッド 説明
getAttribute(name) 要素属性の属性値文字列を返します(指定された属性が見つからなかった場合は null を返します)。

パラメータ:
name - (string) 属性名。
getProperty(name) 要素プロパティのプロパティ値文字列を返します(指定されたプロパティが見つからなかった場合は null を返します)。

パラメータ:
name - (string) プロパティ名。
getText() 要素テキストのテキスト値文字列を返します。
click() 要素をクリックします。
clear() 編集可能な要素の内容をクリアします。
sendKeys(keys) キーを送信します。

パラメータ:
keys - (string) 送信するキー。

Cookieオブジェクトは、BrowserオブジェクトのgetCookies()メソッドによって返され、addCookie()メソッドに渡されます。

Cookieオブジェクトにはメソッドはありませんが、以下のプロパティを含めることができます。

プロパティ 説明
name string Cookieの名前
value string Cookieの値
path string Cookieが有効なパス
Cookie追加時に省略した場合は"/"がデフォルト
domain string 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 string セッション作成から結果取得までのセッション継続時間。
error object エラー情報。
http_status integer WebDriver から返された HTTP ステータス(WebDriver エラーがない場合は 0)。
error_code string WebDriver から返されたエラー(WebDriver エラーがない場合は空文字列)。
message string WebDriver エラーメッセージ(WebDriver エラーがない場合は空文字列)。
performance_data object パフォーマンス統計。
summary object パフォーマンスサマリー。
navigation object ナビゲーションサマリー。
resource object リソースサマリー。
details array of objects ナビゲーションにつながる可能性のある各操作後のパフォーマンス統計。
mark string (オプション) collectPerfEntries() メソッドで指定されたパフォーマンススナップショットマーク。
navigation object ナビゲーション統計。
resource object このステップのリソースサマリー。
user array of objects mark/measure タイプの統計の配列。
marks array of objects マークされたパフォーマンススナップショットインデックス。
name string パフォーマンススナップショットマーク名。
index integer details 配列内のパフォーマンススナップショットインデックス。