回调元素在控制台中不显示任何内容



在这里,我试图让每个玩家使用玩家URL运行和匹配。当我在page.$$eval方法中传递选择器,并在控制台时在回调元素中传递选择器时,我在其中一无所获

const stats = await page.$$eval(
"div.score-top.sp.text-center > div.container > div.match-summary > div.row > div.col-sm-12 > div.match-in-summary > div.row > div.col-sm-5 > div.matches-runs-wickets > ul.list-inline ",
(elements) => {
console.log("elements", elements);
return elements.map((match) => {
return (obj = {
matches: match.querySelector(" li:nth-Child(1) >span").innerText,
runs: match.querySelector("li:nth-Child(2) > span").innerText,
});
});
}
);
return stats;
}

但是当我映射回调元素并返回对象时,我会在stats变量中获得运行和匹配。这里提到了代码的详细信息。

您在eval函数中console.log的所有内容都将显示在浏览器的控制台中。查看您打开的浏览器控制台,您将在那里看到您试图打印的日志。

在您的示例中,console.log不是发生在node.js端,而是发生在无头浏览器控制台内部。如果您使用headless: false选项启动puppeteer,您可以看到消息。

若您想在终端中接收这样的控制台消息,请参阅此答案。

最新更新