如何從 chrome://downloads 匯出所有下載連結?

如何從 chrome://downloads 匯出所有下載連結?

有些下載有時會失敗,我想將 Chrome 下載清單中的所有連結轉移到下載管理器。

如果我儲存 chrome://downloads 頁面,我會得到一個空的 html 檔案。

有沒有一種方法可以從 Google Chrome 下載頁面匯出所有下載連結(您可以透過點擊Ctrl+存取它J)?

答案1

我搜尋了網路和 Chrome 線上應用程式商店,不幸的是沒有擴充功能可以做到這一點。

只有當我嘗試編寫腳本時,我才發現事情不那麼簡單,因為有很多嵌套的影子 DOM 元素,但我還是設法編寫了它。

以下是您需要貼上到控制台(Ctrl++ )中以取得所有連結的程式碼。ShiftJ

ditems = document.querySelector("downloads-manager").shadowRoot.querySelector("iron-list").querySelectorAll("downloads-item");

var div = document.createElement('div');

[].forEach.call(ditems, function (el) {
var br = document.createElement('br');
var hr = document.createElement('hr');
div.appendChild(el.shadowRoot.querySelector("#url"));
div.appendChild(br);
div.appendChild(hr);

});
document.body.innerHTML=""
document.body.appendChild(div);
document.head.style.innerHTML="";

Ctrl之後,您可以使用+儲存結果頁面S

答案2

您可以從 Chrome 的歷史資料庫中提取下載連結。

  1. 找到該History文件:
    • 在 macOS 上:~/Library/Application\ Support/Google/Chrome/Default/
    • 在 Windows 上:%LocalAppData%\Google\Chrome\User Data\Default
    • 在 Linux 上:~/.config/google-chrome/Default
  2. 將檔案複製History到另一個位置(Chrome 開啟時無法使用原始檔案)。
  3. 現在,您可以使用以下命令從複製的檔案中提取下載鏈接sqlite3CLI,或使用 GUI SQLite 檢視器,例如SQLite 資料庫瀏覽器。下載連結在表格中downloads_url_chains

類似的問題包含一些有用的 sqlite3 指令:Chrome 瀏覽器歷史記錄可以匯出到 HTML 檔案嗎?

答案3

以下是我用來取得截至 2023 年 6 月的 URL(版本 112.0.5615.121)的方法:

var items = document.getElementsByTagName('downloads-manager')[0].$.downloadsList._physicalItems;
for (let i = 0; i < items.length; i++) {
    console.log(items[i].$.name.innerHTML + ' - ' + items[i].$.url.innerHTML);
}

此腳本以 18 個批次取得下載 URL 和檔案名稱。

答案4

您也可以使用 NirSoft 專用應用程式 BrowserDownloadView(我剛剛在 2023 年 12 月 1 日測試過)。它與 Chrome(最新版本,在 Windows 10 企業版上)配合得很好

關聯: https://www.nirsoft.net/utils/web_browser_downloads_view.html

相關內容