पेज को नीचे या ऊपर कैसे स्क्रॉल करें? 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 में हेरफेर करता है। लेकिन कुछ वेब पेजों में, तत्व केवल तभी दिखाई देते हैं जब उपयोगकर्ता उन तक स्क्रॉल करता है। ऐसे मामलों में स्क्रॉल करना आवश्यक हो सकता है।
स्क्रॉल बार दो प्रकार के होते हैं: क्षैतिज और ऊर्ध्वाधर स्क्रॉल बार जैसा कि नीचे स्क्रीनशॉट में दिखाया गया है।
सारांश
- उपरोक्त ट्यूटोरियल में, हम विभिन्न परिदृश्यों के माध्यम से वेब पेज के स्क्रॉल को चित्रित करते हैं।
- पहले परिदृश्य में, हमने पृष्ठ पर पिक्सेल के आधार पर नीचे की ओर स्क्रॉल दिखाया।
- दूसरे परिदृश्य में, हमने पृष्ठ को तब तक नीचे स्क्रॉल किया जब तक कि तत्व दिखाई न देने लगे।
- तीसरे परिदृश्य में, हमने पृष्ठ के नीचे स्क्रॉल को दिखाया।
- चौथे परिदृश्य में, वेब पेज पर क्षैतिज स्क्रॉल को चित्रित किया गया है।






