как использовать document.getElementById () в Nodejs - PullRequest
0 голосов
/ 10 сентября 2018

Я пытаюсь получить элементы по идентификатору из html-файла в js-файле, используя nodejs. Я получаю сообщение об ошибке «идентификатор документа не определен», поскольку по умолчанию узел не предоставляет объектную модель документа.

Так, как я могу использовать document.getElementById () в nodejs?

Спасибо!

Ответы [ 2 ]

0 голосов
/ 10 сентября 2018

Если вы хотите проанализировать файлы на одном и том же сервере, вам, вероятно, следует использовать некоторые из этой опций, поскольку nodejs - это просто реализация JavaScript. Нет объекта window или document, см. это . Но чтобы точно ответить на ваш вопрос:

как я могу использовать document.getElementById () в nodejs?

Вы можете сделать это, используя Кукольник

Puppeteer - это библиотека Node, которая предоставляет высокоуровневый API для управления безголовый хром или хром по протоколу DevTools. Это также может быть настроен на использование полного (без заголовка) Chrome или Chromium.

Вот базовый пример:

const puppeteer = require('puppeteer');

(async () => {
    const browser = await puppeteer.launch();


        page = await browser.newPage();
        await page.goto('http://example.com/some.html', {waitUntil: 'load'});


    const newPage = await page.evaluate(() => {

        return  document.getElementById("idexample").innerHTML;

        });

     console.log(newPage)

  })();
0 голосов
/ 10 сентября 2018

Используйте пакет JSDOM npm:

jsdom - это реализация многих веб-стандартов на чистом JavaScript, в частности WHATWG DOM и HTML Standards, для использования с Node.js. В целом, цель проекта состоит в том, чтобы эмулировать достаточно подмножества веб-браузера, чтобы его можно было использовать для тестирования и анализа реальных веб-приложений. https://github.com/jsdom/jsdom

...