Javascript 如何在Nodejs中使用document.getElementById()

Javascript 如何在Nodejs中使用document.getElementById(),javascript,node.js,document,getelementbyid,dom-node,Javascript,Node.js,Document,Getelementbyid,Dom Node,我正在尝试使用nodejs从js文件中的html文件中按id获取元素。 我收到错误“document id not defined”,因为默认情况下节点不提供文档对象模型 那么如何在nodejs中使用document.getElementById() 谢谢大家! 使用JSDOM npm包: jsdom是许多web标准(尤其是WHATWG DOM和HTML标准)的纯JavaScript实现,用于Node.js。一般来说,该项目的目标是模拟足够多的web浏览器子集,以便用于测试和抓取真实世界的web

我正在尝试使用nodejs从js文件中的html文件中按id获取元素。 我收到错误“document id not defined”,因为默认情况下节点不提供文档对象模型

那么如何在nodejs中使用document.getElementById()

谢谢大家!

使用JSDOM npm包:

jsdom是许多web标准(尤其是WHATWG DOM和HTML标准)的纯JavaScript实现,用于Node.js。一般来说,该项目的目标是模拟足够多的web浏览器子集,以便用于测试和抓取真实世界的web应用程序。

如果您想在同一台服务器中解析文件,您可能应该使用一些选项,因为nodejs它只是一个JavaScript实现,没有
窗口或
文档
对象,请参阅。但要准确回答你的问题:

如何在nodejs中使用document.getElementById()

你可以使用

Puppeter是一个节点库,它提供了一个用于控制的高级API 无头铬或通过DevTools协议的铬。也可以是 配置为使用全铬(非无头)或铬

下面是一个基本示例:

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)

  })();

node.js程序不在浏览器中运行。首先没有
文档
。你是在问如何解析node.js中的HTML文件吗?OP的可能副本想要解析服务器上的HTML文件,而不是某个网站。@ChrisG你可以解析同一服务器上的文件,问题是:“如何在Nodejs中使用document.getElementById()”,这是一种方法。问题没有提到服务器正在运行。它还清楚地表示,html文件中的
,这意味着这几乎是一个简单的文档,使用
文档。getElementById()
一开始就已经是一条错误的道路。除此之外,这个问题是一个清晰的重复问题,并且得到了广泛的回答。@ChrisG是的,这可能是一个XY问题,我在回答中已经做了澄清。无论哪种方式,如果有人在谷歌搜索如何在节点中使用document.getElementById()时发现这个问题,这都是一个可能的正确答案。谢谢你的反馈!