1.0.0 • Published 2 years ago

@thewolfx41/puppeteer-extra-plugin-force-custom-language v1.0.0

Weekly downloads
-
License
MIT
Repository
github
Last release
2 years ago

puppeteer-extra-plugin-force-custom-language

A plugin for puppeteer-extra and playwright-extra to force browser language.

Install

yarn add @thewolfx41/puppeteer-extra-plugin-force-custom-language
# - or -
npm install @thewolfx41/puppeteer-extra-plugin-force-custom-language

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

yarn add puppeteer puppeteer-extra @thewolfx41/puppeteer-extra-plugin-force-custom-language
# - or -
npm install puppeteer puppeteer-extra @thewolfx41/puppeteer-extra-plugin-force-custom-language

Usage

// puppeteer-extra is a drop-in replacement for puppeteer,
// it augments the installed puppeteer with plugin functionality
const puppeteer = require('puppeteer-extra')

// add force language plugin and use defaults (all techniques)
const ForceCustomLanguagePlugin = require('@thewolfx41/puppeteer-extra-plugin-force-custom-language')
puppeteer.use(ForceCustomLanguagePlugin())

// puppeteer usage as normal
puppeteer.launch({ headless: true }).then(async browser => {
  console.log('Running tests..')
  const page = await browser.newPage()
  await page.goto('https://www.google.com')
  await page.waitForTimeout(5000)
  await page.screenshot({ path: 'testresult.png', fullPage: true })
  await browser.close()
  console.log(`All done, check the screenshot. ✨`)
})

Plugin options

Table of Contents

language

TYPE: string

DEFAULT: en

DESCRIPTION: Language code to use. (Available options: en, zh, ru, fr, es, de, pt, it, ja)

USAGE:

const puppeteer =  require('puppeteer-extra')
const ForceCustomLanguagePlugin =  require('@thewolfx41/puppeteer-extra-plugin-force-custom-language')
puppeteer.use(ForceCustomLanguagePlugin({language: 'es'})) 

ip

TYPE: boolean

DEFAULT: true

DESCRIPTION: Send a fake ip as origin via HTTP headers.

USAGE:

const puppeteer =  require('puppeteer-extra')
const ForceCustomLanguagePlugin =  require('@thewolfx41/puppeteer-extra-plugin-force-custom-language')
puppeteer.use(ForceCustomLanguagePlugin({ip: true})) 

httpHeaders

TYPE: boolean

DEFAULT: true

DESCRIPTION: Send a custom Accept-Language HTTP header.

USAGE:

const puppeteer =  require('puppeteer-extra')
const ForceCustomLanguagePlugin =  require('@thewolfx41/puppeteer-extra-plugin-force-custom-language')
puppeteer.use(ForceCustomLanguagePlugin({httpHeaders: true})) 

geoLocation

TYPE: boolean

DEFAULT: true

DESCRIPTION: Send a custom geographic coordinates.

USAGE:

const puppeteer =  require('puppeteer-extra')
const ForceCustomLanguagePlugin =  require('@thewolfx41/puppeteer-extra-plugin-force-custom-language')
puppeteer.use(ForceCustomLanguagePlugin({geoLocation: true})) 

javascript

TYPE: boolean

DEFAULT: true

DESCRIPTION: Set a custom navigator.language & navigator.languages javascript getters.

USAGE:

const puppeteer =  require('puppeteer-extra')
const ForceCustomLanguagePlugin =  require('@thewolfx41/puppeteer-extra-plugin-force-custom-language')
puppeteer.use(ForceCustomLanguagePlugin({javascript: true})) 

Contributing

PRs are welcome.


License

Copyright © 2022 - 2022, thewolfx41 Released under the MIT License.