ppeteer有头(headful)模式会显示浏览器界面,可以使用DevTools调试应用程序本身。
const puppeteer = require('puppeteer'); (async () => { const browser = await puppeteer.launch({ devtools: true }); // 浏览器操作 // 保持浏览器打开,直到显式终止进程 await browser.waitForTarget(() => false); await browser.close(); })();
puppeteer启动时,设置devtools: true
,默认情况下会以有头(headful)模式启动浏览器,并自动打开devtools。使用waitForTarget
来保留浏览器进程,直到浏览器被显式关闭。
要让浏览器休眠一段时间,可以使用:
setTimeout
方法page.waitFor
方法
如下所示:
const puppeteer = require('puppeteer'); (async () => { const browser = await puppeteer.launch({ devtools: true }); // 浏览器操作 // 选项1 - 在“setTimeout”结束时resolve一个承诺 const sleep = duration => new Promise(resolve => setTimeout(resolve, duration)); await sleep(3000); // 选项2 -如果我们有一个页面实例,只需使用' waitFor ' await page.waitFor(3000); await browser.close(); })();
第一种方法只是一个函数,它在setTimeout结束时resolve一个承诺;第二种方法要简单很多,但是需要有一个page实例(我们将在稍后讨论)。