UNPKG

puppeteer-extra-plugin-stealth

Version:

Stealth mode: Applies various techniques to make detection of headless puppeteer harder.

41 lines (31 loc) 1.41 kB
const test = require('ava') const { vanillaPuppeteer, addExtra } = require('../../test/util') const Plugin = require('.') test('vanilla: is missing Accept-Language in headless', async t => { const browser = await vanillaPuppeteer.launch({ headless: true }) const page = await browser.newPage() await page.goto('http://httpbin.org/headers') const content = await page.content() t.true(content.includes(`"User-Agent"`)) t.false(content.includes(`"Accept-Language"`)) }) test('stealth: has Accept-Language in headless with default locale', async t => { const puppeteer = addExtra(vanillaPuppeteer).use(Plugin()) const browser = await puppeteer.launch({ headless: true }) const page = await browser.newPage() await page.goto('http://httpbin.org/headers') const content = await page.content() t.true(content.includes(`"User-Agent"`)) t.true(content.includes(`"Accept-Language": "en-US,en;q=0.9"`)) }) test('stealth: has Accept-Language in headless with optional locale', async t => { const puppeteer = addExtra(vanillaPuppeteer).use( Plugin({ locale: 'de-DE,de;q=0.9' }) ) const browser = await puppeteer.launch({ headless: true }) const page = await browser.newPage() await page.goto('http://httpbin.org/headers') const content = await page.content() t.true(content.includes(`"User-Agent"`)) t.true(content.includes(`"Accept-Language": "de-DE,de;q=0.9"`)) })