shikumika’s diary

日々の事務作業で手間なことを簡単にできる仕組み(自動化、方法など)、困ったことの解決方法を調べた備忘録

【Power Automate】Webページのログイン状況をURLで判定(kintoneの事例)

Power Automate Desktop(PAD)で、ログインが必要なWebページのログイン状況をURLで判定する方法の事例です。ログイン状況の有無でWebページのURLが異なることが前提です。前回の【Power Automate】Webページにログインを自動化(kintoneの事例)をベースに、既にログインをしているかどうかで処理を分ける事例として紹介します。

内容:

アウトプットイメージ

Power Automate Desktopの設定イメージは次のとおりです。

・WebページのURLを取得

・ログイン状況をURLで判定し、未ログインの場合はログイン処理

WEBページのURLの内容で分岐するフロー

PowerAutomateDesktopの設定イメージ

なお、事例のkintoneでは、未ログインの場合にURLに「login」という文字列があり、この文字列をログイン状況の判定に使用します。

未ログインの場合、URLにloginの文字列が含まれる

事例の前提イメージ(URL内にloginの文字列がある)

なお、確認したツールは次のとおりです。

Power Automate Desktop(バージョン 2.41.170.24032)

Microsoft Edge (バージョン 121.0.2277.128)

設定手順

説明の前提

以降の手順は、ログインの自動化について、【Power Automate】Webページにログインを自動化(kintoneの事例)の設定を完了した前提の手順です。

以下は設定前の画面イメージです。

Edgeの起動からログインまで4ステップ

PowerAutomateDesktopの設定前のイメージ

このフローに、Webページのログイン状況を「URLで判定する処理」を追加します。

1.WebページのURLを取得

WebページのURLを取得するため、「新しいMicrosoft Edgeを起動」アクションの後に、「Webページ上の詳細を取得します」アクションを追加する。

具体的には、画面左側にある「ブラウザ自動化」メニューの中にある「Webデータ抽出」から「Webページ上の詳細を取得します」アクションを追加する。

表示される設定画面で、取得欄に、「Webブラウザーの現在のURLアドレス」を設定する(下図参照)。

また、「生成された変数」の名前を確認しておく(事例では「WebPageProperty」)。この変数名を後で使用する。

取得欄に、「Webブラウザーの現在のURLアドレス」を設定する

「Webページ上の詳細を取得します」の設定イメージ

「Webブラウザー インスタンス」は、操作対象の変数を設定している。

2.分岐処理を追加し、条件を設定する

上記1の「Webページ上の詳細を取得します」の後に、「If」アクションを追加する。

具体的には、画面左側にある「条件」メニューの中にある「If」アクションを追加する。

表示される設定画面で、次のように設定し、保存する。

  • 最初のオペランド:右側の{x}をクリックし、前述手順で生成された変数を指定する。
    (事例では、「WebPageProperty」を指定)
  • 演算子:「次を含む」
  • 2番目のオペランド:  /login
    (kintoneでの事例のため、ログイン状況の有無が判定できるよう、未ログイン時に含まれるテキストを設定する)

最初のオペランド、演算子、2番目のオペランドを設定する

「If」アクションの設定例

保存をすると、次のようになる。

「If」アクションのEndまでの範囲に処理は記述されていない

「If」アクションのEndまでには、何も処理が記述されていない

「If」アクションの追加直後のイメージ

3.分岐処理の「End」内に処理を含める

上記で追加した「If」アクションのEndまでの範囲が条件がTrue時の処理となる。

この事例で、Trueは未ログインの状態なので、「End」の位置を次のようにドラッグし、ログイン処理が実行されるように修正する。

「End」をドラッグして、最終アクションまで含むようにしている

「End」の位置をドラッグで修正

これで冒頭の設定イメージのとおり次のようになり、設定完了。

WEBページのURLの内容で分岐するフロー

PowerAutomateDesktopの設定イメージ

以上、Power Automate Desktop(PAD)で、ログインが必要なWebページのログイン状況をURLで判定した事例でした。