Botasaurus makes Selenium scrapers pass every bot detection test
GitHub RepoImpressions525
View on GitHub
@githubprojectsPost Author

Botasaurus: The Selenium Wrapper That Slips Past Every Bot Detector

If you've ever built a Selenium scraper, you know the drill: it works perfectly on your local machine, then hits a Cloudflare challenge or a bot detection script and instantly gets blocked. It's frustrating, especially when you're just trying to gather public data for a side project or internal tool.

Enter Botasaurus. It's a Python wrapper around Selenium that seems to magically bypass nearly every bot detection system you throw at it — from Cloudflare to DataDome to Akamai. No undetected-chromedriver hacks, no proxy chains, no manual tweaking. Just code that works.

What It Does

Botasaurus is not a scraper framework itself. Think of it as a drop-in replacement for your Selenium driver setup that applies a series of smart, low-level optimizations to make your browser instance look indistinguishable from a real human user.

Under the hood, it:

  • Patches the navigator.webdriver flag
  • Randomizes browser fingerprints (user agent, screen resolution, timezone, language, etc.)
  • Handles stealthy navigation patterns
  • Manages cookies and sessions like a real browser would
  • Supports both headless and headed modes (even headless Chrome can pass most detections now)

The result? Your scraper behaves like a normal Chrome user — and bot detection services simply don't notice it.

Why It's Cool

1. It's ridiculously easy to set up. You don't need to configure a dozen parameters or read a 50-page manual. The entire concept is "wrap your Selenium code with Botasaurus, and you're done."

2. It goes beyond usual "undetected" libraries. Most alternatives just hide the webdriver flag. Botasaurus actively randomizes dozens of browser attributes, so even repeat visits look like different users. This matters for sites that fingerprint you over multiple requests.

3. It works with modern Chrome and Firefox. You don't need to hunt down specific driver versions or use legacy browsers. It installs the latest ChromeDriver automatically.

4. Built-in anti-bot simulation. The wrapper includes realistic mouse movement patterns, scroll behavior, and click timing. It's not just about headers — it's about the whole interaction profile.

5. It's free and open source. No enterprise license, no API key. Just pip install botasaurus and go.

How to Try It

  1. Install the package:

    pip install botasaurus
    
  2. Use the provided decorator or context manager:

    from botasaurus import *
    
    @browser
    def scrape_my_data(driver: AntiDetectDriver, url):
        driver.get(url)
        # Your Selenium scraping logic here
        return driver.page_source
    
    result = scrape_my_data("https://example.com")
    
  3. Or wrap your existing Selenium code:

    from botasaurus import WebDriver
    
    driver = WebDriver()
    driver.get("https://challenging-site.com")
    print(driver.page_source)
    

You can check the full repository and documentation at:
https://github.com/omkarcloud/botasaurus

Final Thoughts

Botasaurus feels like the library I wish existed two years ago when I was fighting with Cloudflare on a daily basis. It's not a magic bullet for every edge case — some sites with aggressive fingerprinting or captive portals will still cause trouble — but for 95% of real-world scraping tasks, it just works.

If you're building a scraper that needs to survive bot detection, or you're tired of maintaining your own stealth patches, give Botasaurus a try. It takes five minutes to test and might save you hours of frustration.


Follow us at @githubprojects for more cool open-source finds.

Back to Projects
Last updated: June 7, 2026 at 05:41 AM