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

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

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

सिंटेक्स:

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

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 को लॉन्च करते हैं। इसके बाद, 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स्क्रिप्ट निष्पादक

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

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

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

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

स्क्रॉलबार

स्क्रॉलबार

सारांश

  • उपरोक्त ट्यूटोरियल में, हम विभिन्न परिदृश्यों के माध्यम से वेब पेज के स्क्रॉल को चित्रित करते हैं।
  • पहले परिदृश्य में, हमने पृष्ठ पर पिक्सेल के आधार पर नीचे की ओर स्क्रॉल दिखाया।
  • दूसरे परिदृश्य में, हमने पृष्ठ को तब तक नीचे स्क्रॉल किया जब तक कि तत्व दिखाई न देने लगे।
  • तीसरे परिदृश्य में, हमने पृष्ठ के नीचे स्क्रॉल को दिखाया।
  • चौथे परिदृश्य में, वेब पेज पर क्षैतिज स्क्रॉल को चित्रित किया गया है।

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