在页面中,有一堆元素属于特定类。
下面的代码不会显示编号。元素:
await page.$$eval(scoreSelector, (ele) => {
console.log(ele.length);
这可按预期进行:
curLiveScoreElements = await page.$$(scoreSelector)
请澄清。
答案 0 :(得分:1)
使用page.$$eval()
时,您可以通过以下方式获取有问题的元素School
:
length
您还可以使用page.$$()
获得一个ElementHandle
数组,就像您提到的那样,您可以在其中记录结果的长度:
const curLiveScoreElements = await page.$$eval( scoreSelector, ele => ele.length );
console.log( curLiveScoreElements );
或者,您可以监听页面中发生的'console'
事件,并显示结果:
const curLiveScoreElements = await page.$$( scoreSelector );
console.log( curLiveScoreElements.length );
答案 1 :(得分:0)
据我所知,您希望看到一些控制台输出。并且您在命令行界面 (CLI) 中看不到它,因此您认为代码不起作用。
请注意在处理程序中调用的代码($$eval 的第二个参数)是在浏览器中执行的。所以你会在浏览器中找到你的控制台输出,而不是在 CLI 中。 要在 CLI 中查看浏览器的控制台输出,您必须拦截浏览器控制台调用。 你可以在 https://stackoverflow.com/a/46245945/3452033
上得到一个例子