![](http://game.zhichkinroman.ru/wp-content/uploads/2021/02/puppeteer-chrome-headless-small-2.png)
In the previous post we shared how to disguise Selenium Chrome automation against Fingerprint checks. In this post we share the Puppeteer-extra with Stealth plugin to do the same. The test results are available as html files and screenshots.
We used bot.sannysoft.com for testing. That testing benchmark includes (Intoli.com test, Fp-scanner and Fp-collect info). First, the Puppeteer-extra ran headless Chrome without the Stealth plugin. In the second test the Puppeteer-extra ran headless Chrome with the Stealth plugin.
1. Code that was used for the test
const puppeteer = require('puppeteer-extra');
// comment the following two lines if you don't want to include Stealth plugin
const StealthPlugin = require('puppeteer-extra-plugin-stealth');
puppeteer.use(StealthPlugin());
puppeteer.launch({ headless: true }).then(async browser => {
const page = await browser.newPage();
await page.goto('https://bot.sannysoft.com', {waitUntil: 'load'});
await page.waitFor(5000);
// saving image
await page.screenshot({ path: 'testresult.png', fullPage: true });
// writing html code into a file
const html = await page.content();
fs = require('fs');
fs.writeFile("testresult.html", html, function(error){
if(error) throw error;
});
await browser.close();
})
2. Detection results
2.1. Puppeteer without Stealth plugin
![](http://game.zhichkinroman.ru/wp-content/uploads/2021/02/testresult2-1-202x1024.png)
2.2. Puppeteer extra + Stealth plugin
![](http://game.zhichkinroman.ru/wp-content/uploads/2021/02/testresult-251x1024.png)
3. Conclusion
The Puppeteer extra with the Stealth plugin does wonderfully to hide the automation even without the additional settings for the Chrome options as we did for Selenium.