Claude CodeにPlaywrightで社内Chromeを操作させようとしたところ、3回連続で失敗しました。原因は企業ポリシーによるセキュリティ制限です。
この記事でわかること
– Claude Code + PlaywrightでWeb研修を自動化しようとした経緯
– 社内Chromeで発生した3回の具体的な失敗パターン
– 企業環境でPlaywrightがブロックされる主な原因
– 実際に試した回避策とその結果
– AIエージェントにブラウザ操作を任せる際の注意点
なぜClaude Codeにブラウザ操作を任せようとしたのか
社内で人気のWeb研修を効率化するため、Claude Codeに課題提出を委譲するアイデアを採用しました。従来は手作業で30〜60分かかっていた作業を、AIに任せることで15分以内に完了させることを目指しました。
Playwright CLIを組み合わせることで、ブラウザ操作まで含めた完全自動化を狙いました。Claude Codeがコードを生成し、Playwrightが実際にブラウザを操作するという流れです。
Playwright CLIを使った具体的な実装
まず、Playwrightのインストールと初期設定を行いました。次にClaude Codeに対して「社内研修サイトにログインして課題を提出するコードを書いて」と指示しました。
生成されたコードは一見問題なく動作するように見えました。しかし、実際に実行するとすぐにエラーが発生します。3回にわたって異なるアプローチを試みましたが、すべて失敗に終わりました。
社内Chromeで発生した3回の失敗パターン
1回目は通常のChrome起動で証明書エラーが発生しました。社内プロキシの証明書がPlaywrightのブラウザに認識されず、接続がブロックされました。
2回目はヘッドレスモードで実行したところ、研修サイトがボット検知してアクセスを拒否しました。3回目はpersistent contextを試みましたが、社内Chromeにインストールされているセキュリティ拡張機能が干渉し、操作が途中で停止しました。
失敗の主な原因は企業セキュリティポリシー
社内Chromeには厳格なグループポリシーが適用されています。具体的には、証明書のインストール制限、拡張機能の強制適用、ダウンロード制限などがPlaywrightの動作を阻害していました。
また、Playwrightが起動するChromiumは社内環境で想定されていないため、セキュリティツールから不審なアクセスと判断されやすい状況でした。
試した回避策と結果
persistent contextで既存のChromeプロファイルを使う方法を試しましたが、拡張機能の競合で安定しませんでした。ヘッドレスをオフにして実ブラウザ表示にしても、操作の途中でタイムアウトが発生しました。
最終的に、PlaywrightではなくSeleniumで既存のChromeインスタンスにアタッチする方式に切り替えることで、ようやく安定動作を確認できました。
AIエージェントにブラウザ操作を任せる際の注意点
企業環境では、AIが生成したコードがそのまま動作するとは限りません。セキュリティポリシーや既存ツールとの競合を事前に検証する必要があります。
また、Playwrightのようなヘッドレスツールは検知されやすいため、用途によっては通常のブラウザ操作ツールを選ぶ判断も重要です。
わさびの見解
12プロジェクトでAIエージェントを活用してきましたが、社内環境でのブラウザ自動化は特にハードルが高い領域です。Claude Codeはコード生成能力は高いものの、実行環境の制約までは考慮してくれません。
今回の事例のように、Playwrightが使えない場合はSeleniumやPuppeteerの代替を柔軟に検討することが重要です。AIに任せきりにせず、環境ごとの制約を事前に把握した上でタスクを委譲する運用が、現実的な解だと思います。



コメント