Affordable Rotating Residential Proxies with Unlimited Bandwidth
  • Products
  • Features
  • Pricing
  • Solutions
  • Blog

Contact sales

Give us a call or fill in the form below and we will contact you. We endeavor to answer all inquiries within 24 hours on business days. Or drop us a message at support@proxytee.com.

Edit Content



    Sign In
    Tutorial

    Bypass Bot Detection with Puppeteer Stealth: A ProxyTee Guide

    April 26, 2025 Mike
    Bypass Bot Detection with Puppeteer Stealth: A ProxyTee Guide

    Web scraping with Puppeteer is powerful, but bot detection can be a significant hurdle. Many websites use anti-bot measures to identify and block automated scripts, particularly when they detect headless browsers. This article explains how to use ProxyTee, specifically its Unlimited Residential Proxies combined with Puppeteer Stealth to evade detection. Let’s dive into how you can make your Puppeteer scripts virtually undetectable, ensuring smooth web data collection.


    Understanding Bot Detection and Its Challenges for Puppeteer

    Puppeteer, a popular JavaScript library for browser automation, lets you control browsers via the DevTools Protocol. This is fantastic for web scraping and automated testing. However, default settings in Puppeteer can unintentionally expose your automation as a bot. For example, the navigator.webdriver: true property is a telltale sign that an automated browser is being used.

    Websites check for these kinds of browser configurations to block suspicious activity. By using default settings, you could trigger anti-bot systems that might flag and block your bot activity. This is particularly true for headless browsers, which is the case in the example below:

    import puppeteer from "puppeteer"
    
    (async () => {
        // set up the browser and launch it
        const browser = await puppeteer.launch()
    
        // open a new blank page
        const page = await browser.newPage()
    
        // navigate the page to the target page
        await page.goto("https://arh.antoinevastel.com/bots/areyouheadless")
    
        // extract the message of the test result
        const resultElement = await page.$("#res")
        const message = await resultElement.evaluate(e => e.textContent)
    
        // print the resulting message
        console.log(`The result of the test is \"%s\"`, message);
    
        // close the current browser session
        await browser.close()
    })()
    

    When run, this script would likely show “You are Chrome headless”, indicating it failed the bot detection test. However, with ProxyTee and a plugin called Puppeteer Stealth, you can hide these default indicators and bypass these issues.


    Enter Puppeteer Extra and Stealth Plugin

    To enhance Puppeteer’s capability to avoid detection, ProxyTee suggests using a plugin called Puppeteer Extra, which allows the implementation of multiple functionalities as plugins, notably the Stealth plugin. puppeteer-extra is a drop-in replacement for the puppeteer, and adds functionalities. The Stealth plugin modifies various settings to evade bot detection. With this powerful combo, the headless browser will be harder to be detected.

    The Puppeteer Stealth plugin targets common bot-detection mechanisms by manipulating several aspects of the browser. It removes properties that betray it as a bot, such as setting navigator.webdriver to false, and removing “HeadlessChrome” from the User-Agent header.

    It is very efficient at making a headless Chromium instance bypass common bot detection tests. The goal is to make the process as difficult as possible to detect your browser controlled via Puppeteer.


    Steps to Use Puppeteer Stealth with ProxyTee

    Now, let’s see how to integrate this in your code and boost it using ProxyTee residential proxies:

    Step 1️⃣: Install Puppeteer Extra and Stealth Plugin

    First, you will have to install Puppeteer Extra and the stealth plugin with the following command:

    npm install puppeteer-extra puppeteer-extra-plugin-stealth

    Step 2️⃣: Configure Puppeteer Extra and Stealth Plugin

    In your javascript script, you need to modify the way you import the puppeteer library to use the Extra version:

    import puppeteer from "puppeteer-extra";
    import StealthPlugin from "puppeteer-extra-plugin-stealth";

    And if you are using CommonJS, here’s what to use instead:

    const puppeteer = require("puppeteer-extra");
    const StealthPlugin = require("puppeteer-extra-plugin-stealth");

    After the import section, register the stealth plugin like this:

    puppeteer.use(StealthPlugin());

    The Stealth plugin applies several methods to bypass detection, making the browser harder to detect as an automation tool.

    Optionally, you could choose what strategies are enabled or disabled using this approach:

    // enable only a few evasion techniques
    puppeteer.use(StealthPlugin({
        enabledEvasions: new Set(["chrome.app", "chrome.csi", "defaultArgs", "navigator.plugins"])
    }));
    
    const stealthPlugin = StealthPlugin();
    puppeteer.use(stealthPlugin);
    
    // ...
    
    // remove the "user-agent-override" evasion method
    pluginStealth.enabledEvasions.delete("user-agent-override");
    

    Step 3️⃣: Final Code

    Below is the full script including the bot bypass using Puppeteer Stealth plugin:

    import puppeteer from "puppeteer-extra";
    import StealthPlugin from "puppeteer-extra-plugin-stealth";
    
    (async () => {
        // configure the stealth plugin
        puppeteer.use(StealthPlugin());
        // set up the browser and launch it
        const browser = await puppeteer.launch();
    
        // open a new blank page
        const page = await browser.newPage();
    
        // navigate the page to the target page
        await page.goto("https://arh.antoinevastel.com/bots/areyouheadless");
    
        // extract the message of the test result
        const resultElement = await page.$("#res");
        const message = await resultElement.evaluate(e => e.textContent);
    
        // print the resulting message
        console.log(`The result of the test is \"%s\"`, message);
    
        // close the current browser session
        await browser.close();
    })();
    

    Running the above script should return “You are not Chrome headless”, demonstrating that your browser is no longer detected by basic detection techniques.


    Maximize Stealth and Success with ProxyTee’s Advanced Proxy Power

    Bot detection is challenging, and avoiding it entirely is tough. However, using ProxyTee with Puppeteer Extra and the Stealth plugin provides an effective way to enhance your browser anonymity and bypass these checks. By implementing the plugin’s set of evasion configurations, your headless browser should appear much more like a real user.

    However, it’s good to know that more sophisticated detection systems like Cloudflare will likely be able to detect your browser. In that case, using a more advanced system of proxies like ProxyTee’s Unlimited Residential Proxies is recommended.

    Why ProxyTee? Unlike competitors, ProxyTee is able to offer unlimited bandwidth, rotating residential IPs, geo-targeting, and very competitive prices. Get started today and experience reliable scraping results!

    • Programming
    • Puppeteer
    • Web Scraping

    Post navigation

    Previous
    Next

    Table of Contents

    • Understanding Bot Detection and Its Challenges for Puppeteer
    • Enter Puppeteer Extra and Stealth Plugin
    • Steps to Use Puppeteer Stealth with ProxyTee
    • Maximize Stealth and Success with ProxyTee’s Advanced Proxy Power

    Categories

    • Comparison & Differences (25)
    • Cybersecurity (5)
    • Datacenter Proxies (2)
    • Digital Marketing & Data Analytics (1)
    • Exploring (67)
    • Guide (1)
    • Mobile Proxies (2)
    • Residental Proxies (4)
    • Rotating Proxies (3)
    • Tutorial (52)
    • Uncategorized (1)
    • Web Scraping (3)

    Recent posts

    • Types of Proxies Explained: Mastering 3 Key Categories
      Types of Proxies Explained: Mastering 3 Key Categories
    • What is MAP Monitoring and Why It’s Crucial for Your Brand?
      What is MAP Monitoring and Why It’s Crucial for Your Brand?
    • earning with proxytee, affiliate, reseller, unlimited bandwidth, types of proxies, unlimited residential proxy, contact, press-kit
      Unlock Peak Performance with an Unlimited Residential Proxy
    • Web Scraping with lxml: A Guide Using ProxyTee
      Web Scraping with lxml: A Guide Using ProxyTee
    • How to Scrape Yelp Data with ProxyTee
      How to Scrape Yelp Data for Local Business Insights

    Related Posts

    Web Scraping with lxml: A Guide Using ProxyTee
    Tutorial

    Web Scraping with lxml: A Guide Using ProxyTee

    May 12, 2025 Mike

    Web scraping is an automated process of collecting data from websites, which is essential for many purposes, such as data analysis and training AI models. Python is a popular language for web scraping, and lxml is a robust library for parsing HTML and XML documents. In this post, we’ll explore how to leverage lxml for web […]

    How to Scrape Yelp Data with ProxyTee
    Tutorial

    How to Scrape Yelp Data for Local Business Insights

    May 10, 2025 Mike

    Scraping Yelp data can open up a world of insights for marketers, developers, and SEO professionals. Whether you’re conducting market research, generating leads, or monitoring local business trends, having access to structured Yelp data is invaluable. In this article, we’ll walk you through how to scrape Yelp data safely and effectively. You’ll discover real use […]

    Understanding Data Extraction with ProxyTee
    Exploring

    Understanding Data Extraction with ProxyTee

    May 9, 2025 Mike

    Data extraction is a cornerstone for many modern businesses, spanning various sectors from finance to e-commerce. Effective data extraction tools are crucial for automating tasks, saving time, resources, and money. This post delves into the essentials of data extraction, covering its uses, methods, and challenges, and explores how ProxyTee can enhance this process with its […]

    We help ambitious businesses achieve more

    Free consultation
    Contact sales
    • Sign In
    • Sign Up
    • Contact
    • Facebook
    • Twitter
    • Telegram
    Affordable Rotating Residential Proxies with Unlimited Bandwidth

    Get reliable, affordable rotating proxies with unlimited bandwidth for seamless browsing and enhanced security.

    Products
    • Features
    • Pricing
    • Solutions
    • Testimonials
    • FAQs
    • Partners
    Tools
    • App
    • API
    • Blog
    • Check Proxies
    • Free Proxies
    Legal
    • Privacy Policy
    • Terms of Use
    • Affiliate
    • Reseller
    • White-label
    Support
    • Contact
    • Support Center
    • Knowlegde Base

    Copyright © 2025 ProxyTee