Alguns downloads falham em algum momento e quero levar todos os links da lista de downloads do Chrome para um gerenciador de downloads.
Se eu salvar a página chrome://downloads, recebo um arquivo html vazio.
Existe uma maneira de exportar todos os links de downloads da página de downloads do Google Chrome (você pode acessá-los pressionando Ctrl+ J)?
Responder1
Pesquisei na web e na Chrome Web Store, infelizmente não há extensões para fazer isso.
Somente quando tentei fazer um script descobri que as coisas não são tão simples porque há muitos elementos shadow DOM aninhados, mesmo assim consegui escrevê-lo.
Abaixo está o código que você precisa colar no console ( Ctrl+ Shift+ J) para obter todos os links.
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="";
Depois disso, você pode salvar a página resultante com Ctrl+ S.
Responder2
Você pode extrair os links de download do banco de dados de histórico do Chrome.
- Localize o
History
arquivo:- no macOS:
~/Library/Application\ Support/Google/Chrome/Default/
- no Windows:
%LocalAppData%\Google\Chrome\User Data\Default
- no Linux:
~/.config/google-chrome/Default
- no macOS:
- Faça uma cópia do arquivo
History
para outro local (você não pode usar o original enquanto o Chrome estiver aberto). - Agora você pode extrair os links de download do arquivo copiado, usandosqlite3CLI ou usando um visualizador GUI SQLite comoNavegador de banco de dados para SQLite. Os links para download estão na tabela
downloads_url_chains
.
Pergunta semelhante que contém alguns comandos sqlite3 úteis:O histórico do navegador Chrome pode ser exportado para um arquivo HTML?
Responder3
Aqui está o que usei para obter os URLs em junho de 2023 (versão 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);
}
Este script obtém os URLs de download junto com os nomes dos arquivos em lotes de 18. Talvez seja necessário rolar a página de downloads para carregar o próximo lote e executar o script várias vezes se tiver mais de 18 links.
Responder4
Você também pode usar o aplicativo dedicado da NirSoft, BrowserDownloadView (que acabei de testar em 01/12/2023). Funcionou perfeitamente com o Chrome (versão mais recente, no Windows 10 Enterprise)
Link: https://www.nirsoft.net/utils/web_browser_downloads_view.html