使用Chrome控制台下载文件(重命名文件并获取对象)

时间:2017-07-31 14:09:22

标签: javascript google-chrome

我正在尝试使用Chrome控制台以更快的方式使用for循环下载一系列文件。它是一个公共资源,但它的网站很旧,不支持同时下载多个文件,而且有数百个...

问题是,在下载文件时,Chrome似乎为文件指定了一个随机名称 - 如何在控制台中重命名我要下载的文件?

另外,我使用getElementByTagName来获取页面内的按钮,但是我无法获得.click()或.submit()。是否有任何方法可以触发点击按钮?

3 个答案:

答案 0 :(得分:1)

如果您要下载的文件正在使用链接< a>然后设置“下载”属性。它将用作默认下载名称

答案 1 :(得分:0)

我知道它与这个主题并不完全相关,但最后我在bash中使用wget循环完成了多个文件的下载。

答案 2 :(得分:0)

如果你想下载文件,你可以使用下面的console.save

http://bgrins.github.io/devtools-snippets/#console-save

(function(console) {
    console.save = function(data, filename){
        if(!data) {
            console.error('Console.save: No data')
            return;
        }
        if(!filename) filename = 'console.html'
        if(typeof data === "object"){
            data = JSON.stringify(data, undefined, 4)
        }
        var blob = new Blob([data], {type: 'text/json'}),
            e    = document.createEvent('MouseEvents'),
            a    = document.createElement('a')

        a.download = filename
        a.href = window.URL.createObjectURL(blob)
        a.dataset.downloadurl =  ['text/json', a.download, a.href].join(':')
        e.initMouseEvent('click', true, false, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null)
        a.dispatchEvent(e)
    }
})(console)

只需使用 console.save(yourObjectHere)