ログイン処理を効率化する方法(セッション維持+条件分岐)

仮想ブラウザのセッション維持機能を使用する事で、Webサイトのログイン状態を維持できます。
しかし、ログイン状態である事を前提としてBOTを構築すると、何らかの要因でブラウザがログアウトしてしまった場合にBOTがエラーになってしまいます。

このトピックでは、ブラウザセッションの維持+条件分岐を用いて

『ログイン状態でなければログイン操作を行ってから自動操作を行う』

を実現するTipsをご紹介します。

※ブラウザセッション維持の設定については以下のトピックをご参照下さい。
仮想ブラウザのセッションを維持する設定について

【今回実装する処理の概要】

・最初のタスクでログイン後のページURLを入力します。
・表示された画面がログイン画面であれば、ログインの操作を行った後、目的の操作を行います。
・ログイン画面でなければ、そのまま目的の操作を行います。

【構築手順】

ブラウザセッションが「14日間維持」に設定されている仮想ブラウザを起動し、ログイン画面に遷移します。(今回はkintoneの画面を用いて解説します。)
この時点でログイン状態になっている場合は、仮想ブラウザ上でログアウトを行い、一度ログイン画面に移動して下さい。

「ブラウザ操作を記録する」ボタンをクリックし、操作記録を開始します。
1番目に、ログイン画面にアクセスするタスクが記録されます。

続いて、ログイン画面にしか存在しないテキストを取得する操作を記録します。
今回は「ログイン」ボタンのテキストを取得していますが、ログイン画面にしか存在しないテキストであれば何でもOKです。

データ名は「ログインチェック」としておきます。

このタスクは最終的にエラーになる可能性があります(理由は最後に解説しています)ので、「エラー時は処理を継続する」に変更します。

続いて「条件を追加」ボタンをクリックし、条件を設定します。
左の値に先ほど取得した“ログインチェック”を指定し、右の値は“任意の値”を選択し、ログインチェック内にコピーされる文字列と同じ値を入力して下さい(今回は”ログイン”になります。)

タスク内に条件が作られましたので、条件内にログイン操作を記録していきます。
「次へ」でタスクカーソルを条件の中に移動し、仮想ブラウザでログイン操作の記録を進めます。

以下のように、ログインに必要な操作のみが条件内に入っていればOKです。

ここで一度「停止」をクリックし、タスクカーソルを最初に戻します。
続いて「ビューア」をクリックし、データビューアを開きます。
1番目のタスクで入力しているURLをログインURLからログイン後のURL(ここではkintoneのポータル画面のURL)に変更し、「OK」で更新します。

「実行」をクリックしタスクを実行します。
以下のように2番目のタスクがエラーになり、条件内が実行されずにタスクカーソルが一番下まで進んでいればOKです。

解説

最後の実行では、セッション維持によりログイン後の画面から処理がスタートしています。
これにより、2番目のタスクで行っているログイン画面の特定の文字列を取得するタスクがエラーになります。(“エラー時は処理を継続する”の設定により無視されます。)
次の条件では、ログインチェック内に指定の文字列が存在しない事から条件に一致せず、条件内のタスク(ログイン操作)はスキップされます。

ログアウト状態から始まった場合は、ログイン画面に遷移するため、2番目のタスクがエラーにならず、条件内のタスクが実行されます。

補足

今回の手順では、最初に記録した値を途中でビューアから変更していますので、そのままBOTを保存すると警告が出ると思います。以下の手順を行って下さい。

1.BOT内部データの「値を再設定」ボタンをクリックし、現在のBOTエディタに入力されている値をBOTの設定値として設定し直して下さい。

2.パスワードもBOT内に記録したい場合は、入力データの初期値にチェックを入れ「初期値を再設定」をクリックします。これで現在のBOTエディタに入力されている値をパスワードの初期値として設定できます。

ログアウトのリスクを回避しつつ、BOT実行時間を節約する方法についての紹介でした。
お試し下さい!

#【サンプルBOT】
今回作成したBOTの定義ファイルを設置しておきます。
以下の定義ファイルを自身のクラウドBOTアカウント内にインポートしてご利用下さい!
ログイン処理を効率化する方法-20250129094911.jws (5.4 KB)

※BOTのインポート方法はこちら