当前位置: 首页 > 面试题库 >

木偶页面。评估querySelectorAll返回空对象

何松
2023-03-14
问题内容

我正在尝试木偶戏。这是您可以在其上运行的示例代码:https : //try-
puppeteer.appspot.com/

问题是此代码返回一个空对象数组:

[{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{
},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},
{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{} ,{},​​{},{},{},{},{},{}]

我在弄错吗?

const browser = await puppeteer.launch();

const page = await browser.newPage();
await page.goto('https://reddit.com/');

let list = await page.evaluate(() => {
  return Promise.resolve(Array.from(document.querySelectorAll('.title')));
});

console.log(JSON.stringify(list))

await browser.close();

问题答案:

评估函数返回的值应该是json可序列化的。
https://github.com/GoogleChrome/puppeteer/issues/303#issuecomment-322919968

解决方案是从元素中提取href值并将其返回。

 await this.page.evaluate((sel) => {
        let elements = Array.from(document.querySelectorAll(sel));
        let links = elements.map(element => {
            return element.href
        })
        return links;
    }, sel);


 类似资料:
  • 我对Spring 3.1.0有一个有趣的问题。JSP页面没有评估它们的EL。我已经调试了视图解析过程,并且正在使用JstlView并且检测到Jstl库。但是,我的JSP页面只是呈现如下内容 这里有很多关于这个问题的参考资料,但没有一个对我有用。 未在JSP页面中呈现的脚本标签(使用Spring Tiles JSPX)Spring和JSP EL未被处理 从顶部看,这是我的配置; 网状物xml spr

  • (节点: 70544)UnhandledPromiseRejessWarning: Un处理的promise拒绝(拒绝id: 1): TypeError:未定义的是不可迭代的(节点: 70544)[DEP0018]DeprecationWarning:未处理的promise拒绝被弃用。将来,未处理的promise拒绝将以非零退出代码终止Node.js进程。 你知道怎么处理吗?

  • 问题内容: 在我的特定情况下,我有两种解决方案。我想找出哪一种更可行。在这种情况下,我还可以通过从服务器端代码返回JSON对象来实现自己的目标。但是,我不知道它是如何完成的,最好的方法是什么。 首先,我不需要完整的aspx页面,因为我只需要从代码返回的响应即可。那么,我是否使用Web服务,处理程序,或者是否有其他特定方法来执行此操作? 这个解决方案可行吗?我是否使用该类构建JSON字符串并将该字符

  • 问题内容: DO (等类似的功能和)的工作一样,还是他们返回元素的数组? 我问的原因是因为我试图使用更改所有元素的样式。见下文。 问题答案: 您的代码可以正常工作,因为ID必须是唯一的,因此该函数始终仅返回一个元素(或者如果找不到元素)。 然而,,,和其他方法返回元件的阵列状的集合。像使用真实数组那样对其进行迭代: 如果您喜欢较短的内容,请考虑使用jQuery:

  • 我正在使用Selenium Python与美丽的汤一起刮数据。点击实时按钮后,我需要网站的html。我要点击按钮,但是新的超文本标记语言没有返回给我。我以为点击按钮后,html会很快返回,所以我睡了一觉。但即便如此,它只返回类“Collapsible__contentInner”的空div。 结果

  • 但是,当我返回列表时,就像这段代码: 对于完全相同的API的列表返回类型的响应是正确的响应: [{“SellingPrice”:23000,“ID”:1,“Version”:1,“CreatedOn”:“25Feb 2019,05:53”,“LastUpdatedOn”:“25Feb 2019,05:53”}]