# seleniumbase/seleniumbase

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/seleniumbase-seleniumbase).**

12,361 stars · 1,507 forks · Python · mit

## Links

- GitHub: https://github.com/seleniumbase/SeleniumBase
- Homepage: https://seleniumbase.io
- awesome-repositories: https://awesome-repositories.com/repository/seleniumbase-seleniumbase.md

## Topics

`anti-detection` `behave` `bot-detection` `cdp` `chromedriver` `cloudflare-bypass` `e2e-testing` `pytest` `pytest-plugin` `python` `python-scraper` `selenium` `selenium-python` `seleniumbase` `test-automation` `web-automation` `web-scraping` `web-scraping-python` `webdriver` `webkit`

## Description

SeleniumBase is a Python-based framework designed for end-to-end web application testing and automated web scraping. It provides a unified interface for browser orchestration, managing browser lifecycles, and executing complex interaction sequences across multiple browser vendors and operating systems. The framework simplifies the development of automation workflows by handling driver provisioning, element synchronization, and project scaffolding.

The project distinguishes itself through specialized stealth configurations that modify browser fingerprints to bypass anti-bot detection mechanisms. It supports multi-threaded test parallelization to reduce execution time and includes robust diagnostic capabilities, such as automatic screenshot and log capture upon failure. Users can also leverage hybrid testing modes that combine automated sequences with manual validation steps, as well as visual execution tools to monitor browser interactions in real time.

The framework covers a broad range of automation requirements, including test retry logic, custom script injection, and comprehensive reporting in multiple formats. It manages complex browser states across windows, tabs, and iframes while providing command-line abstractions for environment configuration and test execution. The project is distributed as a package with documentation and tools to assist in the setup and maintenance of automated browser interaction suites.

## Tags

### Data & Databases

- [Automated Web Scraping](https://awesome-repositories.com/f/data-databases/data-engineering-infrastructure/data-extraction-ingestion/data-collection-tools/web-crawlers/automated-web-scraping.md) — Navigates complex websites and bypasses anti-bot security measures to collect data efficiently while managing browser sessions and state.

### Testing & Quality Assurance

- [End-to-End Testing](https://awesome-repositories.com/f/testing-quality-assurance/software-testing/e2e-integration-testing/end-to-end-testing.md) — Validates complete user workflows and application functionality across different browsers to ensure consistent behavior and reliable performance.
- [Browser Automation Frameworks](https://awesome-repositories.com/f/testing-quality-assurance/software-testing/testing-frameworks/test-frameworks/browser-and-ui-testing/browser-automation-frameworks.md) — Simplifies browser interactions, element waiting, and test execution for end-to-end testing and web scraping.
- [WebDriver Implementations](https://awesome-repositories.com/f/testing-quality-assurance/automation-interaction-tools/webdriver-implementations.md) — Controls web browsers by sending commands through the standard W3C WebDriver protocol to manage lifecycles and user interactions.
- [Test Execution and Orchestration](https://awesome-repositories.com/f/testing-quality-assurance/software-testing/test-execution-orchestration.md) — Provides a robust engine for running automated test suites, supporting command-line configuration, automatic test discovery, and cross-platform execution. ([source](https://seleniumbase.io))
- [Web Testing Frameworks](https://awesome-repositories.com/f/testing-quality-assurance/software-testing/testing-frameworks/test-frameworks/browser-and-ui-testing/browser-automation-frameworks/web-testing-frameworks.md) — Manages browser lifecycles, parallel test execution, and generates detailed reports for complex web application validation.
- [Browser Automation](https://awesome-repositories.com/f/testing-quality-assurance/automation-interaction-tools/browser-automation.md) — Enables complex sequences like typing, clicking, and dragging by combining low-level browser actions into reliable method calls with automatic waiting. ([source](https://seleniumbase.io))
- [Failure Artifact Capturers](https://awesome-repositories.com/f/testing-quality-assurance/general-testing-utilities/test-failure-debugging-tools/failure-verification-tools/failure-artifact-capturers.md) — Automatically captures screenshots, page source, and logs upon test failure to provide immediate visual context for debugging sessions.
- [Cross-Browser Testing Tools](https://awesome-repositories.com/f/testing-quality-assurance/software-testing/testing-frameworks/test-frameworks/execution-and-infrastructure/test-infrastructure-configuration/cross-browser-testing-tools.md) — Provides a unified interface for controlling multiple browser vendors and drivers to ensure consistent application behavior across different operating systems.
- [Test Reporters](https://awesome-repositories.com/f/testing-quality-assurance/general-testing-utilities/test-reporters.md) — Produces detailed execution summaries in HTML or JUnit XML formats to track test results and failures after a suite completes. ([source](https://seleniumbase.io))
- [Auto-Waiting Assertions](https://awesome-repositories.com/f/testing-quality-assurance/general-testing-utilities/test-utilities-assertions/assertion-extensions-modes/asynchronous-interaction-utilities/auto-waiting-assertions.md) — Monitors the Document Object Model for element readiness before executing actions to prevent failures caused by asynchronous page loading.
- [Parallel Test Execution](https://awesome-repositories.com/f/testing-quality-assurance/parallel-test-execution.md) — Distributes large test suites across multiple threads to reduce execution time and provide rapid feedback.
- [Test Execution Management](https://awesome-repositories.com/f/testing-quality-assurance/testing-infrastructure-management/test-execution-management.md) — Distributes test suites across multiple threads to reduce total runtime by running browser instances concurrently. ([source](https://seleniumbase.io))
- [Screenshot Capture](https://awesome-repositories.com/f/testing-quality-assurance/automation-interaction-tools/screenshot-capture.md) — Automatically captures screenshots, page source, and metadata during automated sessions to assist in debugging and monitoring. ([source](https://seleniumbase.io))
- [Test Retry Strategies](https://awesome-repositories.com/f/testing-quality-assurance/general-testing-utilities/test-utilities-assertions/test-lifecycle-execution-control/test-retry-strategies.md) — Automatically re-executes tests or specific methods upon failure to account for transient issues or environmental instability. ([source](https://seleniumbase.io))
- [Hybrid Testing Modes](https://awesome-repositories.com/f/testing-quality-assurance/software-testing/testing-frameworks/test-frameworks/browser-and-ui-testing/browser-automation-frameworks/browser-automation-testing/hybrid-testing-modes.md) — Combines automated browser sequences with manual validation steps to streamline quality assurance for sensitive web interactions.
- [Hybrid Testing Interfaces](https://awesome-repositories.com/f/testing-quality-assurance/software-testing/testing-strategy-process/manual-testing-procedures/hybrid-testing-interfaces.md) — Facilitates collaborative testing by combining automated browser actions with manual validation steps through an interactive interface. ([source](https://seleniumbase.io))
- [Initialization Script Injections](https://awesome-repositories.com/f/testing-quality-assurance/general-testing-utilities/test-configuration/initialization-script-injections.md) — Allows users to inject and execute custom JavaScript or jQuery code directly within the browser context for advanced page manipulations. ([source](https://seleniumbase.io))

### Security & Cryptography

- [Anti-Bot Evasion](https://awesome-repositories.com/f/security-cryptography/bot-detection/anti-bot-evasion.md) — Employs specialized browser modes and stealth configurations to navigate websites and interact with protected content without triggering anti-bot measures. ([source](https://seleniumbase.io))
- [Browser Context Managers](https://awesome-repositories.com/f/security-cryptography/identity-access-management/session-management/browser-context-managers.md) — Controls multiple browser windows, tabs, and iframe containers to maintain state and navigate complex web layouts during automation tasks. ([source](https://seleniumbase.io))

### Web Development

- [Stealth Configurations](https://awesome-repositories.com/f/web-development/browser-automation/stealth-configurations.md) — Modifies browser fingerprints and execution flags to bypass automated bot detection mechanisms during web scraping and testing.
- [Browser Environment Configurations](https://awesome-repositories.com/f/web-development/web-automation-scraping/browser-environment-configurations.md) — Modifies browser fingerprints and execution flags to bypass automated bot detection mechanisms during web scraping and testing tasks.
- [Browser Lifecycle Managers](https://awesome-repositories.com/f/web-development/web-automation-scraping/browser-orchestration-systems/browser-lifecycle-managers.md) — Handles the automatic launching, configuration, and cleanup of browser instances across multiple operating systems and browser vendors. ([source](https://seleniumbase.io))

### Development Tools & Productivity

- [Browser Driver Management](https://awesome-repositories.com/f/development-tools-productivity/browser-driver-management.md) — Automatically detects, downloads, and configures the correct browser-specific executable drivers to ensure compatibility across different operating systems.
- [Debugging and Inspection Tools](https://awesome-repositories.com/f/development-tools-productivity/debugging-profiling-testing/debugging-diagnostics/debugging-inspection-tools/debugging-and-inspection-tools.md) — Pauses execution on errors or at specific breakpoints to allow developers to inspect the browser state and step through code. ([source](https://seleniumbase.io))
- [Browser Automation](https://awesome-repositories.com/f/development-tools-productivity/browser-automation.md) — Provides standardized project structures, visual recording, and debugging tools to accelerate the creation and maintenance of browser interaction scripts.
- [Command Line Interfaces](https://awesome-repositories.com/f/development-tools-productivity/command-line-interfaces.md) — Provides a unified command-based layer that wraps complex configuration, environment setup, and test execution logic for automated workflows.

### Programming Languages & Runtimes

- [Multi-Process Parallelism](https://awesome-repositories.com/f/programming-languages-runtimes/language-features-paradigms/concurrency-models/multi-process-parallelism.md) — Distributes independent test suites across multiple concurrent processes to reduce total execution time on multi-core hardware.

### DevOps & Infrastructure

- [Environment Configuration](https://awesome-repositories.com/f/devops-infrastructure/configuration-management/environment-management/environment-configuration.md) — Manages browser selection, driver versions, and execution settings through command-line parameters to support diverse testing and scraping requirements. ([source](https://seleniumbase.io))

### Software Engineering & Architecture

- [Failure Artifact Management](https://awesome-repositories.com/f/software-engineering-architecture/failure-handling-policies/failure-artifact-management.md) — Automatically generates logs and screenshots upon test failure, managing storage through automated archiving or replacement policies. ([source](https://seleniumbase.io))

### System Administration & Monitoring

- [Execution Observability](https://awesome-repositories.com/f/system-administration-monitoring/execution-observability.md) — Highlights elements and pauses between actions during automated tasks to help developers observe and verify the flow of a test. ([source](https://seleniumbase.io))
