- Webdriver
- User-Agent
- CDP
- Navigator
Browser bot detection guide
BrowserScan detects automated activities on scripts or browsers. It analyzes various browser properties to determine whether the browser environment is controlled by a robot. Various human-machine verification products such as Cloudflare Turnstile and Google reCAPTCHA include this aspect of detection, which is usually divided into three categories:
- Normal bots - usually bots belonging to well-known search engines (Google, Bing, Baidu). It crawls websites to create a searchable index of content. A good bot can also be a monitoring or uptime checking tool.
- Malicious bots - Usually automated tools like Selenium, Puppeteer, Playwright or anything that pretends to be a good search bot. It can take over accounts, submit spam, steal passwords, scrape data, waste resources, and more.Discord bots.
- No bots detected - the visitor could be a human using a regular browser.
Identification and bot detection
The combination of fingerprinting and bot detection gives you a powerful tool to protect against online fraud and produces the best results when used together.
WebDriver
WebDriver Advance
Selenium
NightmareJS
PhantomJS
Awesomium
Cef
CefSharp
Coaches
FMiner
Born
Phantomas
Rhino
Webdriverio
Headless Chrome
Chrome DevTools Protocol Detection
Detectable use of developer tools to simulate browsers or control them via related developer protocols.
CDP
Dev Tool
Native Navigator
Detect whether the Navigator is deceptive. Some browser plug-ins or robots will modify key attributes to achieve deception.
What is webdriver
WebDriver is a tool for automating browser operations. It provides a programming interface that allows developers to write scripts in various programming languages (such as Java, Python, C#, etc.) to automatically perform browser operations such as opening web pages, clicking buttons, filling out forms, etc.
- Control: WebDriver can control the browser and perform various user actions. For example, it can tell the browser to open a specific URL or click a button.
- Interaction: WebDriver can interact with web pages through the browser. For example, it can read the HTML source code of a web page, or inspect specific elements on the page.
- Simulation: WebDriver can simulate user actions. For example, it can simulate mouse clicks, keyboard input, and other operations.
WebDriver is a W3C standard, which means that all major browsers (such as Chrome, Firefox, Safari, and Edge) provide support for WebDriver. Each browser has its own WebDriver implementation (for example, Chrome has ChromeDriver and Firefox has GeckoDriver), but they all follow the same set of APIs, which allows developers to control different browsers with the same set of code.
What is webdriver and how it relates to Selenium, NightmareJS, PhantomJS, Awesomium, Cef, CefSharp, Coachjs, FMiner, Geb, Phantomas, Rhino, Webdriverio, Headless Chrome, etc.
WebDriver is a tool for automating browser operations. It's a software interface that provides a set of APIs to manipulate the browser. WebDriver supports multiple programming languages, allowing developers to write scripts to simulate user browser operations, such as clicking buttons, entering text, submitting forms, etc. WebDriver is commonly used for automated testing and web scraping.
Selenium is a framework specifically for automated testing. Its core component, Selenium WebDriver, is based on the WebDriver API. Selenium supports multiple browsers and multiple programming languages, making it an essential tool in automated testing.
PhantomJS, Headless Chrome, and NightmareJS are all headless browsers. Headless browsers are browsers without a user interface and can be run from the command line, making them ideal for automated testing and web scraping. Both PhantomJS and Headless Chrome provide APIs based on WebDriver and can be controlled via WebDriver. NightmareJS, however, is based on Electron and provides its own set of APIs.
Awesomium, Cef, and CefSharp are all browser engines. Both Awesomium and Cef (Chromium Embedded Framework) are based on Chromium, while CefSharp is a .NET binding for Cef. They can be embedded into other applications to provide web browsing functionality.
Geb is a browser automation solution based on Groovy. It combines the features of WebDriver, Spock, and jQuery to provide a powerful set of APIs.
Coachjs, FMiner, Phantomas, Rhino, and Webdriverio are all automation tools or frameworks. Coachjs is a tool for performance testing, FMiner is a visual web scraping tool, Phantomas is a performance analysis tool, Rhino is a JavaScript engine, and Webdriverio is a WebDriver implementation based on Node.js. These tools or frameworks all have some association with WebDriver, for example, Webdriverio is directly based on WebDriver.
How human-machine authentication like Cloudflare Turnstile, Google reCAPTCHA detect the operation of automated tools such as webdriver
User Behavior Analysis: Bot detection systems monitor user behavior (such as patterns of mouse movement, clicks, and keyboard input) and compare it to normal human behavior patterns. Since the operations of automation tools like WebDriver often show unnatural patterns (like overly linear or mechanical movement), this method can effectively detect automation.
Browser Property Inspection: Bot detection systems also check certain properties of the browser for clues that might suggest automation. For example, Selenium WebDriver adds a property named webdriver to the navigator object of the browsers it controls. The bot detection system can check for the existence of this property.
Network Traffic Analysis: Bot detection systems may analyze network traffic for patterns that resemble automation. For instance, if requests are too fast or the interval between them is too regular, it may be considered automation.
Machine Learning: Some more advanced bot detection systems, like Google reCAPTCHA v3, might use machine learning algorithms to judge whether an operation is performed by a human. This method is based on learning from large amounts of data in order to more accurately identify automation.
How to avoid detection by human-machine verification system using WebDriver and other automation tools
While human-machine verification systems are continually improving their ability to detect automated tools, there are still some strategies that can help automated tools such as WebDriver avoid detection:
Simulate human behavior: You can program WebDriver to simulate human behavior, such as randomizing mouse movement and click speed, simulating keyboard input, etc.
Modify browser properties: You can try to modify some properties of the browser controlled by WebDriver to make it look like a normal, non-automated browser. For example, you can try to remove or modify the navigator.webdriver property.
Control request speed: By adding delays between requests, or randomizing the timing of requests, you can make automated actions look more like human behavior.
Proxies and VPNs: Using a proxy server or VPN can hide your real IP address, making it more difficult to detect.
However, these strategies do not guarantee that your automated actions will go undetected. Also, be aware that if you use automated tools without the website owner’s permission, you may be violating the site’s terms of service and could get your IP address banned.
