Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Ruby

रूबी विद वॉटर से वेब ब्राउज़र को कैसे नियंत्रित करें

क्या आप जानते हैं कि आप अपने वेब ब्राउज़र को रूबी से नियंत्रित कर सकते हैं?

वॉटर रत्न आपको ऐसा करने की अनुमति देता है।

और यह आधुनिक ब्राउज़रों की पूरी शक्ति के साथ आता है :

  • आप पृष्ठ के दृश्य क्षेत्र का स्क्रीनशॉट ले सकते हैं
  • आप किसी भी पेज पर जावास्क्रिप्ट चला सकते हैं, डेवलपर टूल को मैन्युअल रूप से खोले बिना और कोड को टाइप किए बिना
  • आप लिंक ढूंढ सकते हैं, उन पर क्लिक कर सकते हैं और यहां तक ​​कि इनपुट फ़ील्ड में टेक्स्ट भी भर सकते हैं

वॉटर और सेलेनियम प्रोजेक्ट की बदौलत यह सब आपके लिए उपलब्ध है।

आइए कुछ कोड उदाहरण देखें!

ब्राउज़र लॉन्च करना

सबसे पहले, इस तरह एक ब्राउज़र ऑब्जेक्ट बनाएं:

require 'watir'

browser = Watir::Browser.new

यह एक खाली क्रोम विंडो खोलेगा (यह मानते हुए कि आपने इसे स्थापित किया है) जिसे आप अभी नियंत्रित कर सकते हैं।

उदाहरण के लिए :

browser.goto("rubyguides.com")

Chrome इस URL पर नेविगेट करेगा, और पृष्ठ ऐसे लोड होगा जैसे आपने स्वयं URL टाइप किया हो।

अब :

आप कुछ भी कर सकते हैं जो आप आमतौर पर अपने माउस और कीबोर्ड से वेबसाइट पर करते हैं।

जैसे लिंक ढूंढना और उस पर क्लिक करना।

उदाहरण :

browser.link(text: "All Posts").click

वाटिर के साथ तत्वों को कैसे खोजें

आप तत्वों को उनकी विशेषताओं के आधार पर ढूंढ सकते हैं, जैसे:

  • पाठ
  • कक्षा
  • आईडी

इन तत्वों में ऐसे तरीके हैं जो उनके HTML नाम से मेल खाते हैं, इसलिए यदि आप H1 टैग की तलाश कर रहे हैं तो विधि h1 है , पैराग्राफ के लिए विधि p . है &छवियों के लिए विधि या तो img . है या images

उदाहरण :

browser.h1(text: "Ruby Post Index")

आप विधि नाम के बहुवचन का उपयोग करके तत्वों की सूची भी प्राप्त कर सकते हैं।

उदाहरण :

browser.links
browser.images
browser.h2s

यह आपको एक Watir::AnchorCollection . देगा ऑब्जेक्ट, जो प्रत्येक, मैप और इंजेक्ट जैसी विधियों का जवाब देता है।

उदाहरण :

browser.links.map(&:href)

ऐसे टाइमआउट और तत्वों से कैसे निपटें जो मौजूद नहीं हैं

ऐसा हो सकता है कि कोई तत्व मौजूद नहीं है, शायद इसलिए कि तत्व अभी तक पृष्ठ में लोड नहीं हुआ है, या पृष्ठ बदल गया है।

क्या होता है जब वॉटर को कोई तत्व नहीं मिल पाता ?

एक समय समाप्त हो गया है।

यह डिफ़ॉल्ट रूप से 30 सेकंड है, लेकिन आप इसे बदल सकते हैं:

Watir.default_timeout = 10

जब यह समाप्त हो जाता है तो आपको एक Watir::Exception::UnknownObjectException . मिलता है अपवाद।

लेकिन इससे निपटने का एक और तरीका है!

क्लिक करने या कोई अन्य क्रिया करने से पहले आप जांच सकते हैं कि तत्व मौजूद है या नहीं।

यहां बताया गया है :

link = browser.link(text: 'Guides')

if link.present?
  link.click
end

एक स्क्रीनशॉट कैसे लें

एक बार आपके पास एक खुला ब्राउज़र और एक पृष्ठ लोड हो जाने पर आप उसका स्क्रीनशॉट ले सकते हैं।

इसे पसंद करें :

browser.screenshot.save("/tmp/screen.png")

यह वर्तमान व्यूपोर्ट की एक छवि सहेजता है।

चल रही स्क्रिप्ट

आप पृष्ठ की वर्तमान स्थिति को प्रभावित करने के लिए ब्राउज़र में Javascript चला सकते हैं, या आप उस पृष्ठ पर परिभाषित Javascript फ़ंक्शन को कॉल कर सकते हैं।

यहां बताया गया है :

browser.execute_script "alert('bacon')"
# nil

नतीजा?

"बेकन" शब्द के साथ एक अलर्ट विंडो

कोड चलाएं और परिणाम वापस पाएं :

browser.execute_script "return 1 + 1"
# 2

इनपुट फ़ील्ड कैसे भरें

इनपुट फ़ील्ड भरने में दो चरण शामिल हैं:

  1. तत्व ढूंढें
  2. कुंजी भेजें

यहां एक उदाहरण दिया गया है :

browser.input(id: "search").send_keys("orange juice")

अब आपको सबमिट बटन ढूंढना होगा और उस पर क्लिक करना होगा।

पानी के उपयोगी तरीके और टिप्स

वॉटर आपको कुछ उपयोगी तरीकों तक पहुंच प्रदान करता है।

उदाहरण के लिए, वर्तमान URL प्राप्त करें :

browser.url

खुले टैब की सूची प्राप्त करें :

browser.windows

वर्तमान विंडो को अधिकतम करें :

browser.window.maximize

वर्तमान पृष्ठ के लिए HTML और टेक्स्ट प्राप्त करें :

browser.text
browser.html

यहां एक टिप भी दी गई है यदि आप आंशिक मिलान वाले तत्वों को देखना चाहते हैं, तो आप रेगुलर एक्सप्रेशन का उपयोग कर सकते हैं।

इसे पसंद करें :

browser.p(text: /ruby/)

सारांश

आपने इस ट्यूटोरियल में वॉटर के बारे में सीखा है, एक रूबी रत्न जो आपको वेब ब्राउज़र को रिमोट कंट्रोल करने की अनुमति देता है ताकि आप कार्यों को स्वचालित कर सकें और पृष्ठों से जानकारी निकाल सकें।

कृपया इस लेख को साझा करें यदि आपको यह मददगार लगा ताकि अधिक लोग इसे ढूंढ सकें!

पढ़ने के लिए धन्यवाद।


  1. वेब से एक्सेल में डेटा कैसे आयात करें (त्वरित चरणों के साथ)

    बड़े Microsoft Excel, . के साथ कार्य करते समय कभी-कभी हमें Excel . में डेटा आयात करने की आवश्यकता होती है वेब से। वेब से डेटा आयात करना एक आसान काम है। यह समय बचाने वाला कार्य भी है। आज, इस लेख में, हम सीखेंगे दो Excel . में डेटा आयात करने के लिए त्वरित और उपयुक्त कदम उपयुक्त चित्रों के साथ वेब स

  1. रास्पबेरी पाई के साथ 3डी प्रिंटर को कैसे नियंत्रित करें

    शुरुआती लोगों के लिए, 3 डी प्रिंटिंग एक कठिन शौक की तरह लग सकता है। हालाँकि, एक बार जब आप यह जान लेते हैं कि सब कुछ कैसे काम करता है, तो 3D प्रिंटिंग मज़ेदार और आनंददायक बन सकती है। शुरुआती लोगों के लिए, विंडोज 10 के साथ उपयोग करने के लिए प्लग-एंड-प्ले 3 डी प्रिंटर खरीदना आकर्षक हो सकता है। कुछ उदाह

  1. अपने वेब ब्राउज़र से GIF को ऑटोप्लेइंग अक्षम कैसे करें

    एनिमेटेड जीआईएफ स्थिर छवियों को जीवंत करने का सबसे अच्छा तरीका है। वे विभिन्न छवि प्रारूपों (जेपीईजी, पीएनजी) की तुलना में संदेश और सूचना को आसानी से और बेहतर तरीके से संप्रेषित करते हैं। वे दिलचस्प हैं, मजाकिया हैं, एक समय में आत्म व्याख्यात्मक और अर्थहीन हो सकते हैं। उनके बारे में सबसे अच्छी बात य