Playwright is a framework for web testing and automation that drives Chromium, Firefox, and WebKit through one API.
mherrmann/helium
A Python library for browser automation built on Selenium, letting you target elements by visible labels instead of selectors.
- Stars
- 8,322
- Forks
- 513
- Open issues
- 55
- Last commit
- 3 days ago
What is it?
Helium is a Python library for automating Chrome and Firefox. It wraps Selenium and forwards each call to it, so the underlying driver stays available and the two can be mixed freely in one script.
The main difference is the API. Instead of HTML IDs, XPaths or CSS selectors, Helium refers to elements by user-visible labels such as Button('Download'). Scripts are typically 30-50% shorter than equivalent Selenium code and are less likely to break when page markup changes.
Helium also handles several tasks that are awkward in plain Selenium: it interacts with elements inside nested iframes without switching into them, focuses popups as they open and close, switches windows by partial title, and waits implicitly up to 10 seconds for elements to appear. It also offers a simpler wait_until helper for explicit waits.
Key features
- 01Locates elements by visible labels such as buttons and links instead of selectors.
- 02Works with Chrome and Firefox through Selenium.
- 03Interacts with elements in nested iframes without explicit switching.
- 04Automatically handles popup windows and switches windows by partial title.
- 05Waits up to 10 seconds by default for elements to appear.
- 06Lets you mix Helium calls with raw Selenium APIs in the same script.
Use cases
- Automating repetitive web tasks such as form filling or downloading reports.
- Writing browser tests that stay readable and resilient to markup changes.
- Scraping pages where elements are easier to identify by their visible text.
Quick start
- 1
Create a virtual environment
python3 -m venv venv - 2
Activate the virtual environment (Mac/Linux)
source venv/bin/activate - 3
Install Helium with pip
python -m pip install helium
Things to know
- Requires Chrome or Firefox to be installed.
- The maintainer has limited time and will usually not respond to issues unless easy to address.
In collections
Topics
FAQ
- What is helium?
- A Python library for browser automation built on Selenium, letting you target elements by visible labels instead of selectors. Helium is a Python library for automating Chrome and Firefox. It wraps Selenium and forwards each call to it, so the underlying driver stays available and the two can be mixed freely in one script.
- Is helium free to use? What license does it have?
- helium is open source under the MIT license. Check the license terms before using it in commercial products.
- Is helium still maintained?
- Actively maintained. The last commit to helium was on Oct 22, 2026.
- What can I use helium for?
- Automating repetitive web tasks such as form filling or downloading reports. Writing browser tests that stay readable and resilient to markup changes. Scraping pages where elements are easier to identify by their visible text.
- How do I install helium?
- Create a virtual environment: python3 -m venv venv Activate the virtual environment (Mac/Linux): source venv/bin/activate Install Helium with pip: python -m pip install helium
- Where can I get helium?
- The source code and installation instructions are on GitHub: https://github.com/mherrmann/helium
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
A JavaScript library with a high-level API for controlling Chrome or Firefox over DevTools Protocol or WebDriver BiDi, headless by default.
Python library for automating Chromium, Firefox and WebKit browsers through a single API, with sync and async variants.
Open-source browser API for AI agents and apps, running a managed Chrome sandbox you can drive with Puppeteer, Playwright, or Selenium.
A Go HTTP server that gives AI agents token-efficient control over Chrome, with multi-instance orchestration and a live dashboard.
A Go library that drives Chrome through the DevTools Protocol for web automation and scraping, with auto-waiting and browser download.