このセクションでは、ブラウザアイテムスクリプトで使用するために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) |
指定されたフレームに切り替えます。 パラメータ: 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 | 詳細配列内のパフォーマンス スナップショットのインデックス |