- Chrome/Firefox जैसे ब्राउज़र को ऑटोमेट करने के लिए एक Python लाइब्रेरी
- Helium, Selenium पर आधारित है और एक higher-level API प्रदान करता है
- Helium स्क्रिप्ट आम तौर पर Selenium स्क्रिप्ट की तुलना में 30-50% छोटी, पढ़ने में आसान और अधिक स्थिर होती हैं
- Selenium में HTML ID, XPath, CSS selectors का उपयोग करना पड़ता है, लेकिन Helium में यूज़र को दिखने वाले labels से elements को refer किया जा सकता है
- Helium और Selenium को मिलाकर इस्तेमाल किया जा सकता है
- Helium के फायदे
- iFrames: Helium nested iFrame के अंदर मौजूद elements के साथ interact कर सकता है
- विंडो मैनेजमेंट: popup window को अपने आप detect करके focus करता है; आसानी से switch किया जा सकता है
- implicit wait: अगर किसी खास element के load होने से पहले click किया जाए, तो उसके दिखाई देने तक डिफ़ॉल्ट रूप से 10 सेकंड तक इंतज़ार करता है (Selenium में स्क्रिप्ट fail हो जाती है)
- explicit wait: condition पूरी होने तक wait करने के लिए बेहतर API प्रदान करता है
- फिलहाल प्रोजेक्ट मेंटेनेंस के लिए समय की कमी होने के कारण मुफ्त सपोर्ट नहीं दिया जा रहा है
- PR स्वीकार किए जाते हैं, और योगदान का स्वागत है
- इतिहास
- Helium को 2013 में BugFree Software नामक एक Polish IT startup के लिए विकसित किया गया था
- 2019 में कंपनी बंद हो गई, और Helium को open source में बदल दिया गया
- पहले यह Java और Python में उपलब्ध था, लेकिन अब केवल Python को सपोर्ट करता है
- Helium नाम, Selenium की तरह एक chemical element से लिया गया है, और इसका अर्थ है अधिक हल्का होना
1 टिप्पणियां
Hacker News टिप्पणियाँ
Selenium प्रोजेक्ट के संस्थापक ने उल्लेख किया कि Helium का API, Selenium के शुरुआती API से मिलता-जुलता है। उन्होंने ज़ोर दिया कि ऑटोमेशन API की कई शैलियाँ मौजूद हैं और ऐसा कोई API नहीं है जो सभी को संतुष्ट कर सके। व्यक्तिगत रूप से वे सरल functional style को पसंद करते हैं
ज़्यादातर Python linters और best practices दस्तावेज़
import *की सिफारिश नहीं करते। इसके बजायimport helium as hजैसे तरीके से इसे संक्षेप में इस्तेमाल किया जा सकता हैSelenium के साथ ad-hoc automation का अनुभव रखने वाले एक उपयोगकर्ता ने कहा कि Helium का प्राकृतिक भाषा जैसा API उनके लिए उपयोगी होता
Selenium wrapper के अधिक हल्का होने के दावे पर सवाल उठाया गया। wrapper मूल रूप से अधिक code और features शामिल करता है, इसलिए यह कम resource इस्तेमाल नहीं करता और न ही तेज़ होता है
यह जानने की जिज्ञासा जताई गई कि Helium की तुलना Playwright, Selenium, Cypress, और Puppeteer से कैसे होती है
Helium को गायब न होने देने के लिए किए गए प्रयासों के प्रति आभार व्यक्त किया गया
यह पूछा गया कि क्या किसी विशेष Chrome browser profile नाम के साथ शुरू किया जा सकता है, या मौजूदा Firefox/Chrome session को दोबारा इस्तेमाल किया जा सकता है
इस पर सवाल उठाया गया कि automation को वास्तविक उपयोगकर्ता से अलग पहचानना कितना आसान है। अगर web को automation के ज़रिए इस्तेमाल किया जाए, तो access block होने का जोखिम हो सकता है
उल्लेख किया गया कि Helium का उपयोग करके agent flow बनाए जा सकते हैं। डेटा इकट्ठा करने या सवालों के जवाब देने वाले sandbox instance बनाने में रुचि जताई गई
यह जानने की जिज्ञासा जताई गई कि Helium user fields को कैसे पहचानता है। क्या वह labels पढ़कर उनके नीचे या दाईं ओर मौजूद चीज़ को user field मान लेता है, इस पर सवाल उठाया गया