首页 > 解决方案 > 这个元素存在吗?

问题描述

我想知道我正在用 puppeteer 抓取的页面上是否存在一个元素。我在此函数中使用此代码,但它不起作用:

let build = await page.evaluate(() =>{
let rune = document.querySelector('#selector') == null ? false : document.querySelector('#selector').src
return rune;
})

它总是返回 false,即使元素存在并且应该返回 true。

标签: javascriptnode.jspuppeteer

解决方案


您应该异步调用 await 函数。可能它在加载之前调用函数。

    (async () => {
let build = await page.evaluate(() =>{
let rune = document.querySelector('#selector') == null ? false : document.querySelector('#selector').src
return rune;
})
})();

推荐阅读