【質問】
Webブラウザ上に表示されるメッセージで処理を分岐するタスクを作成したい。
例えば、Webブラウザ上に「A」というメッセージが表示されたら処理を終了、何もメッセージが表示されていない場合は何らかの処理を行う、といったように処理を分岐させたいと考えている。
どのようにタスクを作成すればよいだろうか。
【回答】
Webブラウザ上にある画面の文字を取得し、IFを利用して処理を分岐させる方法で作成可能です。
以下手順です。
①メッセージを入れる変数を作成
②「データがありませんでした」のメッセージを取得
「Webブラウザ -値の取得」アクションを利用してWebブラウザ上にあるメッセージを取得します。
その際、インタラクションタブ内は以下のように設定します。
・「変数に1つの一致を割り当てる」→①で作成した変数
③「IF -コンディション」アクションを利用してメッセージがある場合とない場合の処理を分岐
「IF -コンディション」アクションは以下のように設定します。
・「次の場合、単純な等価性テストをする」にチェックを入れる
・左の空欄→①にて作成した変数
・中央のプルダウン→「は等しい」
・右の空欄→②で取得したメッセージ
④ ③の「IF -コンディション」アクションの下に「タスク -停止」アクションを追加
⑤ ④の「タスク -停止」アクションの下に「IF -else」アクションを追加、以下に表示されたデータに対しての処理を追加
■サンプルタスク(タスクビルダーにコピー&ペーストしてご確認ください)
Webブラウザ上の画面にあるメッセージ「AutoMate Demoページ」を取得、メッセージの有無によって処理を分岐
※このまま実行した場合、タスクは5行目の処理により中止されます。
3行目[Webブラウザ - 値の取得]アクションにて、値を取得する部分を変更することで処理の挙動が変わります。
※Webブラウザはお手元の環境に合わせて任意のものを使用してください。
<AMVARIABLE NAME="var_ErrorMessage" VALUE="" />
<AMWEBBROWSER URL="https://www-1.sct.co.jp/amdemo/" SESSION="BrowserSession1"BROWSER="chrome" />
<AMWEBBROWSER ACTIVITY="getvalue" HTMLTAG="h2" SESSION="BrowserSession1" RESULTVARIABLE="var_ErrorMessage" ATTRIBUTE=":text"><HTMLATTRIBUTE NAME="className" VALUE="ac fsize_l" /></AMBROWSER>
<AMIF EXPRESSION="%var_ErrorMessage% = "AutoMate Demoページ"" />
<AMTASK ACTIVITY="stop" />
<AMELSE />
<AMSHOWDIALOG MESSAGE="データの処理を行う" />
<AMIF ACTIVITY="end" />
<AMWEBBROWSER ACTIVITY="close" SESSION="BrowserSession1" />