Sign inSign up

procube/node-chrome

By procube

Updated almost 2 years ago

Image
0

915

procube/node-chrome repository overview

chrome コンテナについて

この chrome コンテナは、admin-gate での http 接続による対象機器への接続に使用する。
chrome コンテナ起動時に、環境変数として設定された httpLoginFormat によって指定された動作を実行することで、対象機器に自動ログインする。

httpLoginFormat

httpLoginFormat は対象機器への自動ログインに必要な動作を指定するためのオブジェクトである。
httpLoginFormat に必要な項目を以下に示す。

target

対象機器の名前を指定する。
任意の名前で問題ない。

protocol

接続プロトコルを指定する。

fqdn

対象機器の FQDN とポート番号を指定する。

path

ログイン画面のパスを指定する。
ログイン画面のパスがルート / の場合は、"" とする。

params

自動ログインに必要な動作を指定する。
2次元配列となっている。
1次元目の配列は、遷移するページごとの配列オブジェクトである。
2次元目の配列は、そのページで必要な動作を指定する。
2次元目の配列では、次の4つをキーとするキーバリューのペアのオブジェクトを配列の要素とする。

  • event

    • input・click・iframe から選択する。
      • input
        取得した要素に入力する場合に指定する。
      • click
        取得した要素をクリックする場合に指定する。
      • iframe
        iframe 内の要素を取得する場合に指定する。
        この次の動作から iframe 内の要素を取得する。
      • link
        a タグを要素として取得して、href 属性で指定したリンク先に移動する場合に指定する。
  • getElementMethod

    • xpath・id から選択する。
  • targetElementPath

    • getElementMethod で指定した方法で取得する要素を指定する。
  • sendValue

    • getElementPath で取得した要素に入力する値を指定する。
    • event が input でない場合は、"" とする。

対象機器:proliant
ログイン画面の URL:http://proliant:80/login/
ログインに必要なページ遷移:無し(上記の URL で表示されたページ内だけで自動ログインに必要な動作が完結する)
ユーザ名入力欄:iframe 内に存在する
パスワード入力欄:iframe 内に存在する
ログインボタン:iframe 内に存在する

このような条件で、ユーザ名([email protected])・パスワード(EXAMPLE)を入力後、ログインボタンをクリックして自動ログインするための、httpLoginFormat の例は以下である。

{
    "target":"proliant",
    "protocol":"http",
    "fqdn":"proliant.jp:80",
    "path":"login",
    "params":[
        [
            {
                "event":"iframe",
                "getElementMethod":"xpath",
                "targetElementPath":"//iframe[@id='frame_name']",
                "sendValue":""
            },{
                "event":"input",
                "getElementMethod":"xpath",
                "targetElementPath":"//input[@id='username']",
                "sendValue":"[email protected]"
            },{
                "event":"input",
                "getElementMethod":"xpath",
                "targetElementPath":"//input[@id='password']",
                "sendValue":"EXAMPLE"
            },{
                "event":"click",
                "getElementMethod":"xpath",
                "targetElementPath":"//button[@id='login-form__submit']",
                "sendValue":""
            }
        ]
    ]
}

Tag summary

Content type

Image

Digest

sha256:636b514ac

Size

567.3 MB

Last updated

almost 2 years ago

docker pull procube/node-chrome