我是使用 puppeteer 的新手,我想抓取某个网站的一些数据,但我收到这些警告,并且控制台上没有显示任何数据。
为什么我会收到以下警告,如何消除它们?
这是我使用的代码:
const puppeteer = require("puppeteer");
(async () => {
// prepare for headless chrome
const browser = await puppeteer.launch();
const page = await browser.newPage();
// set user agent (override the default headless User Agent)
await page.setUserAgent(
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.129 Safari/537.36"
);
// go to website home page
await page.goto("https://www.nytimes.com/");
await page.waitForSelector("body");
// get the User Agent on the context of Puppeteer
const userAgent = await page.evaluate(() => navigator.userAgent);
var rposts = await page.evaluate(() => {
postItems = [];
let posts = document.body.querySelectorAll(".assetWrapper");
posts.forEach((item) => {
try {
title = item.querySelector("h2").innerText;
link = item.querySelector("a").href;
summary = item.querySelector("p").innerText;
postItems.push({ title: title, link: link, summary: summary });
} catch (e) {}
});
var items = {
posts: postItems,
};
return items;
});
// If everything correct then no 'HeadlessChrome' sub string on userAgent
console.log(userAgent);
console.log(rposts);
await browser.close();
})();
以下是出现的错误: ( Node :4072)UnhandledPromiseRejectionWarning:ReferenceError:浏览器未定义 ( Node :15452)UnhandledPromiseRejectionWarning:ReferenceError:初始化前无法访问“页面”
最佳答案
创建 headless 浏览器,然后您就可以使用这些代码。
const browser = await puppeteer.launch({
headless: false
});
问候,
关于javascript - 未处理的PromiseRejection警告: ReferenceError: browser is not defined when running puppeteer?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61624926/