JavaScript 到 HTML 转换器?

JavaScript 到 HTML 转换器?

以网页上的这段代码为例。

<html><body>
<script language="javascript">
document.write("The cat");
document.write(" sat on the mat");
</script>
</body></html>

如果我通过 CURL 或 WGET 检索此网页,我会得到该文本,因为 Javascript 尚未处理。

但我想检索这个页面,所以我得到了 Javascript 输出的结果。所以我会得到只是..

The cat sat on the mat

是否有一些 Linux Javascript 沙箱/模拟器/预处理器或类似的东西可以让我将该文本处理为 html。我知道 Javascript 很复杂,并且不期望 100% 的转换。但即使获得一些基本的转换也会有所帮助。

我知道这是可能的,因为我确信谷歌在索引网页时会这样做,以获得他们索引的网页的最佳结果。

答案1

不存在“Javascript 到 HTML 转换器”这样的东西。 Javascript 是一种编程语言,而不是标记语言。浏览器不会将Javascript转换为HTML,而是执行Javascript代码,而Javascript代码的作用是修改HTML。您需要的是一个可以处理 HTML 文档的 Javascript 解释器。

实现此目的的一种方法是在后台使用浏览器引擎。瓦提尔(两种 Web 应用程序测试引擎)是调用 Web 浏览器并使用脚本驱动它的流行选择 — 请参阅除了 SeleniumRC 之外,还有什么好的工具可以获取包含 JavaScript 后绘制内容的网页吗?

最近还有多种编程语言的 Javascript 和 DOM 接口,例如JswebkitPython例子)。

另一种可能性是运行节点.js,这是一个独立的 JavaScript 解释器(例子)。

答案2

你可以试试带有 Javascript 的 elinks支持。一旦构建完成,只需输入:

elinks --转储 1http://www.example.com/my-js-page.html

这样就可以了。他们的文档说 Javascript 支持不是很好,但这是另一种方法。

答案3

我建议使用幻影JS(或者卡斯帕JS,它位于 phantomJS 之上)用于执行此类任务。console.log()用于登录到stdout.你甚至可以这样做屏幕截图

答案4

郑重声明一下,从技术上讲,有一种方法可以将 JavaScript 转换为 HTML。

我经常在Chrome和FireFox中使用inspect element,这是我学习HTML的第一个地方。如果您将 JavaScript 粘贴到检查元素中,它将无法识别其功能。我找到了解决方法。我自学了我所知道的一切,这使得我更容易弄清楚这一点。这是一个例子:

JavaScript:

<script>
function myFunction() {
    document.getElementById("demo").innerHTML = "Hello World";
}
</script>

JavaScript 到 HTML:

getElementById('demo').innerHTML='Hello World';

HTML 读取 HTML 代码的方式与 JavaScript 不同,因此我必须简化 JavaScript 才能获取 HTML 代码。从技术上讲,它是 JavaScript,因为它执行 JavaScript 功能,但它仍然是 HTML,因为它是 HTML 形式。

相关内容