b73737302a
The patch converts all the getters in the codebase into the methods. For example, the `request.url` getter becomes the `request.url()` method. This is done in order to unify the API and make it more predictable. The general rule for all further changes would be: - there are no getters/fields exposed in the api - the only exceptions are "namespaces", e.g. `page.keyboard` Fixes #280. BREAKING CHANGE: This patch ditches getters and replaces them with methods throughout the API. The following methods were added instead of the fields: - dialog.type() - consoleMessage.args() - consoleMessage.text() - consoleMessage.type() - request.headers() - request.method() - request.postData() - request.resourceType() - request.url() - response.headers() - response.ok() - response.status() - response.url() |
||
---|---|---|
.. | ||
.eslintrc.js | ||
block-images.js | ||
custom-event.js | ||
detect-sniff.js | ||
pdf.js | ||
proxy.js | ||
README.md | ||
screenshot-fullpage.js | ||
screenshot.js | ||
search.js |
Running the examples
Assuming you have a checkout of the Puppeteer repo and have run yarn (or npm i) to install the dependencies, the examples can be run from the root folder like so:
NODE_PATH=../ node examples/search.js
Tips & Tricks
Load a Chrome extension
By default, Puppeteer disables extensions when launching Chrome. You can load a specific extension using:
const browser = await puppeteer.launch({
headless: false,
args: [
'--disable-extensions-except=/path/to/extension/',
'--load-extension=/path/to/extension/',
]
});
Other resources
Other useful tools, articles, and projects that use Puppeteer.
Rendering and web scraping
- Puppetron - Demo site that shows how to use Puppeteer and Headless Chrome to render pages. Inspired by GoogleChrome/rendertron.
- Thal - Getting started with Puppeteer and Chrome Headless for Web Scraping.
- pupperender - Express middleware that checks the User-Agent header of incoming requests, and if it matches one of a configurable set of bots, render the page using Puppeteer. Useful for PWA rendering.
- headless-chrome-crawler - Crawler that provides simple APIs to manupluate Headless Chrome and allows you to crawl dynamic websites.
Testing
- angular-puppeteer-demo - Demo repository explaining how to use Puppeteer in Karma.
- mocha-headless-chrome - Tool which runs client-side mocha tests in the command line through headless Chrome.