【发布时间】:2021-02-27 19:26:41
【问题描述】:
我正在尝试做一个 webScraping 应用程序,但是在初始化浏览器和页面对象时,它们在从 init() 函数返回后未定义。这是一个sn-p:
浏览器和页面在我的文件顶部初始化:browser = null 和 page = null
所以我想在我的init() 函数中使用这些全局变量。
async function init() {
try {
browser = await puppeteer.launch({
headless: true,
args: ["--disable-setuid-sandbox"],
ignoreHTTPSErrors: true,
});
page = await browser.newPage();
} catch (err) {
console.log(err.message);
}
return {
first: page,
second: browser,
};
}
var retvals = init();
browser = retvals.browser;
page = retvals.page;
console.log(typeof browser);
console.log(typeof page);
scrapeSite(urls[0]);
我该如何解决这个问题? 提前致谢
【问题讨论】:
-
如果将控制台日志放在此行之后会怎样:“page = await browser.newPage();”在抓到之前,你得到了什么?
-
@sohaieb 都存在类型对象。
标签: javascript node.js web-scraping puppeteer