Javascript 如何在Nodejs中使用document.getElementById()
我正在尝试使用nodejs从js文件中的html文件中按id获取元素。 我收到错误“document id not defined”,因为默认情况下节点不提供文档对象模型 那么如何在nodejs中使用document.getElementById() 谢谢大家! 使用JSDOM npm包: jsdom是许多web标准(尤其是WHATWG DOM和HTML标准)的纯JavaScript实现,用于Node.js。一般来说,该项目的目标是模拟足够多的web浏览器子集,以便用于测试和抓取真实世界的web应用程序。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它只是一个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()时发现这个问题,这都是一个可能的正确答案。谢谢你的反馈!