見出し画像

RPA未経験でも完成できた!AIと対話しながらPADでWebスクレイピングした実録【セキュリティも解説】

「業務を自動化したい」とずっと思っていたけど、RPAって難しそうで手が出せない。

そんな気持ち、ありませんか?

私もそうでした。プログラミングの経験はゼロ、RPAを触ったことも当然ない。でも「GeminiというAIと会話しながらやれば、なんとかなるんじゃないか」という軽い気持ちで、今回初めてPower Automate Desktop(PAD)を使ったWebスクレイピングに挑戦してみました。

結果:紆余曲折ありながらも、ちゃんと完成しました。

この記事では、失敗だらけだった過程を正直に書いています。それと同時に、「そもそもなぜRPAを選んだのか」というセキュリティの話も一緒に書きました。AIツールが溢れている今、業務データを安全に扱うためには「何をAIに任せて、何は自分でやるか」という設計が意外と大事だと気づいたからです。


AIにブラウザ操作を「丸投げ」するリスクを知っているか

業務を効率化したいとき、最近は「AIに任せる」という選択肢が当たり前になってきました。「Claude in Chrome」や「ChatGPT」のブラウザ拡張機能を使えば、AIが画面を見ながら自動操作してくれます。確かに便利です。

でもこれ、業務ツールへのログイン状態のまま使うのはかなり危険です。

技術的な話をすると、AIブラウザ拡張機能はブラウザ内のデータ(DOM)やログインセッションに直接アクセスする権限を持っています。AIが画面を「理解」するためには、その画面のデータを一度、Anthropic社やOpenAI社などの外部クラウドサーバーに送信して解析させる仕組みになっているんですよね。

つまり、ポスレジの売上情報や顧客データが映った画面をAI拡張機能に渡すと、その情報が外部サーバーに飛ぶ可能性があるということです。

また、AI拡張機能自体に脆弱性が見つかった事例もあります。悪意ある別の拡張機能からAIの操作権限を乗っ取られ、機密データを外部送信させられてしまうケースです。便利な分だけ、攻撃の入口も増えてしまうのが現実です。

だから私が考えたのは、この役割分担です。

ログインという"鍵を開ける"部分は人間が担当する。ログイン後の繰り返し作業だけをRPAに任せる。

ログインは手動でやる。その後の定型作業をPADが自動で動く。こうすることで、パスワードやセッション情報がRPAに渡ることがなくなります。PADはすべての処理を自分のPCの中だけで完結させるので、データが外部に飛ぶ心配もありません。

このアプローチの練習として今回挑戦したのが、「Qiitaのキーワード検索結果(いいね数順・20件)をExcelに自動保存する」フローです。
※Qiita(キータ)とは、プログラミングやIT技術に関する知識を記録・共有するための日本最大級のエンジニア特化型情報プラットフォーム(コミュニティサイト)です。


フェーズ1:「人間と同じ操作をさせよう」という最初の壁

最初のアプローチは直感的でした。「人がやることをそのままPADに再現させよう」という発想です。

  1. 検索窓にキーワードを入力する

  2. Enterキーを押して検索を実行する

  3. プルダウンで「いいね数順」に並び替える

Geminiにこの手順を聞いたら、すぐに丁寧な回答が返ってきました。それを見ながら実装を進めていくのですが……ここから試行錯誤の連続が始まります。

まず躓いたのが「Enterキーを送信しても検索が実行されない」という問題。

原因を調べていくと、テキストを入力した直後に「フォーカス(カーソルの当たり)」が検索窓から外れてしまっていたことがわかりました。検索窓から離れた状態でEnterを送っても、何も起きないんですよね。

設定を変えたり、送信先の指定を変えたりと色々試しましたが、「ウィンドウが見つかりません」というエラーも出てきて。Geminiに状況を伝えながら一つひとつ対処していきました。でも正直、同じようなエラーが繰り返されて「これ、本当に動くのか?」と思い始めていた頃です。


フェーズ2:発想の転換で一気に突破する

行き詰まっていたとき、ふと気づきました。

「あれ、QiitaってURLにキーワードを入れて検索できないかな?」

試しに確認してみると、Qiitaの検索結果URLはこういう構造になっていました。

https://qiita.com/search?q=CLAUDE.md&sort=like

`q=` の後にキーワード、`sort=like` でいいね数順。

これをGeminiに話したら、即座に「まさにその通りです!大正解です」と返ってきました(このやりとり、ちょっと嬉しかったです)。

URL内のキーワード部分を変数に置き換えれば、検索窓への入力もEnterキーも並び替えのドロップダウンも、すべて不要になります。PADが開くブラウザのURLに変数を仕込むだけで、ページを開いた瞬間に「いいね数順の検索結果」が表示された状態になるんです。

これだけで、エラーの温床になっていたUI操作を根こそぎ削ることができました。

RPAの世界では「UI操作を減らして、システムの仕組みを使う」というのが鉄則らしいです。画面をクリックするより、URLやAPIを使う方が圧倒的に速くて安定します。今回この感覚を体で覚えられたのは大きかったです。



完成したフローの全体像

最終的に完成したフローは13ステップ。シンプルです。

  1. 現在の日時を取得する

  2. 日時をテキスト形式に変換する(`yyyyMMdd_HHmm` のフォーマット)

  3. ユーザーに検索キーワードを入力させるダイアログを表示する

  4. ChromeをURL直打ちで起動する

  5. Webページからデータを抽出する(タイトル・URL・投稿日)

  6. 待機(1秒)

  7. Excelを起動する

  8. 待機(1秒)

  9. Excelに抽出データを書き込む

  10. 待機(1秒)

  11. Excelをファイル名をつけて保存して閉じる

  12. 待機(1秒)

  13. ブラウザを閉じる

PADで作成した自分の自動化フローの一覧画面
※作成したフローの実行ボタンを押すだけで作成したフローの内容で動作する


検索キーワードを入力させるダイアログを表示
※ここで検索したいキーワードを入力
指定したフィルダに成果物が保存される
入力したキーワード(CLAUDE.md)の検索結果のいいね数順の20件の情報(タイトル,記事URL,投稿日)がExcelファイルで出力される

保存するExcelのファイル名は `20260529_1024_CLAUDE.md.xlsx` のように、実行した日時とキーワードが自動的に入る形にしました。これで、同じキーワードを何度検索しても別ファイルとして保存されます。

ちなみに最初、日時のフォーマットを設定し忘れて `2026/05/29 10:24` というスラッシュとコロン入りの文字列がファイル名になってしまい、Windowsに「そんな名前のファイルは作れません」と怒られました。これもGeminiに聞いてすぐ解決しましたが、こういう細かい落とし穴が随所にあります。

さらに最後、PADが「編集を準備しています」というステータスで固まるトラブルも発生。タスクマネージャーからプロセスを強制終了して解決しました。ツールが固まることも含めて「全部やってみないとわからない」経験でした。


AIはフロー設計も手伝ってくれる

今回はGeminiに「こういう手順でやりたい」と相談しながら進めましたが、もっと時短できる方法もあります。

やり方はシンプルで、自分がやっている操作を箇条書きにしてAIに渡すだけです。

たとえばこんな感じ。

Power Automate Desktop(PAD)練習用フロー作成依頼
Power Automate Desktop(PAD)の学習を目的として、Web操作の自動化フローを作成したいです。

実現したい内容
1. Qiitaを開くGoogle Chromeを起動する
https://qiita.com/ を開く

2. キーワード検索ユーザーが任意のキーワードを入力できるようにする
入力例:「CLAUDE.md」
入力されたキーワードをQiitaの検索ボックスへ入力し、検索を実行する

3. 検索結果の並び替え検索結果画面で表示される並び替え(プルダウンメニュー)を操作する
「いいね数順」に変更する

4. 検索結果の取得1ページ目に表示される検索結果(20件程度)を対象とする。各記事について以下の情報を取得する
取得項目:タイトル
投稿日
記事URL

5. Excelへ出力Excelを新規作成する
以下の列構成でデータを書き込む
タイトル 投稿日 URL

6. 保存Excelファイルを保存する
保存先は任意(例:デスクトップ)
ファイル名例:Qiita検索結果.xlsx

作成してほしい内容
PAD初心者向けに、以下を含めた詳細な手順書を作成してください。
使用するアクション名
各アクションの設定値
変数の作成方法
Webページ要素の取得方法
繰り返し処理(ループ)の設定方法
Excelへの書き込み方法
エラーになりやすいポイント
動作確認方法
完成後のフロー全体図

Power Automate Desktop未経験者でも再現できるレベルで、画面操作ベースで詳しく解説してください。

この箇条書きをAIに渡して「PADのフローに設計してください」と頼むと、どのアクションをどの順番で使えばいいか、パラメーターの設定も含めて教えてくれます。

さらに「Robin形式(PADのコード)で出力して」と追加すると、そのコードをPADの画面にそのままCtrl+Vで貼り付けるだけでアクションが自動的に並ぶ、という裏ワザもあります。

「操作の手順を言語化する」作業は人間がやる。そこから先の設計はAIに任せる。この役割分担は、RPAのフロー作成でもそのまま使えます。


次の目標:実業務への応用

今回は練習でしたが、このスキルを本当に使いたい場面が具体的になってきました。

たとえば毎月、特定のWebツール(ポスレジなど)から複数のCSVデータをダウンロードする作業。条件を変えながら何回も同じ操作を繰り返す、あの単調な時間をPADに任せたいんです。

設計としてはこういうイメージです。

  1. 手動でChromeを開き、ツールにログインして目的の画面まで進める

  2. PADを起動して「実行中のChromeにアタッチ」する

  3. PADがループ処理で月を切り替えながらCSVを連続ダウンロード

  4. ダウンロードしたファイルを自動的に指定フォルダへ移動・リネーム

このフローで大事なのは「ログインは手動、繰り返しはPAD」という設計です。PAD自身はログイン情報を一切持たないため、仮にフローデータが外部に流出してもアカウントが乗っ取られるリスクはありません。

実際にGeminiに相談したとき、「この方法はパスワードの流出リスクがゼロになり、ポスレジ側からも不正アクセスと判定されにくい、実務において最も現実的で賢明なアプローチ」と言われました。安全に業務効率化を進めるための基本設計として、この考え方はどんな業務でも使えると思っています。


AIとRPA、どう使い分けるか

今回の経験を通じて、自分なりの使い分けが見えてきました。

■ ツール別の向く作業と理由

  • Claude in Chrome / ChatGPT拡張

    • 向く作業: 公開記事の要約、リサーチ、文章作成支援

    • 理由: 漏れても問題ない情報に限る

  • PAD(Power Automate Desktop)

    • 向く作業: 業務ツールのデータ操作、CSV出力、ファイル整理

    • 理由: データが外部に出ず、ローカル完結

AIブラウザ拡張機能は画面を「読んで理解する」ために外部サーバーを使います。PADは画面を「クリックして操作する」だけで、データはPC内で完結します。この違いが、業務データを扱う場面での安全性の差に直結します。


まとめ

RPA未経験でも、AIと対話しながら手を動かせば、ちゃんと動くものが作れます。

最初から完璧なフローを目指さなくていい。まず動かしてみることが大事、というのが今回の実感です。

そして忘れてほしくないのが、「ログインは手動、繰り返し作業はRPA」というシンプルな設計の考え方。AI拡張機能に業務ツールのブラウザ操作を丸投げするのはセキュリティリスクがあります。「どこを人間がやって、どこをRPAに任せるか」を意識するだけで、安全性を保ちながら効率化を進められます。

最後まで読んでいただきありがとうございます。もしこの記事が気に入ったら、スキをポチッと押してもらえると、次の執筆のエネルギーになります!


いいなと思ったら応援しよう!