- Python-Bibliothek zur Automatisierung von Browsern wie Chrome/Firefox
- Helium basiert auf Selenium und bietet eine höherstufige API
- Helium-Skripte sind in der Regel 30–50 % kürzer als Selenium-Skripte sowie leichter zu lesen und stabiler
- Während man in Selenium HTML-IDs, XPath oder CSS-Selektoren verwenden muss, kann man in Helium Elemente über für den Nutzer sichtbare Beschriftungen referenzieren
- Helium und Selenium lassen sich gemischt verwenden
- Vorteile von Helium
- iFrames: Helium kann mit Elementen innerhalb verschachtelter iFrames interagieren.
- Fensterverwaltung: Erkennt Pop-up-Fenster automatisch und setzt den Fokus darauf. Einfaches Wechseln möglich
- Implizites Warten: Wenn auf ein bestimmtes Element geklickt wird, bevor es geladen ist, wartet Helium standardmäßig bis zu 10 Sekunden, bis es erscheint (bei Selenium schlägt das Skript fehl)
- Explizites Warten: Bietet eine bessere API, um zu warten, bis Bedingungen erfüllt sind.
- Derzeit wird das Projekt aus Zeitmangel für die Wartung nicht kostenlos unterstützt
- PRs werden akzeptiert, Beiträge sind willkommen.
- Geschichte
- Helium wurde 2013 für das polnische IT-Startup BugFree Software entwickelt
- 2019 wurde das Unternehmen eingestellt, und Helium wurde als Open Source veröffentlicht
- Es war in Java und Python verfügbar, unterstützt derzeit aber nur noch Python
- Der Name Helium stammt – wie Selenium – von einem chemischen Element und steht für geringeres Gewicht
1 Kommentare
Hacker-News-Kommentare
Der Gründer des Selenium-Projekts erwähnt, dass die API von Helium der frühen API von Selenium ähnelt. Er betont, dass es verschiedene Stile von Automatisierungs-APIs gibt und dass es keine API gibt, die alle zufriedenstellt. Persönlich bevorzugt er einen einfachen funktionalen Stil
Die meisten Python-Linter und Dokumente zu Best Practices empfehlen
import *nicht. Stattdessen kann man es kurz mitimport helium as hverwendenEin Nutzer mit Erfahrung in ad-hoc-Automatisierung mit Selenium merkt an, dass die API von Helium, die natürlicher Sprache ähnelt, nützlich gewesen wäre
Es wird infrage gestellt, dass ein Wrapper um Selenium leichter sei. Ein Wrapper enthält grundsätzlich mehr Code und Funktionen und verbraucht weder weniger Ressourcen noch ist er schneller
Es besteht Neugier, wie Helium im Vergleich zu Playwright, Selenium, Cypress und Puppeteer abschneidet
Es wird Dank dafür ausgedrückt, dass man sich bemüht hat, Helium nicht verschwinden zu lassen
Es wird gefragt, ob sich mit einem bestimmten Chrome-Browserprofilnamen starten oder eine bestehende Firefox-/Chrome-Sitzung wiederverwenden lässt
Es wird die Frage aufgeworfen, wie leicht sich Automatisierung von echten Nutzern unterscheiden lässt. Wenn man das Web per Automatisierung nutzt, könnte das Risiko bestehen, dass der Zugriff blockiert wird
Es wird erwähnt, dass sich mit Helium wohl Agenten-Workflows bauen lassen. Es besteht Interesse daran, eine Sandbox-Instanz zu erstellen, die Daten sammeln oder Fragen beantworten kann
Es wird gefragt, wie Helium Benutzerfelder erkennt. Es wird die Frage aufgeworfen, ob Labels gelesen werden und dann das darunter oder rechts davon Befindliche als Benutzerfeld angenommen wird