Jsdom:如何打开带有 'jsdom' 拉取数据的浏览器?

Jsdom: how to open a browser with data pulled with 'jsdom'?

我想开始使用 'jsdom' 包 jsdom: https://github.com/tmpvar/jsdom

我在文档中看到了以下代码片段:

var jsdom = require("jsdom");
jsdom.env("http://nodejs.org/dist/", [
        'http://code.jquery.com/jquery-1.5.min.js'
    ],
    function(errors, window) {
        console.log(window);
        // I want to open a browser window that will show the content of window
    }
);

如您所见,我可以使用 'jsdom' 从网站“http://code.jquery.com/jquery-1.5.min.js”中提取数据。现在,我想获取 'window' 变量中的数据,对其进行一些操作,然后打开浏览器并显示操作后的数据。

我知道 'open' 包可以帮我打开浏览器,但我必须给它一个 URL 作为参数。它无法处理 'window' 对象。你有什么想法?

我不确定你想在 long 运行 中实现什么。我假设您 运行 node.js 在客户端机器上安装了浏览器。如果这是真的,那么我将使用 FS 将 DOM 的内容保存到一个文件中,然后打开带有参数的浏览器以加载该 html 文件。

要获取内容,您应该可以简单地 运行 jquery 方法:

var html = $("html").html();

FS的使用方法:

fs = require('fs');
fs.writeFile("/path/file.html", html)

要在浏览器中打开文件,您可以安装 opn 和 运行 它

const opn = require('opn');
opn ('file:///path/file.html')

在没有 opn 的情况下,您可以 运行 浏览器二进制文件,使用如下问题的答案中的命令:Execute a command line binary with Node.js