Chrome Extension ( manifest version 3 ) downloads
拡張機能読込方法は下記参照 ⇒ Chrome Extension: Load unpacked extension
Devtools起動方法は下記参照 ⇒ Chrome Extension: Inspect background script
拡張機能を読み込んだ後、
background.jsのDevtoolsのConsoleを開き、
https://chromedriver.chromium.org/downloads
などで適当なファイルをダウンロードすると、
background.jsのDevtoolsのConsoleに、
ダウンロードの状況が出力されます。
コールバックで渡された情報のみを出力する場合
background.js
console.log('Hello, I am background scripts'); chrome.downloads.onCreated.addListener((item) => { console.log('onCreated'); console.log('callback parameter is DownloadItem'); console.log(item); console.log(' '); }); chrome.downloads.onChanged.addListener((delta) => { console.log('onChanged'); console.log('callback parameter is DownloadDelta'); console.log(delta); console.log(' '); });
manifest.json
{ "manifest_version": 3, "name": "HelloDownloads", "version": "1.0", "background": { "service_worker": "background.js" }, "permissions": [ "downloads" ] }
ダウンロードに関する全ての情報を出力する場合
background.js
console.log('Hello, I am background scripts'); chrome.downloads.onCreated.addListener(async (item) => { // const result = await chrome.downloads.search({ orderBy: ['-startTime'], limit: 5 }); const result = await chrome.downloads.search({}); console.log('onCreated'); console.log(result); console.log(' '); }); chrome.downloads.onChanged.addListener(async (delta) => { // const result = await chrome.downloads.search({ orderBy: ['-startTime'], limit: 5 }); const result = await chrome.downloads.search({}); console.log('onChanged'); console.log(result); console.log(' '); });
manifest.json
{ "manifest_version": 3, "name": "HelloDownloads", "version": "1.0", "background": { "service_worker": "background.js" }, "permissions": [ "downloads" ] }
※
chrome.downloads.searchの引数のDownloadQueryを設定すると、
ダウンロードに関する取得情報を取捨選択可能。例えば、
background.js内のコメントアウトのコードにした場合、
直近でダウンロード(開始)した5ファイルに絞れます。
Reference
Reference
https://yuki.world/how-to-develop-chrome-extension-basics/
https://qiita.com/komlabo/items/5b99d3598f6664621dae
https://qiita.com/sakaimo/items/416f36db1aa982d8d00c
https://qiita.com/suin/items/2b31079056f1356257cb
https://qiita.com/RyBB/items/32b2a7b879f21b3edefc
https://qiita.com/k7a/items/26d7a22233ecdf48fed8
https://www.satoshiiiblog.com/2022/05/07/
Link1
Chrome Extension
https://developer.chrome.com/docs/extensions/
https://developer.chrome.com/docs/extensions/mv3/getstarted/
https://developer.chrome.com/docs/extensions/mv3/getstarted/development-basics/#load-unpacked
https://developer.chrome.com/docs/extensions/mv3/manifest/
https://developer.chrome.com/docs/extensions/mv3/match_patterns/
https://developer.chrome.com/docs/extensions/mv3/tut_debugging/
https://developer.chrome.com/docs/extensions/mv3/tut_debugging/#debug_bg
https://developer.chrome.com/docs/extensions/mv3/tut_debugging/#debug_cs
Link2
Chrome Extension: Load unpacked extension
https://developer.chrome.com/docs/extensions/mv3/getstarted/development-basics/#load-unpacked
https://yuki.world/how-to-develop-chrome-extension-basics/#t_3_chromechrome
Chrome Extension: Inspect background script
https://developer.chrome.com/docs/extensions/mv3/tut_debugging/#debug_bg
https://www.tweeeety.blog/entry/2015/03/04/231354
Chrome Extension: Installing extensions via ChromeDriver
https://sites.google.com/chromium.org/driver/extensions
https://yuki.world/selenium-load-chrome-extension/#t_3
Link3
Chrome Extension: chrome.downloads
https://developer.chrome.com/docs/extensions/reference/downloads/
https://developer.chrome.com/docs/extensions/reference/downloads/#event-onChanged
https://developer.chrome.com/docs/extensions/reference/downloads/#type-DownloadDelta
https://developer.chrome.com/docs/extensions/reference/downloads/#type-DownloadItem
https://developer.chrome.com/docs/extensions/reference/downloads/#method-search
https://developer.chrome.com/docs/extensions/reference/downloads/#type-DownloadQuery