Javascript 获取呈现为文本的html,包括换行符

Javascript 获取呈现为文本的html,包括换行符,javascript,html,css,Javascript,Html,Css,我有一个带有一些html的页面。 我希望以文本的形式获取呈现的页面,但不知何故还包括换行符。此外,如果相关的话,我正在寻找一个扩展的解决方案,它还将支持列表(使用空格和•)、表(使用空格,但没有边框)和类似的情况 我正在寻找Javascript解决方案,无论是在客户端还是服务器端 请注意:并非页面中的每个元素都等于新行(例如:一些div可以内联,一些可以创建新行) 例如,下面的代码段将是html,输出将是文本本身,正如您在下面看到的(运行后) #内联{ 显示器:flex; 弯曲方向:行; }

我有一个带有一些html的页面。 我希望以文本的形式获取呈现的页面,但不知何故还包括换行符。此外,如果相关的话,我正在寻找一个扩展的解决方案,它还将支持列表(使用空格和•)、表(使用空格,但没有边框)和类似的情况

我正在寻找Javascript解决方案,无论是在客户端还是服务器端

请注意:并非页面中的每个元素都等于新行(例如:一些div可以内联,一些可以创建新行)

例如,下面的代码段将是html,输出将是文本本身,正如您在下面看到的(运行后)

#内联{
显示器:flex;
弯曲方向:行;
}
#内联div{
右边距:5px;
}
#不在线{
显示器:flex;
弯曲方向:立柱;
}

某物

somedivson相互重叠
有一个名为js的scraper,可以为您提取所有文本,但我从未使用过它。它允许您访问DOM,您可以收集所需页面的任何部分。下面是一个将其与节点一起使用的示例


不确定这是否是您正在寻找的,如果它们是您自己的页面,您可能可以创建一个函数来调用dom中的所有内容,并在打开-关闭克拉和抓取之间的文本中进行分隔,如果它看到notInLine类,则可能会进行切换。您可以尝试此方法。第一个内联文本第二个“相互重叠”文本:


获取文本很简单。难点在于按要求添加cr/lf。Cheerio不是正确的解决方案。问题是我在客户端或服务器端获取文本都没有问题,我很难将呈现的html解析为实际的换行符,如上所述。谢谢!但这意味着我需要根据css规则创建自定义代码,对吗?难道没有自动的方法吗?也许是事先准备好的?
var inlineOutput = '';
document.querySelector('#inline').childNodes.forEach(e=>{inlineOutput += e.textContent + ' '}) + "\n";
console.log(inlineOutput);

var noInLineOutput = '';
document.querySelector('#notInline').childNodes.forEach(e=>{noInLineOutput += e.textContent + " \n"});

console.log(noInLineOutput);