HN user

seleniumbase

318 karma
Posts19
Comments27
View on HN
www.youtube.com 7mo ago

Stealthy Playwright Mode: Bypass CAPTCHAs and Bot-Detection [video]

seleniumbase
5pts4
www.youtube.com 9mo ago

High-speed CAPTCHA-bypass with Python / PyAutoGUI [video]

seleniumbase
8pts1
github.com 10mo ago

Web-scraping past bot-detection from GitHub Actions (e.g. Walmart prices)

seleniumbase
11pts0
github.com 1y ago

SeleniumBase: Python APIs for web automation and bypassing bot-detection

seleniumbase
177pts67
seleniumbase.io 5y ago

The virtual device farm for rendering websites on multiple devices

seleniumbase
104pts27
github.com 5y ago

SeleniumBase lets you load JavaScript packages into any website

seleniumbase
5pts0
github.com 5y ago

Generating HTML charts with Python and Highcharts

seleniumbase
3pts0
github.com 6y ago

Creating HTML presentations using Python

seleniumbase
3pts0
dev.to 6y ago

Using Python to load JavaScript packages into any website

seleniumbase
6pts0
github.com 6y ago

Using Python and Selenium for mobile-device testing on Chromium-based browsers

seleniumbase
7pts0
github.com 6y ago

Using Python to load JavaScript packages into any website via browser automation

seleniumbase
6pts2
github.com 6y ago

A JavaScript package manager for loading any library into any website

seleniumbase
3pts1
dev.to 6y ago

Running browser tests from GitHub Workflows with SeleniumBase

seleniumbase
4pts1
github.com 6y ago

Running browser-based test automation with GitHub Workflows

seleniumbase
4pts0
github.com 6y ago

Using Python and Selenium for automated visual regression testing

seleniumbase
125pts40
github.com 6y ago

Using Python to generate JavaScript for creating interactive website tours

seleniumbase
84pts16
github.com 6y ago

Running browser-based test automation with Azure Pipelines by using SeleniumBase

seleniumbase
3pts0
github.com 9y ago

Building a browser-based test automation server on the Google Cloud Platform

seleniumbase
86pts11
github.com 10y ago

A simple way to run browser automation in a Docker container using SeleniumBase

seleniumbase
2pts0

The secret ingredient is to use Playwright's `connect_over_cdp()` method to connect to an existing browser that is already stealthy. Playwright can then perform its usual actions without being detected by anti-bot services. Example setup: `browser = playwright.chromium.connect_over_cdp("http://localhost:9222")`

The biggest issue with going from a home machine to a server is that you may lose having a "residential IP address", which is something that you'll want to have in order to prevent automation from being blocked outright. Hence the popularity of residential proxies. However, some servers live in a residential IP space, which makes them optimal for running web automation in. As was partially covered in https://www.youtube.com/watch?v=Mr90iQmNsKM, GitHub Actions appears to live in a "Residential IP space", which makes it a good server choice for web automation.

Patching chromedriver is a lot easier than patching the browser. Plus, if you're just using a regular Chrome browser for the automation, then there's nothing to patch. Automated CDP calls aren't detectable if they don't leave any trace of automation activity. However, since Google created CDP, they might have ways of detecting automated CDP in ways that other services cannot.

SeleniumBase modifies the webdriver so that it doesn't get detected when used alongside the CDP stealth mode and methods. It'll download chromedriver for you. Not sure what you mean by the multiple branches, as there's just the primary one. What 1000-line methods are you referring to? By "flags", do you mean the different command-line options available? As for Playwright, they aren't undetected: See https://github.com/microsoft/playwright/issues/23884#issueco... - "Playwright is an end-to-end testing framework, where we expect you test on your own environments. Bypassing any form of bot protection is not something we can act on. Thanks for your understanding." On the contrary, SeleniumBase is OK with bypassing bot detection: https://github.com/seleniumbase/SeleniumBase/blob/master/exa...

SeleniumBase has those retries built-in. The browser will automatically wait for page elements to fully load before interacting with them. In addition, SeleniumBase includes all the abilities of pytest, which transforms Selenium from a library into a complete test automation framework.