如何解决将 chrome 控制台的交错输出存储到单个变量中并复制它
以下是使用标签和 ID 名称从特定站点抓取数据的代码:
document.querySelectorAll("div #menu a").forEach((item)=>(fetch(item.href).then(res => res.text()).then(data => console.log(data))));
这里的菜单是锚标签的 div 标签的 id 名称,item 返回所有我想存储在本地的过滤锚标签。
我想以单个 var "data"
返回输出,但我得到的输出是交错的,就像一个 url 一样,然后它显示复制该代码,然后显示另一个 url 的下一个相同内容,依此类推
解决方法
如果你想下载文件,你可以从下面使用console.save 我使用此代码通过更改标签和 ID 来抓取不同的文档站点和其他课程内容以及更多内容
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,null)
a.dispatchEvent(e)
}
})(console)
document.querySelectorAll("div #menu a").forEach((item)=>(fetch(item.href).then(res => res.text()).then(data => add(data)
)));
var body;
var add = data => {body += data;}
console.log(body)
只需使用“console.save(yourObjectHere)”下载,最后3行代码进行合并,将数据复制到另一个变量使用“copy(yourObjectHere)”
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。