--- id: splinter version: "0.21.0" license: BSD license_treatment: permissive maintenance: aging --- # splinter — browser abstraction for web acceptance testing License: permissive · Maintenance: aging · Downloads: 463.1K/mo ## What it is and what it does Splinter is a browser automation framework that sits on top of multiple automation backends (Selenium, Django, Flask, ZopeTestBrowser) and presents a single, consistent API for controlling web browsers programmatically. Instead of writing code specific to Selenium or another driver, you write Splinter code that can switch backends without changing your test logic. It's designed for web acceptance testing and automation tasks—visiting pages, filling forms, clicking buttons, checking for text—with an API meant to be intuitive and quick to learn. The framework handles common automation quirks and lets you drop down to raw Selenium when needed, making it useful for both simple test scripts and more complex automation scenarios. Use it for: - Automated web acceptance testing for web applications across multiple browsers using a single API. - Building web scraping scripts that need to interact with JavaScript-heavy pages requiring a real browser. - End-to-end testing of web forms, login flows, and user workflows in CI/CD pipelines. - Cross-browser compatibility testing without rewriting tests for each browser driver. - Regression testing for web applications where UI interactions need to be validated automatically. ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. Splinter provides a unified Python interface for automating web browser interactions across multiple drivers (Selenium, Django, Flask, ZopeTestBrowser), enabling web application testing and automation without writing driver-specific code. Yes, with conditions. Splinter is worth installing for web acceptance testing and browser automation if you need a unified API across multiple drivers and prefer a simpler abstraction over raw Selenium. However, the aging maintenance status (last release 2024-01-16) means you should verify compatibility with your target browsers and Selenium versions before committing to it in new projects. It has no known vulnerabilities, but consider whether active maintenance is important for your use case. ## Install pip install splinter uv add splinter poetry add splinter ## Installing splinter Before you install: Low install friction with a single pure-Python wheel dependency (urllib3). Maintenance status is aging—last release was 2024-01-16 and the repository has not received commits since 2025-08-16, though the project remains unarchived with 2751 GitHub stars. License in practice: BSD license is permissive, allowing commercial and private use with minimal restrictions; you may use, modify, and distribute the package freely provided you retain the license notice. Quickstart: pip install splinter from splinter import Browser browser = Browser('firefox') browser.visit('http://example.com') browser.find_by_name('q').fill('search term') browser.quit() Requires a browser driver (Firefox, Chrome, etc.) and corresponding Selenium WebDriver or other supported automation backend to be installed separately. Verify before relying: - Whether the aging maintenance status (last release 2024-01-16) affects compatibility with current browser versions and Selenium releases. - Performance characteristics and scalability limits for large-scale automation workloads. - Current state of support for modern browser automation features and standards. ## Package facts - License: BSD (permissive) - Python support: unspecified - Install friction: low - Maintenance: aging - Downloads: 463.1K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags web browser automation python, web acceptance testing framework, selenium wrapper abstraction, automated browser interaction, web application testing tool, cross-driver browser control, python web automation, web-automation, acceptance-testing, browser-driver [View on SkillFed](https://skillfed.io/packages/splinter) · [View on PyPI](https://pypi.org/project/splinter/)