概要
chrome extensionを使ってやりたいことを実現しようとしたが挫折した話
初心者が公式doc見ながら&claudeに助けてもらいながら10時間ぐらい格闘した結果、心が折れた
やりたかったこと
・拡張機能をインストールし、拡張機能の「実行」ボタンを押したら動作する
・あるページの値を取得し、他のページに挿入する。これらのページは別タブで同時に開かれている
└あるいは、取得した値によって、対応したselectの値を選ぶなど
・現在開いているページ内のボタンを押してURL遷移し、遷移後のページで処理を行う
だめだったこと
・タブを切り替えることはできるが、切り替わったタイミングで処理が中断されてしまう
・URL遷移(aタグをクリック)をした段階で、遷移先で処理を続行することが難しそう
└タブが更新されたeventをlistenし、特定のURLだったら~ というやり方はある
└localStorageを使ってstatefulにはできそう
└上記2つを組み合わせると、URLが変わったタイミングで任意の処理をさせることはできそうだが、複雑すぎる(ことになると見込んでいる)
・単純なsleepができなかった。jsの問題か? promise(...).then(...) という書き方はできるが、中身が複雑になりすぎる
└jsだけで言うとできるらしいが、chrome extensionとして組み込んでみても動作しなかった。要検証 https://qiita.com/teloppy_com/items/cd483807813af5a4a38a
配布が難しい
配布方法は
・ソース丸ごと or crxファイルにパッケージして、直接配布
・公式ストアに登録
公式ストアは更新するために審査が必要、ちょっとした修正でも大変
セルフホストは自由で良さそう。ただ、いざやってみたらダメだった。DLする際に crx_required_proof_missing エラーが出てしまい、これが解決できなかった・・
今後
Playwright使えば良い気がする(初心者)