-
-
Notifications
You must be signed in to change notification settings - Fork 2.1k
Why not? Anti-detect browser tampering detected, potentially a bot, access denied. #299
-
def test_fingerprintjs(page):
"""demo.fingerprint.com/web-scraping — industry-standard bot detection."""
page.goto("https://demo.fingerprint.com/web-scraping", wait_until="domcontentloaded", timeout=30000)
time.sleep(8)
# Click search to trigger bot detection — bots get blocked, humans see flights
try:
page.click("button:has-text('Search')", timeout=5000)
time.sleep(5)
except Exception:
pass
results = page.evaluate("""() => {
const text = document.body.innerText;
// Bots see error messages; humans see flight prices
const hasFlights = text.includes('Price per adult') || text.includes('$');
const isBlocked = text.includes('request was blocked') || text.includes('bot visit detected');
return {passed: hasFlights && !isBlocked, isBlocked, hasFlights};
}""")
return results
Anti-detect browser tampering detected, potentially a bot, access denied.
Beta Was this translation helpful? Give feedback.
All reactions
Replies: 2 comments 1 reply
-
Thanks for the report. "Anti-detect browser tampering" maps to FPJS's tampering: true signal — their ML catching patch anomalies in rendering output.
Try this config first (consistently passes FPJS playground across #124, #193, #197):
import cloakbrowser import time browser = cloakbrowser.launch( headless=False, geoip=True, proxy="http://user:pass@residential-proxy:port", args=[ "--fingerprint-noise=false", "--fingerprint-screen-width=1920", "--fingerprint-screen-height=1080", ], ) page = browser.new_page() page.goto("https://demo.fingerprint.com/web-scraping", wait_until="domcontentloaded", timeout=30000) time.sleep(8)
Key points:
--fingerprint-noise=false— noise is on by default and FPJS flags the variations as tamperingheadless=False— FPJS detects headless even with patchesgeoip=True+ residential proxy — resolves timezone + locale from exit IP; datacenter IPs get flagged at IP reputation level before fingerprinting runs- Use
launch(), notlaunch_persistent_context()— FPJS still flags persistent context (demo.fingerprint.com/playground detects as bot (type: nodriver) #124 ) time.sleep()instead ofpage.wait_for_timeout()—wait_for_timeoutsends CDP commands that anti-bot systems detect
If it still fails, share:
- CloakBrowser version (
pip show cloakbrowser) and binary version (ls ~/.cloakbrowser/) — tampering fixes landed across v0.3.26–0.3.30 - OS / environment — native Linux / Docker / Windows / macOS (Docker triggers tampering more than native; macOS rarely does)
Related: #193, #197, #294. Let us know if this works for you.
Beta Was this translation helpful? Give feedback.
All reactions
-
Regarding Cloakbrowser Manager, when running a profile it reports 512MB RAM. 4GB RAM should support 8 profiles. Why is it lagging with 3 profiles after running Cloakbrowser? Or is it because running it with Docker makes Choium run better? Or is Choium on Docker different from the Cloakbrowser Python version?
Beta Was this translation helpful? Give feedback.
All reactions
-
Beta Was this translation helpful? Give feedback.