Unlock the full potential of browser.ai with CDP integration, enabling seamless control over browser automation. From cookie management to precise geo-targeting, BrowserAI empowers developers to optimize web scraping workflows using familiar Puppeteer and Playwright commands.
BrowserAI is fully CDP-compatible, meaning every Puppeteer function and feature works right out of the box. You can explore the complete Puppeteer API in the official Puppeteer docs. But we didn’t stop there—we’ve added custom CDP functions, fine-tuned for high-performance scraping and stealth browsing. Take full control of your automation stack and push the limits of what’s possible.
The following are a few common browser navigation functions to get you started.
Get HTML page
More info: Puppeteer Page Content API
Click on Element
More info: Puppeteer Click API
Screenshot
The example scripts above will save the screenshot as screenshot.png in your files.
Scroll to Bottom
You might need to scroll the viewport to the bottom at times, such as when activating ‘infinite scroll’. Here’s how:
Block Endpoints
It is possible to block endpoints that are not required to save bandwidth. See an example of this below:
Setting Cookies
Country Routing
When using the BrowserAI, the same country-targeting parameter is available to use as in our other proxy products.
When setting up your script, add the -country
flag, after your “USER” credentials, followed by the 2-letter ISO code for that country.
You can target the entire European Union region in the same manner as “Country” above by adding “eu” after “country” in your request: -country-eu
Requests sent using -country-eu
will use IPs from one of the countries below which are included automatically within “eu”:
The allocation of a country within the EU is random.
BrowserAI’s built-in CAPTCHA solver automatically handles all CAPTCHAs, keeping your automation uninterrupted. Use custom CDP functions to monitor and fine-tune the solving process directly in your code.
If you would like to disable CAPTCHA solver entirely through the Control Panel see our feature for Disable Captcha Solver.
Once a CAPTCHA is solved, BrowserAI automatically submits the form if required.
Captcha.solve
Use this command to return the status after the captcha was solved, failed, or not detected.
Examples
If CAPTCHA-solving fails, retry the process. If the issue persists, submit a support request with details of the problem for further assistance.
Custom functions for CAPTCHA status
Use the following functions to identify specific stages in the CAPTCHA-solving process and debug more effectively.:
Captcha.detected | browser.ai has encountered a CAPTCHA and has begun to solve it |
Captcha.solveFinished | browser.ai successfully solved the CAPTCHA |
Captcha.solveFailed | browser.ai failed in solving the CAPTCHA |
Captcha.waitForSolve | browser.ai waits for CAPTCHA solver to finish |
Examples
The following code sets up a CDP session, listens for CAPTCHA events, and handles timeouts:
The following code sets up a CDP session, listens for CAPTCHA events, and handles timeouts:
Selenium doesn’t support asynchronous server-driven events like Puppeteer and Playwright.
The Captcha.waitForSolve
command waits for BrowserAI’s CAPTCHA solver to finish.
To manually configure or disable the default CAPTCHA solver—allowing you to call it manually or handle solving yourself—use the following CDP commands and settings.
Captcha.setAutoSolve
This command is used to control the auto-solving of a CAPTCHA. You can disable auto-solve or configure algorithms for different CAPTCHA types and manually trigger this:
Examples of CDP commands to disable auto-solver completely within the session:
Disable auto-solver for a specific CAPTCHA type only - Examples
Manually solving CAPTCHAs - Examples
CaptchaOptions for other Captcha types
For the following three CAPTCHA types we support the following additional options to control and configure our auto-solving algorithm.
Emulation.getSupportedDevices
Use this command to get a list of all possible devices that can be emulated. This function returns an array of device options that can be used with the setDevice command.
Emulation.setDevice
After retrieving the list of supported devices, you can emulate a specific device using the Emulation.setDevice command. This adjusts the screen width, height, userAgent, and devicePixelRatio to match the selected device.
If you wish to change the orientation to landscape (for devices that support it), add the string landscape
after the device_name
.
Use this command to install custom client SSL/TLS certificates for domain authentication when required. These certificates remain active for the current BrowserAI session and are automatically removed when the session ends.
Browser.addCertificate
Code examples
Replace placeholder values USER:PASS
with your valid BrowserAI credentials.
Replace client.pfx
with the actual path to your certificate file. This file should be a valid SSL/TLS client certificate in .pfx format.
Replace secret
with the actual password for the certificate.