Repolode
mherrmann

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. 1

    Create a virtual environment

    python3 -m venv venv
  2. 2

    Activate the virtual environment (Mac/Linux)

    source venv/bin/activate
  3. 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