JSPM

puppeteer-extra-plugin-proxy

1.0.2
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 2646
  • Score
    100M100P100Q128071F
  • License MIT

A puppeteer-extra plugin to add convenient proxy support to puppeteer

Package Exports

  • puppeteer-extra-plugin-proxy

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (puppeteer-extra-plugin-proxy) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

puppeteer-extra-plugin-proxy

A plugin for puppeteer-extra to add proxy support

Install

yarn add puppeteer-extra-plugin-proxy
# - or -
npm install puppeteer-extra-plugin-proxy

If this is your first puppeteer-extra plugin here's everything you need:

yarn add puppeteer puppeteer-extra puppeteer-extra-plugin-proxy
# - or -
npm install puppeteer puppeteer-extra puppeteer-extra-plugin-proxy

Usage

// puppeteer-extra is a drop-in replacement for puppeteer,
// it augments the installed puppeteer with plugin functionality
const puppeteer = require('puppeteer-extra');
// require proxy plugin
const pluginProxy = require('puppeteer-extra-plugin-proxy');
// add proxy plugin without proxy crendentials
puppeteer.use(pluginProxy({
  address: '123.123.123.123',
  port: 1001
}));
// or you can specify a proxy with crendentials like so
// puppeteer.use(pluginProxy({
//   address: '123.123.123.123',
//   port: 1001,
//   credentials: {
//     username: 'user1',
//     password: '123456',
//   }
// }));

// puppeteer usage as normal
puppeteer.launch({ headless: true }).then(async browser => {
  const page = await browser.newPage()
  await page.setViewport({ width: 800, height: 600 })
  // will go through the specified proxy
  await page.goto("https://example.com")
  await page.waitFor(5000)
  await page.screenshot({ path: "testresult.png", fullPage: true })
  await browser.close()
})

For more info see the tests.