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.