サイトアイコン わんすけに聞いてみる

[WinActor]ブラウザ関連 値を取得して更新して更新ログ残す。

ブラウザ関連で、設定値の一覧から順番にデータを検索・更新するんだけど
システム側の値を更新した時は更新した個所のログが欲しいって場合の話。

普通にサブルーチングループ使って実装せいって話なんだけど
ブラウザ関連のライブラリのスクリプトをいじくって実験したかったので書いてみた。

1.ブラウザ関連 取得・更新・更新ログ取得

「値の取得」と「値の設定」を合体させています。

まず、値の取得を実行して、設定したい値と比較。

違ければ新しい値にフィールドを更新して、「変数名:[前の値新しい値]」という文字列を更新ログに格納します。

新旧の値が同じで、操作を行わなかった場合は更新の処理は行わず更新ログに空白をセットします。

 

いつもの如く、スクリプト実行ステージのスクリプトタブに張り付ければすぐに使えるスクリプトです。

browserName = !ブラウザ名!
xpath = !XPath!
new_value = !設定する値!
TEMP_VAR = $設定されていた値$

' ブラウザ関連 値の取得
  SetUmsVariable "$CLEAR_ARGUMENT", ""
  SetUmsVariable "$SET_ARGUMENT", "getText"
  SetUmsVariable "$SET_ARGUMENT", browserName
  SetUmsVariable "$SET_ARGUMENT", xpath
  SetUmsVariable "$SET_ARGUMENT", TEMP_VAR

  SetUmsVariable "$RUN_CLASS2" , "SpvWeb" 
  if GetUmsVariable("$RUN_CLASS2") <> "true" then
      Err.Raise 1, "", "ライブラリ実行(spv_Web)に失敗しました。"
  end if

' 値のチェック
old_value = GetUmsVariable(TEMP_VAR)

If new_value <> old_value Then
  ' ブラウザ関連 値の設定
  SetUmsVariable "$CLEAR_ARGUMENT", ""
  SetUmsVariable "$SET_ARGUMENT", "setText"
  SetUmsVariable "$SET_ARGUMENT", browserName
  SetUmsVariable "$SET_ARGUMENT", xpath
  SetUmsVariable "$SET_ARGUMENT", new_value

  SetUmsVariable "$RUN_CLASS2" , "SpvWeb" 
  if GetUmsVariable("$RUN_CLASS2") <> "true" then
      Err.Raise 1, "", "ライブラリ実行(spv_Web)に失敗しました。"
  end if
  
  SetUmsVariable $更新ログ$ , "値:[" & old_value & "⇒" & new_value & "]"
Else
  SetUmsVariable $更新ログ$ , ""
End If

 

ふむふむ。

なんとなくだったけど、動くね。

モバイルバージョンを終了