iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 10
1
AI & Data

Puppeteer 簡單快速建立自己的 Nodejs 爬蟲系列 第 10

Day 10 Puppeteer API 介紹 - class: Browser, BrowserContext

  1. class: Browser

    繼承: EventEmitter
    代表他會監聽事件

    Browser是Puppeteer為了連接Chromium所創造的實例
    launch的例子之前看過了
    文件還有提供令一個例子

    中斷連接和重新連接

    const puppeteer = require('puppeteer');
    
    puppeteer.launch().then(async browser => {
      // Store the endpoint to be able to reconnect to Chromium
      const browserWSEndpoint = browser.wsEndpoint();
      // Disconnect puppeteer from Chromium
      browser.disconnect();
    
      // Use the endpoint to reestablish a connection
      const browser2 = await puppeteer.connect({browserWSEndpoint});
      // Close Chromium
      await browser2.close();
    });
    
  2. class: BrowserContext

    繼承: EventEmitter
    BrowserContexts提供方法去處理多個獨立的browser sessions。
    當browser啟動時會預設一個BrowserContext。
    browser.newPage()會建立一個新的page在預設的BrowserContext。
    如果一個頁面被另一個頁面開啟,會歸屬到開啟的頁面的父BrowserContext。


其實browser與browser context可以理解成,browser裡有一個預設的browser context

新的browser context像是無痕模式是需要被新增出來的。
但其他被新增出來的browser context是在browser的子類

架構可以理解為

  • browser
    • browser context(default)可以透過browser.defaultBrowserContext()拿到
    • 其他新增的browser context

下一篇是Page,哇 看到就想吐血


上一篇
Day 9 Puppeteer API 介紹 - class: BrowserFetcher
下一篇
Day 11 中場休息 Typescript (ts) 練習
系列文
Puppeteer 簡單快速建立自己的 Nodejs 爬蟲25
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言