AI Browser Needs DOM
銀行のウェブサイトからPDFをダウンロード・バックアップしたいが、やたらたくさんあってかったりー・・・ということでエーアイにがんばれせてみた記録。
最初は Claude For Chrome + Claude Code を試してみた、が、銀行のサイトは denylist されていて Claude には見えなかった。しかし健気に “この JS を devtool に貼り付けて結果を教えて” とかいうので言うがままに従ったところ、まあまあ自動化できた。ダウンロードは <a download> を click() するらしい。なるほど・・・
denylist されずに触る方法はないかと考え、そういえば DevTools MCP とかいうのがあったなと試すが、頑なに Incognito かつ別プロファイルののウィンドウばかり開くので、だめ。
別に MCP なくてもあんたたちプロトコルの JSON 知ってんじゃないの・・・とやらせてみたら、今度は localhost:9222 からデータが帰ってこないという。なぜだ・・・と調べたら、去年から 実ユーザのプロファイルで 9222 は禁止されたらしい えーケチクサじゃないですか? でも最近は npm supply chain attack とかで Linux にもカジュアルにマルウェアがやってくるようになったのを思い出し、自制。
そういえば Gemini For Chrome とかあったよね? Linux でも無理やり動かせちゃう? と試したら、途中で謎の無限ループにはいり同じ PDF を何度もダウンロードしはじめたので頓挫。
というわけで結局いちばんちゃんと動いたのは Claude Code いいなり JS コピペであった。なおこのときは節約のためモデルには Sonnet を使っており、特別賢くない。一方で途中頓挫した Gemini for Chrome は Flash 3.5 で、特段アホではない。どちらかというと Gemini for Chrome は画像ベースなのが厳しく、Claude Code は DOM 相手なのがよかったのではないか。もちろん DOM だと画像の中身は見えない以上できないこともあるわけだが、アクセシビリティとか真面目にやってあるちゃんとしたサイトなら画像よりよっぽど効果的なんじゃないの?
去年 LLM にソースコードとそのコードの実行中スタックダンプを交互に渡して動作の理解を深める Code World Model なんてのがあったけど、似たような感じで DOM World Model … というと響きがよくないな。大風呂敷で Web World Model, みたいのをどこかの frontier lab にやってほしい。まあやって成果でなかったのでお蔵入りになっている可能性もある自明なアイデアではありますが、DOM の解釈は諦めないで頑張ってほしいなあ。スクレイピングだってみんな DOM じゃん?