Иногда некоторые загрузки завершаются неудачно, и я хочу перенести все ссылки из списка загрузок Chrome в менеджер загрузок.
Если я сохраняю страницу chrome://downloads, я получаю пустой HTML-файл.
Есть ли способ экспортировать все ссылки на загрузки со страницы загрузок Google Chrome (доступ к ней можно получить, нажав Ctrl+ J)?
решение1
Я поискал в Интернете и в интернет-магазине Chrome, но, к сожалению, расширений для этого нет.
Только когда я попытался написать скрипт, я обнаружил, что все не так просто, поскольку существует множество вложенных теневых элементов DOM, тем не менее мне удалось его написать.
Ниже приведен код, который необходимо вставить в консоль ( Ctrl+ Shift+ J), чтобы получить все ссылки.
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 или с помощью графического просмотрщика SQLite, напримерБраузер БД для SQLite. Ссылки для скачивания указаны в таблице
downloads_url_chains
.
Похожий вопрос, содержащий несколько полезных команд sqlite3:Можно ли экспортировать историю браузера Chrome в HTML-файл?
решение3
Вот что я использовал для получения URL-адресов по состоянию на июнь 2023 года (версия 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);
}
Этот скрипт получает URL-адреса для загрузки вместе с именами файлов партиями по 18 штук. Возможно, вам придется прокрутить страницу загрузок, чтобы загрузить следующую партию, и запустить скрипт несколько раз, если у вас более 18 ссылок.
решение4
Вы также можете использовать специальное приложение NirSoft, BrowserDownloadView (которое я только что протестировал 01.12.2023). Оно прекрасно работает с Chrome (последняя версия, на Windows 10 Enterprise)
Связь: https://www.nirsoft.net/utils/web_browser_downloads_view.html