I tried to get the Document of a Website with Puppetter but somehow page.evaluate doesnt work the way i thought.
let browser = await puppeteer.launch({headless:true});
let page = await browser.newPage();
await page.setViewport({
width: 1920,
height: 1080
})
await page.goto('https://www.tradingview.com/chart/');
const doc = await page.evaluate(() => {
return document;
});
console.log(doc)
When i print doc it prints undefined
Unfortunately, page.evaluate()
can only transfer serializable values (roughly, the values JSON can handle). As document
returns a DOM element that is not serializable (it contains methods and circular references), it is replaced with undefined
. You need to return either serializable value (for example, document.body.innerText
) or use something like page.evaluateHandle()
and JSHandle
API.