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

स्क्रॉल करें 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स्क्रिप्ट निष्पादक






