[英]Puppeteer - why is innerText not printed on console while every element does?
[英]Why Does My Puppeteer .innerText code return nothing?
所以我刚开始学习 puppeteer.js,发生的事情是我的代码运行它没有错误,但它没有向控制台显示任何内容。 (我将 Node.js 用于调试目的)唯一的显示是当我将异步 function 放入另一个 function 时,即使它返回未定义。 我想知道为什么会这样以及如何解决它。
这是我的代码:
(async () =>{
let movieUrl = 'https://www.imdb.com/title/tt0111161/?ref_=nav_sr_1'
let browser = await puppeteer.launch();
let page = await browser.newPage();
await page.goto(movieUrl, {waitUntil: 'networkidle2'})
let data = await page.evaluate(() => {
let title = document.querySelector('div[class="title_wrapper"] > h1').innerText;
let rating = document.querySelector('span[itemprop="ratingValue"]').innerText;
let ratingCount = document.querySelector('span[itemprop="ratingCount"]').innerText;
return{title, rating, ratingCount};
})
console.log(data);
debugger;
await browser.close();
})
这是一个未命名的异步 function:
async () => {
// the function code
}
如果你想立即运行它,你需要调用它。 您可以通过将其括在括号中来做到这一点:
(async () => {
// the function code
})()
这称为 IIFE,立即调用 Function 表达式。 您声明一个 function 并立即运行它。
请参阅这些文章以了解它:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.