我想使用javascript将DOM树的当前状态序列化为字符串。结果格式并不重要,尽管我更喜欢html。
有一种简单的方法吗?
为了记录,我想使用PhantomJs自动下载页面,使用js脚本操作它,并保存页面的当前状态(但不是图像或pdf)。
答案 0 :(得分:4)
您可以使用XMLSerializer序列化任何元素或dom的一部分。这是代码
Element.prototype.innerText = function(){
var serializer = new XMLSerializer();
var serialized = serializer.serializeToString(this);
return serialized;
}
答案 1 :(得分:1)
您可以在浏览器控制台中运行它:
new XMLSerializer().serializeToString(document);
用任何节点替换document
。例如,结合CSS选择:
new XMLSerializer().serializeToString(document.querySelector('h1'));
“ http://www.w3.org/1999/xhtml \” itemprop = \“ name \” class =“ \ grid--cell fs-headline1 fl1 ow-break-word mb8 \”>我可以使用JS序列化当前DOM?”
我们可以将其包装在一个函数中
const serializeElement = el => {
const serializer = new XMLSerializer();
return serializer.serializeToString(el);
};