पेज को नीचे या ऊपर कैसे स्क्रॉल करें? Selenium वेबड्राइवर

⚡ स्मार्ट सारांश

पेज को स्क्रॉल करते हुए Selenium वेबड्राइवर इसका उपयोग करता है Javascriptएक्ज़ीक्यूटर इंटरफ़ेस चलाने के लिए Javaस्क्रिप्ट स्क्रॉल कमांड, क्योंकि वेबड्राइवर सीधे DOM को नियंत्रित करता है। चार व्यावहारिक परिदृश्य पिक्सेल द्वारा स्क्रॉल करने, किसी तत्व तक स्क्रॉल करने, पृष्ठ के निचले भाग तक स्क्रॉल करने और क्षैतिज रूप से स्क्रॉल करने को कवर करते हैं।

  • 📜 Javascriptनिष्पादक: रन Javaस्क्रिप्ट स्क्रॉल कमांड के माध्यम से Selenium वेबड्राइवर.
  • 🔢 पिक्सेल के अनुसार स्क्रॉल करें: window.scrollBy(x,y) पेज को निर्धारित संख्या में पिक्सल तक ले जाता है।
  • 🎯 एलिमेंट तक स्क्रॉल करें: scrollIntoView() फ़ंक्शन तब तक स्क्रॉल करता है जब तक कि लक्ष्य तत्व पूरी तरह से दिखाई न दे।
  • ⬇️ सबसे नीचे तक स्क्रॉल करें: document.body.scrollHeight के साथ scrollTo करने पर पृष्ठ का अंत आ जाता है।
  • क्षैतिज स्क्रॉल: scrollIntoView स्क्रीन से बाहर के तत्वों की ओर भी अगल-बगल चलता है।
  • 🧭 स्क्रॉलबार की मूल बातें: स्क्रॉल करने पर वे तत्व दिखाई देते हैं जो दृश्य में आने पर ही लोड होते हैं।

पेज को नीचे या ऊपर स्क्रॉल करें Selenium वेबड्राइवर

स्क्रॉल करें Selenium

स्क्रॉल करने के लिए Selenium, आप उपयोग कर सकते हैं Javaस्क्रिप्टएक्सीक्यूटर इंटरफ़ेस जो निष्पादित करने में मदद करता है Javaस्क्रिप्ट विधियों के माध्यम से Selenium वेबड्राइवर

सिंटेक्स:

JavascriptExecutor js = (JavascriptExecutor) driver;  
   js.executeScript(Script,Arguments);
  • स्क्रिप्ट – यह है Javaस्क्रिप्ट जिसे निष्पादित करने की आवश्यकता है.
  • तर्क - यह स्क्रिप्ट के लिए तर्क है। यह वैकल्पिक है।

स्क्रॉलबार क्या है?

स्क्रॉलबार आपको स्क्रीन पर क्षैतिज या ऊर्ध्वाधर दिशा में घूमने की सुविधा देता है, यदि वर्तमान पृष्ठ स्क्रॉल स्क्रीन के दृश्य क्षेत्र में फिट नहीं होता है। इसका उपयोग विंडो को ऊपर और नीचे ले जाने के लिए किया जाता है।

Selenium वेबड्राइवर को कार्य करने के लिए स्क्रॉल की आवश्यकता नहीं होती है क्योंकि यह DOM में हेरफेर करता है। लेकिन कुछ वेब पेजों में, तत्व केवल तभी दिखाई देते हैं जब उपयोगकर्ता उन तक स्क्रॉल करता है। ऐसे मामलों में स्क्रॉल करना आवश्यक हो सकता है।

स्क्रॉल बार दो प्रकार के होते हैं: क्षैतिज और ऊर्ध्वाधर स्क्रॉल बार जैसा कि नीचे स्क्रीनशॉट में दिखाया गया है।

स्क्रॉलबार

स्क्रॉलबार

Selenium पृष्ठ को नीचे स्क्रॉल करने के लिए स्क्रिप्ट

आइए, निम्नलिखित 4 परिदृश्यों के साथ सेलेनियम वेबड्राइवर का उपयोग करके एक वेब पेज को नीचे स्क्रॉल करते हुए देखें:

  • परिदृश्य 1: वेब पेज को पिक्सेल के आधार पर नीचे स्क्रॉल करना।
  • परिदृश्य 2: तत्व की दृश्यता के आधार पर वेब पेज को नीचे स्क्रॉल करना।
  • परिदृश्य 3: वेब पेज को पृष्ठ के निचले भाग पर स्क्रॉल करना।
  • परिदृश्य 4: वेब पेज पर क्षैतिज स्क्रॉल.

परिदृश्य 1: वेब पेज को पिक्सेल के आधार पर नीचे स्क्रॉल करना।

Selenium लिपि

import org.openqa.selenium.JavascriptExecutor;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.testng.annotations.Test;

public class ScrollByPixel {

    WebDriver driver;
    @Test
    public void ByPixel() {
        System.setProperty("webdriver.chrome.driver", "E://Selenium//Selenium_Jars//chromedriver.exe");
        driver = new ChromeDriver();

        JavascriptExecutor js = (JavascriptExecutor) driver;

        // Launch the application		
        driver.get("https://demo.guru99.com/test/guru99home/");

        //To maximize the window. This code may not work with Selenium 3 jars. If script fails you can remove the line below		
        driver.manage().window().maximize();

        // This  will scroll down the page by  1000 pixel vertical		
        js.executeScript("window.scrollBy(0,1000)");
    }
}

लिपि Descriptआयनउपरोक्त कोड में सबसे पहले हम दिए गए कमांड को लॉन्च करते हैं। URL Chrome ब्राउज़र में। फिर, executeScript के माध्यम से पेज को 1000 पिक्सल स्क्रॉल करें। Javascript विधि ScrollBy() वेब पेज को विशिष्ट संख्या में पिक्सेल तक स्क्रॉल करती है।

ScrollBy() विधियों का सिंटैक्स है:

executeScript("window.scrollBy(x-pixels,y-pixels)");

x-पिक्सल, x-अक्ष पर स्थित संख्या है, यदि संख्या धनात्मक है तो यह बाईं ओर चलती है और यदि संख्या ऋणात्मक है तो यह दाईं ओर चलती है। y-पिक्सल, y-अक्ष पर स्थित संख्या है, यदि संख्या धनात्मक है तो यह नीचे की ओर चलती है और यदि संख्या ऋणात्मक है तो यह ऊपर की ओर चलती है।

उदाहरण:

js.executeScript("window.scrollBy(0,1000)"); //Scroll vertically down by 1000 pixels

आउटपुट विश्लेषण : जब आप उपरोक्त स्क्रिप्ट निष्पादित करते हैं तो आउटपुट यहां दिया गया है।

पिक्सेल द्वारा वेब पेज को नीचे स्क्रॉल करें

परिदृश्य 2: तत्व की दृश्यता के आधार पर वेब पेज को नीचे स्क्रॉल करना।

Selenium लिपि

import org.openqa.selenium.By;
import org.openqa.selenium.JavascriptExecutor;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import org.testng.annotations.Test;

public class ScrollByVisibleElement {

    WebDriver driver;
    @Test
    public void ByVisibleElement() {
        System.setProperty("webdriver.chrome.driver", "G://chromedriver.exe");
        driver = new ChromeDriver();
        JavascriptExecutor js = (JavascriptExecutor) driver;

        //Launch the application		
        driver.get("https://demo.guru99.com/test/guru99home/");

        //Find element by link text and store in variable "Element"        		
        WebElement Element = driver.findElement(By.linkText("Linux"));

        //This will scroll the page till the element is found		
        js.executeScript("arguments[0].scrollIntoView();", Element);
    }
}

लिपि Descriptआयन: ऊपर दिए गए कोड में, हम सबसे पहले क्रोम ब्राउज़र में दिए गए URL को लॉन्च करते हैं। फिर, पेज को तब तक स्क्रॉल करते हैं जब तक कि उल्लेखित तत्व वर्तमान पेज पर दिखाई न दे। Javascript विधि scrollIntoView() पृष्ठ को तब तक स्क्रॉल करती है जब तक कि उल्लिखित तत्व पूर्ण दृश्य में न आ जाए:

js.executeScript("arguments[0].scrollIntoView();",Element );

“arguments[0]” का अर्थ है 0 से शुरू होने वाला पेज का पहला इंडेक्स।

जहाँ एक "एलिमेंट" वेब पेज पर लोकेटर है।

आउटपुट विश्लेषण : जब आप उपरोक्त स्क्रिप्ट निष्पादित करते हैं तो आउटपुट यहां दिया गया है।

 तत्व की दृश्यता के अनुसार वेब पेज को नीचे स्क्रॉल करें

परिदृश्य 3: वेब पेज को पृष्ठ के निचले भाग पर स्क्रॉल करना।

Selenium लिपि

import org.openqa.selenium.JavascriptExecutor;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.testng.annotations.Test;

public class ScrollByPage {

    WebDriver driver;
    @Test
    public void ByPage() {
        System.setProperty("webdriver.chrome.driver", "E://Selenium//Selenium_Jars//chromedriver.exe");
        driver = new ChromeDriver();

        JavascriptExecutor js = (JavascriptExecutor) driver;

        // Launch the application		
        driver.get("https://demo.guru99.com/test/guru99home/");

        //This will scroll the web page till end.		
        js.executeScript("window.scrollTo(0, document.body.scrollHeight)");
    }
}

लिपि Descriptआयन : ऊपर दिए गए कोड में, हम सबसे पहले क्रोम ब्राउज़र में दिए गए URL को लॉन्च करते हैं। फिर, पेज के नीचे तक स्क्रॉल करते हैं। Javascript scrollTo() विधि पृष्ठ के अंत तक स्क्रॉल करती है।

js.executeScript("window.scrollTo(0, document.body.scrollHeight)");

“document.body.scrollHeight” बॉडी यानी वेब पेज की पूरी ऊंचाई लौटाता है।

आउटपुट विश्लेषण: जब आप उपरोक्त स्क्रिप्ट निष्पादित करते हैं तो आउटपुट इस प्रकार है।

पृष्ठ के निचले भाग में वेब पेज को नीचे स्क्रॉल करें

परिदृश्य 4: वेब पेज पर क्षैतिज स्क्रॉल

Selenium लिपि

import org.openqa.selenium.By;
import org.openqa.selenium.JavascriptExecutor;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import org.testng.annotations.Test;

public class HorizontalScroll {

    WebDriver driver;
    @Test
    public void ScrollHorizontally() {
        System.setProperty("webdriver.chrome.driver", "E://Selenium//Selenium_Jars//chromedriver.exe");
        driver = new ChromeDriver();

        JavascriptExecutor js = (JavascriptExecutor) driver;

        // Launch the application		
        driver.get("https://demo.guru99.com/test/guru99home/scrolling.html");

        WebElement Element = driver.findElement(By.linkText("VBScript"));

        //This will scroll the page Horizontally till the element is found		
        js.executeScript("arguments[0].scrollIntoView();", Element);
    }
}

लिपि Descriptआयन : ऊपर दिए गए कोड में, हम सबसे पहले क्रोम ब्राउज़र में दिए गए URL को लॉन्च करते हैं। फिर, पेज को क्षैतिज रूप से स्क्रॉल करें जब तक कि उल्लिखित तत्व वर्तमान पेज पर दिखाई न दे। Javascript विधि scrollIntoView() पृष्ठ को तब तक स्क्रॉल करती है जब तक कि उल्लिखित तत्व पूर्ण दृश्य में न आ जाए:

js.executeScript("arguments[0].scrollIntoView();",Element );

आउटपुट विश्लेषण: जब आप उपरोक्त स्क्रिप्ट निष्पादित करते हैं तो आउटपुट इस प्रकार है।

वेब पेज पर क्षैतिज स्क्रॉल

इस बारे में अधिक जानें Javaस्क्रिप्ट निष्पादक

अक्सर पूछे जाने वाले प्रश्न

window.scrollBy के साथ ऋणात्मक पिक्सेल मान का उपयोग करें, उदाहरण के लिए js.executeScript में window.scrollBy(0,-1000)। ऋणात्मक y-मान पृष्ठ को ऊपर की ओर स्क्रॉल करता है, जबकि धनात्मक मान पृष्ठ को नीचे की ओर स्क्रॉल करता है।

हाँ। आप किसी एलिमेंट को Keys.PAGE_DOWN, Keys.END या एरो कीज़ भेज सकते हैं, या Actions क्लास का उपयोग कर सकते हैं। Selenium 4. Javascriptकार्यकारी सबसे लचीला विकल्प बना हुआ है।

ब्राउज़र केवल दिखाई देने वाले व्यूपोर्ट को ही कैप्चर करते हैं, इसलिए स्क्रिप्ट पेज को स्क्रॉल करती हैं, सेक्शन कैप्चर करती हैं और उन्हें एक साथ जोड़ती हैं। स्क्रॉल करने से स्क्रीनशॉट से पहले इमेज और कंटेंट भी धीरे-धीरे लोड होते हैं।

जी हां। एआई सहायक साधारण निर्देशों से स्क्रॉल बाय, स्क्रॉल इन टू व्यू और स्क्रॉल टू स्निपेट तैयार करते हैं और पिक्सेल गणित की व्याख्या करते हैं। Revअपने सूट में इन्हें चलाने से पहले लोकेटर और प्रतीक्षा स्थितियों की जाँच कर लें।

कृत्रिम बुद्धिमत्ता (AI) द्वारा संचालित उपकरण यह पता लगाते हैं कि नई सामग्री कब लोड होना बंद हो जाती है, स्क्रॉल की गहराई को गतिशील रूप से समायोजित करते हैं और तत्वों के लिए बुद्धिमानी से प्रतीक्षा करते हैं। इससे पिक्सेल गणना को हार्ड-कोड किए बिना अनंत-स्क्रॉल फ़ीड का परीक्षण स्वचालित हो जाता है।

scrollBy कमांड पेज को वर्तमान स्थिति से निश्चित संख्या में पिक्सल आगे-पीछे करता है। scrollIntoView कमांड किसी विशिष्ट एलिमेंट के दिखाई देने तक स्क्रॉल करता है। दूरी मापने के लिए scrollBy और एलिमेंट को टारगेट करने के लिए scrollIntoView का उपयोग करें।

इस पोस्ट को संक्षेप में इस प्रकार लिखें: