{"id":21289274,"url":"https://github.com/chickencoding123/puppeteer-enhanced-browser","last_synced_at":"2026-02-18T18:01:58.359Z","repository":{"id":44453577,"uuid":"441153101","full_name":"chickencoding123/puppeteer-enhanced-browser","owner":"chickencoding123","description":"Headless puppeteer with additional plugins and settings","archived":false,"fork":false,"pushed_at":"2022-05-14T21:39:10.000Z","size":182,"stargazers_count":3,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-27T01:51:43.399Z","etag":null,"topics":["headless","puppeteer","screenshots","tiles"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/chickencoding123.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-12-23T11:04:40.000Z","updated_at":"2023-06-29T05:00:19.000Z","dependencies_parsed_at":"2022-08-22T11:00:40.031Z","dependency_job_id":null,"html_url":"https://github.com/chickencoding123/puppeteer-enhanced-browser","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/chickencoding123/puppeteer-enhanced-browser","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chickencoding123%2Fpuppeteer-enhanced-browser","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chickencoding123%2Fpuppeteer-enhanced-browser/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chickencoding123%2Fpuppeteer-enhanced-browser/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chickencoding123%2Fpuppeteer-enhanced-browser/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/chickencoding123","download_url":"https://codeload.github.com/chickencoding123/puppeteer-enhanced-browser/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chickencoding123%2Fpuppeteer-enhanced-browser/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264833278,"owners_count":23670617,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["headless","puppeteer","screenshots","tiles"],"created_at":"2024-11-21T12:37:56.200Z","updated_at":"2026-02-18T18:01:58.352Z","avatar_url":"https://github.com/chickencoding123.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"puppeteer-enhanced-browser\n======\n\n\u003cdiv align=\"center\"\u003e\n\nHeadless puppeteer with additional plugins and settings\n\n[![npm](https://img.shields.io/npm/v/puppeteer-enhanced-browser)](https://www.npmjs.com/package/puppeteer-enhanced-browser) [![License](https://img.shields.io/npm/l/puppeteer-enhanced-browser)](https://github.com/chickencoding123/puppeteer-enhanced-browser/blob/main/LICENSE)\n\n\n\u003c/div\u003e\n\n## Features\n- Ad block and stealth plugins\n- Add or remove plugins\n- Automatic tiles for page snapshots\n- A few puppeteer glitch workarounds\n\n## How to use\n```sh\nnpm i puppeteer-enhanced-browser\n# or\nyarn add puppeteer-enhanced-browser\n```\n\n```js\nconst browser = require('puppeteer-enhanced-browser')\n// or\nimport { GoToPage, GetBrowser, CloseBrowser } from 'puppeteer-enhanced-browser'\n```\nYou can optionally request evaluation results, page content or snapshots.\n```js\n// then\nGoToPage('https://example.com', { \n  content: true, /* HTML of the page */\n  snapshots: true, /* or options for tile size etc... */, \n  evaluate: function () { /* results.evaluate will equal the body width */\n    return document.body.clientWidth\n  }\n})\n.then((results) =\u003e {\n  // TODO\n})\n// or\nconst { snapshots, evaluate } = await GoToPage('https://example.com', { \n  content: true, /* HTML of the page */\n  snapshots: true, /* or options for tile size etc... */, \n  evaluate: function () { /* evaluate will equal the body width */\n    return document.body.clientWidth\n  }\n})\n\n```\n## Evalulation with args passed between your code context and puppeteer's browser context\n```js\nconst { evaluate } = await GoToPage('https://example.com', {\n  evaluate: function (a, b) { /* evaluate will equal the body width */\n    return a + b\n  },\n  evaluateArgs: [1, 2]\n})\n```\n## Adjusting the tile size and/or snapshot limits\n```js\nconst { evaluate, snapshots } = await GoToPage('https://example.com', {\n  snapshots: {\n    tileSize: 1000, /* 1000px wide snapshots */\n    limit: 5 /* do not snapshot the entire page, but only 5 snapshots. Depending on the tileSize this will return snapshots from all of or a portion of the page */\n  }\n});\n```\n## Script and/or style injections\n```js\nconst { evaluate } = await GoToPage('https://example.com', {\n  style: `body { width: 1000px !important; }`,\n  script: `window.myObj = { function message () { return 'Hello World!'; } }`\n  evaluate: () =\u003e {\n    return window.myObj.message();\n  }\n});\nconsole.log(evaluate)\n```\n\n## Add/Remove plugins\n```js\nimport { PuppeteerExtraPlugin } from 'puppeteer-extra-plugin'\nimport { AddPlugin, RemovePlugin } from 'puppeteer-enhanced-browser'\n\nclass TestPlugin extends PuppeteerExtraPlugin {\n  constructor(opts = {}) {\n    super(opts)\n  }\n\n  get name() {\n    return 'testplugin'\n  }\n}\n\n// add a new plugin\nAddPlugin(new TestPlugin())\n// remove the default adblock plugin\nRemovePlugin('adblock')\n```\n\n## Modify puppeteer launch options\nYou can setup launch option before calling `GoToPage`, `GetBrowser` or by calling `CloseBrowser` and then executing one of the former functions.\n```js\nimport PuppeteerLaunchOptions from 'puppeteer-enhanced-browser'\nPuppeteerLaunchOptions.dumpio = true\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchickencoding123%2Fpuppeteer-enhanced-browser","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fchickencoding123%2Fpuppeteer-enhanced-browser","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchickencoding123%2Fpuppeteer-enhanced-browser/lists"}