mherrmann/helium

Lighter web automation with Python

View on GitHub ↗Jump to charts ↓

mherrmann/helium has 8k+ stars and 500+ forks on GitHub, is written in Python, and was last pushed on Aug 10, 2026. Data as of . Signed-in members get hourly updates — create a free account.

Summary Information

Updated 8 minutes ago
Added to GitGenius on September 7th, 2026
Created on November 26th, 2019
Open Issues & Pull Requests: 55 (+0)
GitHub issues: Enabled
Number of forks: 513
Total Stargazers: 8,326 (+0)
Total Subscribers: 85 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 16.0 days
Mean response time: 279.1 days
90th percentile: 759.1 days
Tracked items: 10

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 7
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 706 days
Stale 30+ days: 7
Stale 90+ days: 7

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

No label distribution available yet.

Most active issues this week

Sign in to see which issues are moving.
Sign in

Detailed Description

Helium is a Python library for automating web browsers such as Chrome and Firefox. It wraps Selenium to provide a higher-level API that lets developers interact with web page elements using user-visible labels instead of HTML IDs, XPaths, or CSS selectors, typically reducing script length by 30-50% compared to raw Selenium while improving readability and stability against page changes.

The library solves the friction of writing verbose, brittle browser automation code. Rather than forcing developers to locate elements by technical selectors, Helium identifies them by their visible text or labels, making scripts read more like natural interactions. It also smooths over traditionally painful Selenium tasks: it handles nested iFrames transparently without requiring explicit switching, manages window focus automatically when popups open or close, applies implicit waits by default so scripts don't fail if elements haven't loaded yet, and provides a cleaner API for explicit waits on page conditions. Because Helium is a pure wrapper around Selenium, developers can freely mix both libraries in the same script without losing functionality.

Helium suits developers building web automation or scraping scripts who want faster development and more maintainable code than Selenium alone provides. It works well for projects where readability and stability matter more than squeezing every ounce of performance. Anyone already familiar with Selenium can adopt it incrementally, mixing Helium calls with Selenium where convenient. The library requires Python 3 and Chrome or Firefox.

The maintainer has limited spare time for the project and does not regularly respond to emails or issues on the tracker. The project accepts and merges pull requests from contributors. A cheatsheet and full documentation are available to help new users become productive quickly.