有时候我们在控制台中获取了一些页面数据又想保存下来,通常consloe.log打印出来然后复制消息,对于小数据非常快,但是对于大数据你得不停的滚动你的鼠标滚轮。所以怎么样才能在控制台中保存一个数据呢?
如下我们获取某个页面中href网址具有video字符串的所有链接,结果发现多达369个。。
arrLinks=Array.from(document.querySelectorAll("a[href*=video]")).map(d=>d.href)
下面上让浏览器弹出对话框并且将这个数组转成一行一个的文本文件(变量转字符串,属于保存函数外部处理的,保存函数只管保存字符串类型的数据)
function saveStringAsFile(str, filename) {
// 创建一个Blob对象,包含要保存的字符串数据
var blob = new Blob([str], {type: 'text/plain'});
// 创建一个URL对象指向Blob
var url = window.URL.createObjectURL(blob);
// 创建一个<a>元素用于下载
var a = document.createElement('a');
a.style.display = 'none';
a.href = url;
a.download = filename || 'download.txt'; // 设置默认文件名为'download.txt'
// 将<a>元素添加到DOM中并触发点击事件以开始下载
document.body.appendChild(a);
a.click();
// 清理:移除<a>元素和释放Blob URL
document.body.removeChild(a);
window.URL.revokeObjectURL(url);
}
然后
saveStringAsFile(arrLinks.join("\n"),"allLinks.txt")