Javascript 在Puppeter page.evaluate can';找不到文本
我正在尝试将“document.querySelector(“.navigator\uu results”).childNodes[0]”检索到我的变量结果Javascript 在Puppeter page.evaluate can';找不到文本,javascript,web-scraping,puppeteer,Javascript,Web Scraping,Puppeteer,我正在尝试将“document.querySelector(“.navigator\uu results”).childNodes[0]”检索到我的变量结果 const result = await page.evaluate( async () => { const a = await document.querySelector(".navigator__results").childNodes[0]; console.log(a); return a });
const result = await page.evaluate( async () => {
const a = await document.querySelector(".navigator__results").childNodes[0];
console.log(a);
return a
});
console.log(result);
浏览器上的console.log(a)可以正常工作。
但是console.log(result)没有
有没有办法解决这个问题
如下图所示,已尝试延迟,但未成功:
await page.waitFor(10000);
const result = await page.evaluate( async () => {
function sleep(ms) {
return new Promise(resolve => setTimeout(resolve, ms));
}
await sleep(8000);
console.log(document.querySelector(".navigator__results").childNodes[0]);
const a = await document.querySelector(".navigator__results").childNodes[0];
console.log(a);
return a;
});
console.log(result);
document.querySelector(“.navigator\uu results”).childNodes[0]
返回HTML元素。您可以在浏览器控制台中记录它,但无法通过page.evaluate()
:只能传输可序列化的数据(粗略地说,数据JSON可以处理),并且HTML元素无法序列化,因此返回未定义的
另外,对于document.querySelector()
:),您不需要等待