Puppeteer 是一個(gè) Node 庫,它提供了一個(gè)高級 API 來通過 DevTools 協(xié)議控制 Chromium 或 Chrome。
Puppeteer API 是分層次的,反映了瀏覽器結(jié)構(gòu)。
注意:在下面的圖表中,淺色框體內(nèi)容目前不在 Puppeteer 中體現(xiàn)。

- Puppeteer 使用 DevTools 協(xié)議 與瀏覽器進(jìn)行通信。
- Browser 實(shí)例可以擁有瀏覽器上下文。
- BrowserContext 實(shí)例定義了一個(gè)瀏覽會(huì)話并可擁有多個(gè)頁面。
- Page 至少有一個(gè)框架:主框架。 可能還有其他框架由 iframe 或 框架標(biāo)簽 創(chuàng)建。
- frame 至少有一個(gè)執(zhí)行上下文 - 默認(rèn)的執(zhí)行上下文 - 框架的 JavaScript 被執(zhí)行。 一個(gè)框架可能有額外的與 擴(kuò)展 關(guān)聯(lián)的執(zhí)行上下文。
- Worker 具有單一執(zhí)行上下文,并且便于與 WebWorkers 進(jìn)行交互。
更多建議: