美文网首页puppeteer
Class:page:event

Class:page:event

作者: doublePml | 来源:发表于2017-10-09 15:29 被阅读0次

  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();
});

相关文章

网友评论

    本文标题:Class:page:event

    本文链接:https://www.haomeiwen.com/subject/tqxpyxtx.html