【Power Automate for Desktop】Webページを切り替えてデータを取得する場合もPADを使って効率的にできるかの検証!

税理士準備

以前ブログで「Power Automate for Desktop」のスキルを身に着けると話していた件について、その成果を書きたいと思います。

※以降「Power Automate for Desktop」は、「PAD」とします。

結論からいうと、ページをめくってデータを取得する場合は、ページャー機能を使うよりも手動風で操作するとデータの取得がやりやすいことが分かりました。

以下の「【最強のRPAツール講座】Power Automate for desktopとは?できることや活用事例を無料で学ぶ、使い方入門【たった1動画で全てが分かるパワーオートメイトデスクトップ(PAD)】」のYouTube動画は見終えました。

この動画は、4時間程度でPADの以下の基本事項を学ぶことができるためおすすめです。

学べること

  • Webページやエクセルからデータの抽出
  • エクセルからWebページへのデータの転記
  • Webページからエクセルへのデータの転記

ページャーによるページの移動(失敗)

今回学んだことを基にさっそくWebページからデータを抽出に挑戦。

以下の画像のような次へのボタンが無い場合にページャーを使ってめくろうとしましたが失敗しました。

※>は次へではなく、ここに表示されていない次のページグループ(6~)が表示されるボタンです。

色々と試しましたが、ページャーではページめくりができないようです。

手動風によるページの移動(ページめくりは成功)

何か良い方法はないか考えた結果、手動風にページをめくる方法を思いついたので試してみることにしました。

手順については以下になります。

この方法では、ページ移動には成功しましたが、最後のページのデータしか抽出できませんでした。

手順

  1. 1ページ分のデータを抽出する
    「ブラウザー自動化」⇒「Webデータを抽出」⇒「Webページからデータを抽出する」
     
  2. ページ内のページ番号記載部分まで移動
    「ブラウザー自動化」⇒「Webフォーム入力」⇒「Webページ上のテキストフィールドをフォーカス」
     
  3. ページボタンにマウスを移動
    「ブラウザー自動化」⇒「Webページの要素にマウスをポイント」
    ※設定が重要!!以下で詳しく解説します。
     
  4. マウスで左クリック
    「マウスとキーボード」⇒「マウスクリックの送信」
     
  5. 1~4をループ設定
    「ループ」⇒「Loop」
    ※2ページ目から選択するため初期値は2にする

注意点

注意点について順番に解説したいと思います。1、4、5については解説が不要だと思われるため省略します。

2について解説します。

手動風にページ番号をクリックする場合は、画面にページ番号が表示されている必要があります。そのため、ページ番号記載部付近まで移動するために入れる動作になります。
ページが切り替わっても変わらない画像を目印にしましょう。

3について解説します。

この時に自動でマウスポインタを移動する設定にした場合は、ページ番号をクリックしてもページ番号が黄色になるだけで次のページに移動できません。

なので、マウスを動かしてホバーするを選択します。

こうすることにより、手動でマウスを動かすのと同じように動くため、マウスがハンドに変わりボタンを押せるようになります。

UI要素については、UI要素を登録した後にセレクタービルダーを開いて編集します。
セレクタービルダーを開いたあとは、テキストエディタ―にチェックを入れます。
今回の場合は、「a[Text=”2″]」となっていたので、2の部分をループに使っている変数に置き換えることにより、ループ変数の数値が変わると新たなページを選択するようになりました。

例:a[Text=”%変数%“]

抽出データの移行(エクセルを活用!これで何とかデータ化に成功)

手動風に動かすことで、ページ移動はできるようになりました。
しかし、最後のページしかデータの抽出ができないので、何か良い方法がないか検討してみることにしました。

読み込んだページを1ページごとにエクセルに書き込むのはどうかと思い、早速検証してみました。

すべての抽出データをエクセルに記載することができたので成功です!!

できれば、PADに全てのデータを抽出してからエクセルに書き込みをしたかったのですが、結果的に同じことができたのでよかったです。

手順

  1. 手動風によるページの移動の前にエクセルの起動と変数を追加
    「Excel」⇒「Excelの起動」、 「変数」⇒「変数の設定」
     
  2. 手動風によるページの移動のループの最後の行にエクセルへの書き込みを追加
    「Excel」⇒「Excelに書き込む」
    ※設定が重要です!!以下で詳しく解説します。
     
  3. 2の後ろに変数の値を大きくする設定を入れる
    「変数」⇒「変数を大きくする」

注意点

2の注意点について解説したいと思います。

エクセルに書き込む行については、変数を活用します。エクセルに書き込んだ後、変数を大きくすることで、ループ処理で次のページのデータを書き込んだときに前のページで抽出したデータに被らなくなります。

例:1ページに10個データがある場合は、変数を10大きくすることにより、次のデータの行の位置が元の変数+10になるため、A11、A21…となり被らないことになります。

まとめ

上記のフローをまとめると以下になります。こちらを見て全体の流れをつかんでいただけると幸いです。

おわりに

ページャー機能を使わずにデータ抽出をする方法はいかがだったでしょうか。
PADを使えば色々とできそうですが、設定を考えるのが難しそうです。

早くPADを使いこなせるようになって、仕事などの効率化を目指せるようにがんばります。

コメント

タイトルとURLをコピーしました