Class:page:event


  1. console
    用于监控浏览器的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();
});
  1. dialog
    用于监控页面的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'));
});
  1. error
    监控页面的崩溃事件。尝试了很多次居然不能响应到error事件。
  2. frameattached/framenavigated/framedetached
    监控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();
});
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 海尔开放平台 | HDK-JS开发者文档 v0.6 1. dsljflasdjfkljaklf 2. siajfl...
    dadage456阅读 292评论 0 0
  • python自动化测试中寻找元素并进行操作,如果在元素好找的情况下,相信大家都可以较熟练地编写用例脚本了,但光进行...
    燕京博士阅读 507评论 0 3
  • 国家电网公司企业标准(Q/GDW)- 面向对象的用电信息数据交换协议 - 报批稿:20170802 前言: 排版 ...
    庭说阅读 11,145评论 6 13
  • error code(错误代码)=0是操作成功完成。error code(错误代码)=1是功能错误。error c...
    Heikki_阅读 3,452评论 1 9
  • 我认为每个人能找到让自己有过一瞬发自内心渴望的事情是很难得的,万千世界那么大,为什么偏偏会对特定的东西产生渴望,这...
    澈澈翁阅读 569评论 1 0