將 Google Chrome 下載的檔案轉移至 CLI 環境下執行 / Prepare Google Chrome's download items for CLI tool, such as curl & wget
本篇介紹如何將 Google Chrome
下載的檔案比較方便的轉移至 Command Line 下載工具 (諸如 wget
/ curl
) 的方法。
為了獲得更多下載檔案時的控制權
,我習慣將瀏覽器內建的檔案下載,轉移至其它工具。本篇介紹一種相對簡便的操作方式,相對於利用 TabFS 等奇技淫巧的方式親民得多。
Step 1 : 開啟 Google Chrome 下載頁
在正常使用 Google Chrome 下載檔案後,此時可以按下快捷鍵 Ctrl + j 來開啟下載頁的 TAB,或是按照下圖的圖形介面操作開啟。
Step 2 : 開啟 Google Chrome 下載頁的 DevTool
在 Google Chrome 下載頁的 Tab 中,按下快捷鍵 F12 開啟 Google DevTool,或是按照下圖的圖形介面操作開啟。
Step 3 : 切換至 Console panel 並執行程序
接著切換至 Console panel,並將如下程序碼貼上並執行 (貼上後按下 Enter 鍵)。
/**
* Prepare Google Chrome's download items for CLI tool, such as curl / wget / etc.
* @copyright Yi-Feng Tzeng <yftzeng@gmail.com>
* @license MIT License <https://spdx.org/licenses/MIT.html>
* @tutorial
* 1) In Google Chrome, use `Ctrl + j` to open "chrome://downloads/" tab.
* 2) Open "Chrome DevTools", press `F12`, and change to "Console" panel.
* 3) Paste all the contents here in "Console" panel, then press `Enter` key.
* 4) Copy output text in your COMMAND LINE.
* 5) Done, and have fun.
* @see {@link https://blog.gcos.me/post/2021-05-23_prepare-google-chrome-download-items-for-cli-tool-such-as-curl-wget/} for further information.
*/
items = document.querySelector("downloads-manager").shadowRoot.querySelector("iron-list").querySelectorAll("downloads-item");
[].forEach.call(items, function (item) {
command = "wget";
command_args = "-c -O";
name = item.shadowRoot.getElementById("name").innerText;
url = item.shadowRoot.getElementById("url").href;
console.log(command + " " + command_args + " '" + name + "' '" + url + "'");
});
上述程序同步存放於 Gist。
最後如下圖,把輸出指令複製並在 CLI 命令列模式下貼上並執行即可。