- console
用于監(jiān)控瀏覽器的console事件。
'use strict';
const puppeteer = require('puppeteer');
puppeteer.launch().then(async browser => {
const page = await browser.newPage();
page.on('console', (...args) => {
for (let i = 0; i < args.length; ++i)
console.log(`${i}: ${args[i]}`);
});
await page.goto('https://baidu.com');
browser.close();
});
- dialog
用于監(jiān)控頁(yè)面的JavaScript dialog事件。比如 alert, prompt, confirm or beforeunload。
'use strict';
const puppeteer = require('puppeteer');
puppeteer.launch().then(async browser => {
const page = await browser.newPage();
page.on('dialog', dialog => {
console.log(dialog.message());
dialog.dismiss().then(()=>{
setTimeout(()=>{
browser.close();
},1);
})
});
page.evaluate(() => alert('alert dislog'));
});
- error
監(jiān)控頁(yè)面的崩潰事件。嘗試了很多次居然不能響應(yīng)到error事件。
- frameattached/framenavigated/framedetached
監(jiān)控frame的attach/navigated/detached事件。
const puppeteer = require('puppeteer');
puppeteer.launch().then(async browser => {
const page = await browser.newPage();
page.on('frameattached',(frame)=>{
console.log("new frameattached:");
})
page.on('framenavigated',(frame)=>{
console.log("framenavigated url: " + frame.url());
})
page.on('framedetached',(frame)=>{
console.log("framedetached url: " + frame.url());
})
await page.goto('http://ueditor.baidu.com/website/onlinedemo.html');
await browser.close();
});
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。