问题描述
我多次运行以下代码,page.goto
大部分时间超时,然后代码的后面部分(从 NOTE 开始)根本没有成功执行,即我看不到 contentSize = ...
打印到控制台。
但是如果 page.goto
没有超时,那么我可以看到 contentSize = ...
打印出来。
那么如果 page
超时,.goto
对象就不能正常工作?
import pptr from "puppeteer"; // version = 10.1.0
async function main(args) {
let browser = await pptr.launch({
headless: false,defaultviewport: null,args: [
"--user-data-dir=/tmp/user_data/","--window-size=1200,1080",]
});
const url = "https://venturebeat.com/";
let page = await browser.newPage();
page.on('console',consoleObj => console.log(consoleObj.text()));
await page.goto(url,{ waitUntil: "networkidle2",timeout: 10000 })
.catch(err => console.log(`page.goto rejected,err: ${err}`)),console.log(`stop loading`);
// NOTE: seems stuck here forever?
let contentSize = (await page.content()).length;
console.log(`content size = ${contentSize}`);
};
main();
在 puppeeter 源代码中添加了许多 console.log
后,似乎它实际上卡在了 the code here。
更新:奇怪的是,在我从 Chromium 切换到 Chrome 后,问题似乎消失了。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)