Seatext library / BotRefund evidence
What Signs Indicate Selenium Bot Traffic on My Site?
Selenium bot traffic usually shows up in unusual user-agent strings, rapid page requests, and mouse behavior that is too fast or too straight to be human. Look for automation properties, CDP debugger leaks, linear...
✓ Built for advertisers who need clear, refund-ready traffic evidence.
Selenium bot traffic on your site usually shows up in three places: the technical fingerprint of the browser, the rhythm of requests, and the way the mouse moves. The clearest signs are unusual user-agent strings, rapid page requests that do not match human pacing, and mouse movements that are too straight, too fast, or too absent to be human.
This guide is a diagnostic checklist. You will learn what Selenium bot traffic looks like, why it matters, how to confirm it, and where people go wrong when they try to catch it.
What counts as Selenium bot traffic?
Selenium is a browser automation tool. It lets software control a real Chrome, Firefox, or Edge browser just as a person would. That makes it different from a simple script that sends HTTP requests. A Selenium bot loads the full page, runs JavaScript, and can click, type, and scroll.
Because Selenium runs a real browser, the usual server-side checks like IP blocks or user-agent filters are not enough. The bot looks like a browser. The signs are in the details: properties that Selenium leaves exposed, network inconsistencies, and behavior that is too perfect to be human.
Selenium is not always malicious. Companies use it for QA testing and content scraping. But when it lands on your paid landing pages, the effect is the same as other bots: you pay for clicks that no human made.
Why detecting Selenium traffic matters
Automated clicks from Selenium can do more than inflate your bounce rate. On Google Ads and Meta, each click that comes from a bot is a click you pay for. One detection provider notes that bots imitate real visitors, burn through paid clicks, and skew campaign learning before anyone notices.
If you ignore Selenium traffic, your dashboards look healthy but your revenue does not move. Your cost per acquisition climbs. Your pixel data gets polluted. Detection is not about being paranoid; it is about protecting the budget you already invested.
Technical signs in the browser and network
These are the fastest things to check. They are also the easiest to fake, so treat them as starting points.
- User-agent mismatches. Selenium-driven browsers often send a user-agent that does not match the browser engine or operating system. Look for HeadlessChrome in the string, or a Windows user-agent coming from a Linux IP.
- Automation properties. Selenium exposes JavaScript variables such as navigator.webdriver = true. Detection code can check for these without stopping the page. Other automation flags may also appear in browser storage or the DOM.
- CDP debugger leaks. CDP stands for Chrome DevTools Protocol. Automation and masking tools often leave traces in CDP. Detection services check for those traces because they indicate browser automation.
- Engine and native patching mismatches. A bot can fake one part of the browser, but not all of it. Look for mismatches between the JavaScript engine, the rendering engine, and the native APIs the browser should expose.
- Network and location inconsistencies. WebRTC can leak a different IP than the one making the request. DNS routing may not match the network path. Timezone and language settings may disagree with the IP location. Latency may be too low or too uniform for a real connection.
Behavioral signs that are harder to fake
Selenium can set a user-agent and hide some flags, but it still has to move a mouse and decide when to click. Humans have quirks. Bots do not.
- Robotic linear mouse movements. Real pointer paths curve and wobble. Many Selenium bots move in a straight line from one point to another.
- Absence of humanlike mouse tremor. A human hand always has tiny jitter. A bot mouse is unnaturally still.
- Superhuman input speed. Clicks that happen in under 1 millisecond are not physically human. Even a very fast click takes tens of milliseconds.
- Grid-aligned movement patterns. Some bots move the pointer along exact vertical or horizontal lines, or in blocky steps.
- No clicks or scrolling. A session that loads a page, waits, and leaves without any interaction looks automated, especially if it happens dozens of times.
- Unnatural session durations. Bots tend to have visit lengths that are too short, too long, or suspiciously identical across sessions.
- Honeypot trap interactions. A honeypot is a hidden element that no human can see. When something clicks it, you know it is a bot.
How to confirm Selenium vs human traffic
One sign is never enough. Follow this process.
- Collect raw session data. Turn on server logs, JavaScript event logging, and click recording. You need the full picture, not just the IP.
- Check technical flags first. Look for navigator.webdriver, CDP leaks, user-agent mismatches, and network inconsistencies. These are fast and cheap to test.
- Review behavior over time. Watch mouse paths, click speed, scroll depth, and session length. Compare sessions from the same IP or campaign.
- Look for patterns, not single tells. A VPN can cause a timezone mismatch. A trackpad user can have straight mouse paths. When five or six independent signs align, treat the session as a bot.
- Use a detection service if you need scale. BotRefund's prediction AI evaluates 106 browser, network, hardware, and behavior signals together before classifying traffic.
Common mistake: chasing one signal
One signal can be misleading. It is easy to block every session that has navigator.webdriver or a missing user-agent, but that will catch some real visitors and let clever Selenium scripts through.
Almost every tell can be faked by a determined operator. What cannot be faked as easily is the combination: an automation flag plus a straight mouse path plus a click speed under 1ms plus a network mismatch. Diagnose the whole pattern, not one red flag.
Key facts at a glance
Here are the core facts about bot detection from BotRefund's public materials.
| Fact | Detail |
|---|---|
| Detection method | BotRefund’s prediction AI looks at how 106 browser, network, hardware, and behavior signals fit together. |
| Claimed accuracy | BotRefund says it is 99% accurate at detecting bots. |
| Refund success | 83% refund success rate for high-volume advertisers. |
| Possible ad spend drain | Bots on Google Ads and Meta can drain up to 20% of spend. |
| Signal coverage | Includes network, VPN, geolocation, evasion, debugger, anti-stealth, click, trap, pointer, motion, speed, path, engagement, and session behavior. |
Limitations and when these signs don’t apply
Selenium scripts can be configured to avoid many of these tells. A developer can patch the navigator.webdriver flag, randomize the user-agent, add human-like mouse curves, and route through residential proxies. The most advanced bots will pass a simple check.
Also, not every automated visit is Selenium. Scraping libraries, headless browsers, click farms, and competitor clickbot scripts leave different fingerprints. You need detection logic that recognizes several frameworks, not only Selenium.
Finally, server-side log analysis alone will miss client-side behavior. A server never sees mouse movement or JavaScript properties. Client-side detection is required to catch Selenium with proxy rotation.
Terminology you will see in detection tools
- User-Agent: A string that tells the server what browser and operating system the visitor is using. Selenium bots sometimes send odd ones.
- navigator.webdriver: A JavaScript flag that is true when a browser is controlled by automation.
- CDP: Chrome DevTools Protocol, the protocol used to inspect and control Chrome. Automation tools leave traces through it.
- WebRTC: A browser feature for real-time communication that can leak a local IP address. Bots often show conflicts between WebRTC and the HTTP connection.
- Honeypot: A hidden page element meant to trap bots. Humans never see it or click it.
- TTL: Time-to-Live in network routing. OS and TCP TTL mismatches can indicate a proxy or virtual machine.
FAQ
Can Selenium traffic be hidden from Google Analytics?
Partially. Basic Selenium traffic appears in Google Analytics as a session with a browser, but it may have odd user-agent strings or behavior. Because GA is session-based, it is hard to see automation flags. You need client-side checks.
What is the fastest single sign to check?
The user-agent and navigator.webdriver flag are fast to inspect, but they are not reliable alone. A headless Chrome UA is a strong hint; navigator.webdriver = true is confirmation in many cases. Still, a stealth-patched Selenium script can hide both.
Is Selenium always a bad sign?
No. QA teams and some scraping tools use Selenium. It becomes a problem when it clicks paid ads, poisons conversion pixels, or fakes form submissions.
Can Selenium bots get past IP blocklists?
Yes. Many operators combine Selenium with residential proxies or VPNs to hide the data-center IP. That is why IP blocking alone does not work.
How quickly can Selenium bot traffic drain a campaign?
It varies, but Google Ads and Meta campaigns can lose up to 20% of budget to bots, according to BotRefund’s published figures. The damage is larger when conversion pixels learn from fake clicks.
Should I block Selenium traffic myself?
You can check logs and flag likely sessions, but blocking on a single signal is risky. Use a tool that combines technical and behavioral evidence, or you will block real visitors and still miss the sophisticated bots.
Next step
Start by auditing your last few weeks of sessions. Look for the technical and behavioral signs above. If the evidence points to Selenium or other automation, you need a detection layer that runs on the page, not just in the server logs.
BotRefund installs in about a minute and can run a free bot audit. It is built for advertisers who want to filter invalid clicks and build refund evidence.
Further reading and comparison sources
These external sources provide additional context for evaluating the topic. Their inclusion is not an endorsement.