有些下載有時會失敗,我想將 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 的歷史資料庫中提取下載連結。
- 找到該
History
文件:- 在 macOS 上:
~/Library/Application\ Support/Google/Chrome/Default/
- 在 Windows 上:
%LocalAppData%\Google\Chrome\User Data\Default
- 在 Linux 上:
~/.config/google-chrome/Default
- 在 macOS 上:
- 將檔案複製
History
到另一個位置(Chrome 開啟時無法使用原始檔案)。 - 現在,您可以使用以下命令從複製的檔案中提取下載鏈接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