我正在尝试使用pupetteer-core,但是当我运行代码时。
const puppeteer = require('puppeteer-core');
module.exports= run = () => {
const url = 'https://example.com'
const browser = puppeteer.launch();
const page = browser.newPage().then(function(page){
page.goto(url)
return browser
};
run().catch(console.error.bind(console))
我收到此错误
TypeError: browser.newPage is not a function
答案 0 :(得分:1)
您的代码中的问题是puppeteer与Promises一起使用,这意味着大多数函数将直接返回Promise而不是值。这意味着您必须使用then函数或await
语句来获取值。
代码示例
module.exports = run = async () => {
const url = 'https://example.com';
const browser = await puppeteer.launch();
const page = await browser.newPage();
await page.goto(url);
return browser;
};
请注意,该函数现在被标记为async
,使其隐式返回Promise。这意味着要等待run()
函数完成,您将不得不从另一个async
函数内部调用它,如下所示:
(async () {
const browser = await run();
})();