【问题标题】:Puppeteer - page.$$('').length returns undefinedPuppeteer - page.$$('').length 返回 undefined
【发布时间】:2019-07-03 22:35:50
【问题描述】:

我的代码有错误,所以我尝试在错误代码中记录值。所以我做到了:

const read = await page.$$('.Ns6lhs9 _gfh3').length;

那我console.log(read);

由于某种原因,我得到了undefined,尽管 HTML 中有类名称为 'Ns6lhs9 _gfh3' 的元素

【问题讨论】:

标签: javascript node.js async-await puppeteer


【解决方案1】:

$$ 返回一个元素的承诺,而length 不是承诺,它是实际值。

应该是:

const read = (await page.$$('.Ns6lhs9._gfh3')).length;

【讨论】:

  • 谢谢!但是现在由于某种原因它返回 0,而 HTML 中有这些具有该类名的元素...
  • 嗯,这取决于你的情况。请注意,选择器查找的是_gfh3 元素,而不是类或其他,而且不太可能是这样。
  • 我想做的是选择具有属性的元素:
  • 那就是.Ns6lhs9._gfh3。这是一堂课。
  • 您是否应该将其编辑为(await page.$$('.Ns6lhs9._gfh3')).length;
【解决方案2】:

我在使用 CSS 选择器计算元素时遇到了类似的问题。我尝试了 xpath 选择器,但由于某种原因它确实有效。

【讨论】:

  • xpath 选择器到底是什么意思?
猜你喜欢
相关资源
最近更新 更多
热门标签