axe-selenium-python
Python library to integrate axe and selenium for web accessibility testing.
Decision gist · record as of 2026-08-14
Yes. The package is actively maintained, has low install friction, no known vulnerabilities, and directly solves the common problem of automating web accessibility testing in Selenium workflows. The copyleft license (MPL 2.0) is standard for accessibility tooling and poses no barrier to most projects. Install if you need to integrate accessibility scanning into your test automation.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.12+, selenium >= 4.2, and a browser driver (geckodriver, chromedriver, etc.) downloaded and added to your system PATH.
- Low install friction with a pure-Python wheel distribution.
- Actively maintained as of April 2026 with recent commits.
License · maintenance · safety
copyleft license (copyleft) — Licensed under Mozilla Public License 2.0 (MPL 2.0), a copyleft license. Derivative works and modifications must be distributed under the same license; proprietary use of unmodified binaries is permitted.
last release 2026-04-19 (117 days) · last repo commit 2026-04-19 · 71 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 252,124 downloads/mo, #8,556 on PyPI
Alternatives
Verify before relying
pip install axe-selenium-python
from selenium import webdriver
from axe_selenium_python import Axe
driver = webdriver.Firefox()
driver.get("http://www.google.com")
axe = Axe(driver)
axe.inject()
results = axe.run()
axe.write_results(results, 'a11y.json')
driver.close()- Whether axe-core@4.10.2 covers all WCAG 2.1 or 2.2 conformance levels.
- Performance characteristics when scanning large or complex pages.
- Compatibility with headless browser modes and CI/CD environments.
What it is and what it does
axe-selenium-python wraps the aXe accessibility testing engine (axe-core@4.10.2) inside a Selenium-driven browser automation layer, letting you inject accessibility checks into live web pages and collect structured violation reports. It's designed for developers and QA engineers who want to catch accessibility issues—WCAG violations, color contrast failures, missing labels, etc.—as part of their test suites or continuous integration pipelines.
The package provides an Axe class that injects aXe's JavaScript into a page, runs the scan, and returns results as JSON. You can write results to disk, assert on violation counts, or generate reports. It depends on selenium for browser control and pytest as a test framework integration point. The library is actively maintained and uses modern Python (3.12+), making it suitable for contemporary test automation workflows.
Use it for
- Run automated accessibility scans in Selenium-based test suites to catch WCAG violations before release.
- Generate accessibility audit reports for compliance documentation and stakeholder review.
- Integrate accessibility checks into CI/CD pipelines to fail builds when new violations are introduced.
- Test multiple pages or user workflows by injecting and running axe checks at different points in a Selenium script.
- Validate that accessibility fixes actually resolve reported violations by re-running scans after code changes.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes.
The package is actively maintained, has low install friction, no known vulnerabilities, and directly solves the common problem of automating web accessibility testing in Selenium workflows. The copyleft license (MPL 2.0) is standard for accessibility tooling and poses no barrier to most projects. Install if you need to integrate accessibility scanning into your test automation.
Install
axe-selenium-python on PyPI
Before you install
Low install friction with a pure-Python wheel distribution. Actively maintained as of April 2026 with recent commits. Requires selenium >= 4.2 and Python 3.12+, plus a browser driver (geckodriver, chromedriver, etc.) added to PATH.
Requires Python 3.12+, selenium >= 4.2, and a browser driver (geckodriver, chromedriver, etc.) downloaded and added to your system PATH.
License in practice
Licensed under Mozilla Public License 2.0 (MPL 2.0), a copyleft license. Derivative works and modifications must be distributed under the same license; proprietary use of unmodified binaries is permitted.
Quickstart
pip install axe-selenium-python
from selenium import webdriver
from axe_selenium_python import Axe
driver = webdriver.Firefox()
driver.get("http://www.google.com")
axe = Axe(driver)
axe.inject()
results = axe.run()
axe.write_results(results, 'a11y.json')
driver.close()
Verify before relying
- Whether axe-core@4.10.2 covers all WCAG 2.1 or 2.2 conformance levels.
- Performance characteristics when scanning large or complex pages.
- Compatibility with headless browser modes and CI/CD environments.
Package facts
| License | copyleft license copyleft |
| Python support | Supports the current Python release >=3.12 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 2 packagesseleniumpytest |
| Maintenance | Actively maintained 117 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 252,124 / month, #8,556 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
Evidence: axe_selenium_python-3.0.0-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “web accessibility testing automation”
- axe-selenium-pythonIntegrates aXe accessibility testing with Selenium to automate web…
- axe-playwright-pythonRuns automated accessibility audits on web pages using the axe-core…
- java-access-bridge-wrapperWraps the Windows Java Access Bridge to let Python code…
Give your agent the search over MCP, or paste the wish link into any chat.
More Quality Assurance packages
Coverage.py measures which lines of Python code are executed during test runs, reporting coverage percentages and identifying untested code paths.
Install it if you want to measure test completeness or enforce coverage thresholds in your project.
Ruff is a Python linter and code formatter written in Rust that combines linting, formatting, and code fixing into a single tool, replacing Flake8, Black, isort, and related utilities.
Pexpect spawns and controls interactive console applications by sending input and matching output patterns, automating tasks that would otherwise require manual interaction.
Black reformats Python source code to a consistent style by parsing entire files and rewriting them according to an opinionated, deterministic set of rules, eliminating manual formatting decisions.
pytest-xdist distributes pytest tests across multiple CPU cores or machines to speed up test execution, with the simplest usage being `pytest -n auto` to spawn workers equal to available CPUs.
Install it if your test suite takes long enough that parallelization would save meaningful time.
Validates AWS CloudFormation templates in YAML or JSON format against resource provider schemas and best practices, checking property values and configuration correctness.
Install it if you work with CloudFormation templates.
See also axe-playwright-python · selenium · selenium-wire · selenium-stealth · java-access-bridge-wrapper · pytest-selenium · requestium · Selenium-Screenshot · webdriver-manager · etelemetry