Jsdom: как открыть браузер с данными, полученными с помощью «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', выполнить некоторые манипуляции с ними, а затем открыть браузер и показать обработанные данные.

Я знаю, что пакет «открыть» может помочь мне открыть браузер, но я должен указать URL-адрес в качестве аргумента. Он не может обрабатывать объект «окно». У тебя есть идеи?


person CrazySynthax    schedule 30.07.2017    source источник


Ответы (1)


Я не уверен, чего вы хотите достичь в долгосрочной перспективе. Я предполагаю, что вы запускаете node.js на клиентской машине с установленным браузером. Если это правда, я бы сохранил содержимое DOM в файл с помощью FS, а затем открыл браузер с параметрами для загрузки этого html-файла.

Чтобы получить содержимое, вы должны просто запустить метод jquery:

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

Как использовать ФС:

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

Чтобы открыть файл в браузере, вы можете установить opn и запустить его.

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

Без opn вы можете запустить бинарный файл браузера с помощью команды, как в ответах на этот вопрос: Выполнить двоичный файл командной строки с помощью Node.js

person Zbyszek    schedule 30.07.2017