Repository navigation
seleniumbase-rs 0.1.0
The first release of seleniumbase-rs, a Rust port of Python SeleniumBase 4.55.2 and its MCP server.
[dependencies]
seleniumbase-rs = { git = "https://github.com/MustCodeAl/seleniumbase-rs", tag = "v0.1.0" }Not published to crates.io.
What is in it
- Two engines.
BaseCaseon WebDriver (thirtyfour) with the SeleniumBase API, andsb_cdp(Browser,Page,Locator), which drives Chrome over the DevTools Protocol with no driver at all. - Drivers started for you: chromedriver for Chrome and other Chromium browsers, geckodriver for Firefox, msedgedriver for Edge (matched to the installed version), operadriver and safaridriver. On macOS and Linux they and their browsers end with the program that started them, also when it is killed.
sbase install/sbase getdownload a driver by name and version. - Parity with Python SeleniumBase: every upstream API has a recorded status in
docs/parity.md: 888 implemented, 383 composed from existing calls, 94 not applicable (with the reason), none planned. sbase, the command-line tool, andseleniumbase-mcp, the MCP server (cdp,driverandsbservers), both tested end to end as the real binaries.- Importers:
sbase import-python(SeleniumBase and Selenium tests),sbase import-playwright(JavaScript, TypeScript, Python, codegen, pytest) andsbase import-puppeteer(scripts, jest-puppeteer, Mocha, Chrome Recorder JSON) write Rust tests; anything they cannot convert stays as a TODO with its line number. - Stealth layer (experimental, features
scrapeandimpersonate): browser-identical TLS, HTTP/2 and headers, an MITM proxy,HttpSessionandStealthSession, with custom JA3/JA4/Akamai inputs. Only Chrome 155 on macOS is measured; other browsers and systems are refused rather than guessed. - Tauri 3: the example desktop app (
examples/tauri-profile-manager) builds on Tauri 3.0.0-alpha.4, and the whole library, every feature on, builds and passes its tests in a Tauri 3 app. - Terminal apps (feature
tui):sbase commander,caseplansandbehave-gui. - Tooling:
mise.toml(toolchain and the gate as tasks),context7.json, a Dockerfile.
How it was checked
- About 3,000 automated tests on macOS (Apple Silicon), with formatting, clippy (
-D warnings) andcargo denyclean. - 144 tests in 28 files against a real Chrome 155, plus real Edge 155 on macOS and Firefox 153 in Docker.
- Linux (arm64, in Docker): the test suite and the real-Chromium tests passed on an earlier commit.
Known limits
- Windows has not been verified yet. The first run on a Windows PC found a startup crash of
sbase(fixed here) and two test problems (fixed here); a full run is in progress. - Stealth fingerprints are measured for Chrome 155 on macOS only.
- Firefox sessions get no proxy, extensions, mobile emulation or CDP/UC modes yet.
- Ad blocking does not cover frames from other sites.
- Most behaviour is checked against mocks; the real-browser tests cover the main paths.
The full list of changes is in CHANGELOG.md.