puppeteer-devtools v1.0.1-next-977ca8a0
puppeteer-devtools
Extended puppeteer methods for getting extension devtools contexts.
This package relies on using internal puppeteer methods to return the Chrome devtools panel, along with extension panels. Since it is dependent on undocumented puppeteer apis, it could break in future versions of Chrome/puppeteer so use at your own risk.
Install
npm install --save-dev puppeteer-devtools
Usage
const puppeteer = require('puppeteer')
const { getDevtoolsPanel } = require('puppeteer-devtools')
const path = require('path')
const extension = path.resolve('/path/to/extension')
const browser = await puppeteer.launch({
args: [
`--disable-extensions-except=${extension}`,
`--load-extension=${extension}`
],
devtools: true,
headless: false
})
const [page] = await browser.pages()
const panel = await getDevtoolsPanel(page, { panelName: 'panel.html' })Note: devtools must be enabled, and headless mode must be turned off. Chrome does not currently support extensions in headless mode.
Methods
async getDevtools( page, options? )
Returns the underlying Chrome devtools:// page as a Promise[Page](https://github.com/puppeteer/puppeteer/blob/master/docs/api.md#class-page).
page- [`Page`](https://github.com/puppeteer/puppeteer/blob/master/docs/api.md#class-page) Puppeteer page object.options- <object>timeout- <number | null> Maximum time in milliseconds to wait for the devtools page to become available. Uses puppeteer's default timeout if not set.
async getDevtoolsPanel( page, options? )
Returns the underlying Chrome chrome-extension:// panel as a Promise[Frame](https://github.com/puppeteer/puppeteer/blob/master/docs/api.md#class-frame).
page- [`Page`](https://github.com/puppeteer/puppeteer/blob/master/docs/api.md#class-page) Puppeteer page object.options- <object>panelName- <string> The file name of the extension panel to find. A devtools page withchrome.devtools.panels.create('name', 'icon.png', 'panel.html', (panel) => { ... })would havepanel.htmlas its value.timeout- <number | null> Maximum time in milliseconds to wait for the chrome extension panel to become available. Uses puppeteer's default timeout if not set.
License
Copyright
Copyright (c) 2019-2020 Deque Systems, Inc.
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago