Sets the correct timezone based in IP geolocation for each page that opens.
The correct timezone is fetched and saved to cache once a Browser
intance opens. All the pages belonging to it will have their timezone emulated.
For IPs where the timezone can't be detected, a warning will be thrown using the standard puppeteer-extra
logger.
Installation
yarn add puppeteer-extra-plugin-timezone
npm install puppeteer-extra-plugin-timezone
Usage
First of all, you have to register the plugin with puppeteer-extra
.
JavaScript:
puppeteer.use(require('puppeteer-extra-plugin-timezone')())
TypeScript:
import TimezonePlugin from 'puppeteer-extra-plugin-timezone';
puppeteer.use(TimezonePlugin())
You can then use puppeteer as usual:
const browser = await puppeteer.launch()
const page = await browser.newPage()
await page.goto('https://whoer.net')
Testing
The tests are defined in src/plugin.spec.ts
.
- You need to add a proxy server IP in
src/constants.ts
- You can run the tests using either
yarn test
or npm test
.
Debugging
You can see the package's logs by setting the DEBUG=puppeteer-extra-plugin:timezone
env variable.
Example: DEBUG=puppeteer-extra-plugin:timezone npm test
See the core Puppeteer-Extra Plugin docs for additional information:
https://github.com/berstend/puppeteer-extra/tree/master/packages/puppeteer-extra-plugin
Contributing
We appreciate all contributions.
What's needed:
Done:
License
MIT
Resources