WebExtensionsことはじめ
以前仕事で必要があって
WebUIとFlask,Seleniumを使ってPC内にサーバーを立ててブラウザ操作を自動化するアプリを作ったんですがこれがちょっと使いづらかったらしい
使いづらい理由:
- 起動の仕方がわからない:起動はパワーシェルでFlaskでHTTPサーバー立てる→ブラウザでアクセス→そっからWebUIで呼び出し、というふうな感じで作ってたのですが、なんでそんなメンドイことするの?て風な感じで誰も起動しようとしなかった。
- たまにSeleniumがブラウザオブジェクトを見失ってしまう:そんなときは最初からやり直して下さいと言っていたのですが、見失うのが若干多かったりしたのでわからんとの指摘があった。
フッざけんな!とも思ったのですが、まぁ確かに使いづらいのかな、とも思ったのでWebExtensionsで書き直すことにしました。
てことで以下を手習いに写経しました
色々とタイポが多くて苦労はしたのですが、ようやくチュートリアルがうまく行ったのでこれから作っていきます。
作りたいのはクライアントのページを操作するWebExtensions
【サーバー側】
・WebExtensionsからクエリがあったらそれを返すAPIを作成する
【WebExtensions側】
・UIを作成する
・元となるページからDOMを取得し、取得したDOMに応じてクエリを作成し、サーバー側へPOSTかGETする
・帰って来たレスポンスを成形してUIに流し込む
・流しこまれたUIを元にユーザーが色々と成形する。
・元のページに成形されたデータを流し込む
この辺ができれば、と思う。