[英]DOM manipulation using node js
我想獲取網站的DOM元素,所以我使用了jsdom package。 問題是網站有一種加載來獲取數據,然后會顯示完整的 HTML 頁面。
我的問題是我的代碼在加載之前執行,因此我認為沒有所有的 DOM 元素。
const jsdom = require('jsdom');
const { JSDOM } = jsdom;
JSDOM.fromURL('https://www.flytoday.ir/flight/search?departure=THR,1&arrival=MUC,1&departureDate=2022-09-25&adt=1&chd=0&inf=0&cabin=1').then((dom) => {
console.log(dom.window.document.getElementById('fareLookUpTitle'));
});
我認為您應該在執行腳本之前使用 load 事件來了解它何時被加載。 我發現這可能會有所幫助。 https://github.com/cordulack/jsdom-event-listener-test-example/blob/a9c789e847e4767204b12754e712554490512df1/js/src/headings.test.js#L7-L17
let dom;
beforeEach(async function() {
dom = await JSDOM.fromFile('./js/test-data/jsdom-test-page.html', {
resources: 'usable',
runScripts: 'dangerously'
});
await new Promise((resolve) =>
dom.window.addEventListener('load', resolve)
);
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.