0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

(失敗)Chromeのバージョンを自動で確認して通知する

Posted at

サマリー

Chromeの拡張機能でChromeのバージョンを記録しておき、バージョンアップされたら通知される機能を作りたかったが失敗した。
原因としては、

  1. バージョンを取得するAPIが存在しない
  2. タブに表示している内容を取得しようとしても、chrome://version は対象外

色々試したが、拡張機能では、実現できなかったことを記録に残すための記事。

背景

Seleniumを使ってChromeを操作させているプログラムを配布した際に、Chromeのバージョンアップにより、ChromeDriverの更新が必要になることが多々ある。エラーが出るたびに、イライラするので、事前にキャッチしておきたく、拡張機能による開発を検討した。

設計

  1. Chromeを起動した際に、現在のChromeのバージョンを取得する★
  2. 取得した結果と日付をlocalstrageに保存する
  3. localstrageに保存された結果と異なる場合は、ポップアップで更新されたこととバージョンを表示する
  4. localstrageに保存された結果と同一の場合は、なにもしない。
  5. 拡張機能のボタンをクリックすると現在のバージョンと最後に確認した日付を表示する

バージョンの取得

★印のところで2パターンで検討した。

  1. Extensionで使用できるAPIを利用する
  2. 「chrome://version」をスクレイピングする

起動時に実行するため、ChromeExtensionの中で「Event Page (Background Page)」
を使うことで、
※他には、「Content Scripts」「Browser Action (Page Action)」があり、実行するタイミングで変わる

1に関しては、Google Extensionで利用できるAPIがあると思っていたところ、存在しなかったです。
APIドキュメント
2に関しては、「chrome://version」を開き、バージョンをスクレイピングで取得すればよいと考えた。
実際に、Extensionでも開いたページのリンクや画像を一括取得するものがあるので、対応可能と考えたが、調べたところ、Permissionの設定が必要であった。
その設定に追加できるプロトコルが、http、https、fileであり、「chrome://」を追加できなかった。
また、bookmarksは存在するが、versionの権限を追加することはできなかった。
permissions

その他、調査が必要なこと

参考ページ

まとめ

かんたんに作れると思っていたが、意外に難しく、現時点ではうまく行かなかったことを記録に残しておき、今後調査する。
背景を満たすだけであれば、なにかしらの方法があるかもしれない。また進捗があれば、更新することにする。

0
0
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?